当前,
CN 2.3.0
测试服已发布。此文档及上游项目已支持此版本。感谢 xavo95 和 xeondev。
此文档针对CN 2.3.0
测试服,不保证在未来正确无误。
目前,私服仅支持基本移动(“散步模拟器”)和抽卡,不支持怪物自然生成和任务。请确认您真的需要私服,时间和精力同样昂贵。
私服只适用于新版本爆料、游戏开发分析、地图研究等用途,不适用于一般玩家。
为了高效而无误地部署它,请确保您有基本的软件开发经验。
加入私服作者的 Discord 服务器免费获取全部所需文件。
xeondev 的私服是免费的,任何通过付费购买的软件都是诈骗。
需求
- 基本的英语阅读能力
- 能操作 Windows 下的命令行
- 理解 Windows 下路径、Git、命令行的基本概念
- 访问国际互联网(如果使用代理软件,使用 TUN/虚拟网卡 模式)
- 基本的软件开发经验
为了确保万无一失,请确保用户文件夹名只包含 ASCII 字符。
必要的工具
请提前安装这些工具,不提供详细教程。
Windows 终端
Windows 11 预装,但以防万一:Microsoft Store
Scoop 命令行应用管理器
终端(PowerShell)执行:
VSCode 文本编辑器
从主页下载。
Visual Studio(使用 C++ 的桌面开发) Rust/C++ 编译环境需求
Microsoft C++ 生成工具或许也有用。
When installing build tools, these two components should be selected:
- MSVC - VS C++ x64/x86 build tools
- Windows SDK
步骤
所有涉及的 URL 都可以在私服作者的 Discord 服务器中的已标注消息找到。
我们将使用 Windows 11 下的 Windows Terminal(终端)和 PowerShell,而非命令提示符。假定您的游戏安装和开发目录都位于D:
下。
下载测试版游戏客户端
若启动器强制更新,请根据更新版本动态调整补丁文件中filechecklist.json
的内容。启动器似乎可以在删除
filechecklist.json
的情况下运行,此文件或许不是必需的。
下载CN 测试版启动器,使用 Discord 中的文件(filechecklist.json
、krfeapp.dat
和KRApp.conf
)修补启动器,即可免登录下载客户端:
|
|
假定启动器安装在D:\Program Files\Wuthering Waves(Beta)
。
准备环境
打开 Windows 终端(不需要管理员权限),执行:
在执行pg_ctl start
后,保持此窗口开启,数据库在此处运行。
这里安装的数据库超级用户为postgres
,密码为空。
无需修改服务器配置文件中的数据库设置,因为此处的默认值与配置默认值相同。
克隆源码并构建补丁 DLL
这里克隆的源码可能没有全部实际使用(因为可能下载了已构建的可执行文件),但为了研究方便,推荐克隆所有相关代码库。
此教程不包括维护这些代码库和保持更新的方法。
在D:
下新建文件夹WuWaPS
,在资源管理器中进入此文件夹,右键空白处,选择“在终端中打开”。
执行:
构建补丁 DLL 完成后,将D:\WuWaPS\wicked-waifus-win-patch\build\regular\wicked-waifus-win-cn_beta_2_3_0-regular.dll
复制到D:\Program Files\Wuthering Waves(Beta)\Wuthering Waves (Beta) Game\Client\Binaries\Win64
下。
或者:
https://git.xeondev.com/wickedwaifus/wicked-waifus-win-patch/releases或许有已构建的 DLL,可直接使用。
下载补丁 Pak
在https://git.xeondev.com/wickedwaifus/wicked-waifus-pak/releases/tag/2.3.0下载补丁 Pak,将下载的rr_fixes_100_p.pak
复制到D:\Program Files\Wuthering Waves(Beta)\Wuthering Waves (Beta) Game\Client\Content\Paks
。
构建服务器并试运行
这里只是试运行,确保构建成功即可。服务器程序运行后异常退出此时是正常的,因为尚未建立数据库。
使用
cargo build
可以一次性构建所有必要的部件,但试运行也有好处。
在D:\WuWaPS\wicked-waifus-rs
下打开终端(在资源管理器中进入此文件夹,右键空白处,选择“在终端中打开”)。
逐个执行,并在服务器构建完成并运行时按下 Ctrl + C 终止运行服务器:
此时,由于尚未建立对应的数据库,服务器程序可能会异常退出,暂时忽略。
新建数据库shorekeeper
可以通过命令行创建数据库,但是为了用户友好,此处使用图形化界面。
在开始菜单打开pgAdmin 4
,选择Add New Server
,General-Name
和Connection-Host name/address
均填入127.0.0.1
,点击Save
即可连接。
在左侧服务器列表中,右键127.0.0.1
,选择Create-Database
,Database
填入shorekeeper
,点击Save
。
下载并安置launcher
下载https://git.xeondev.com/xavo95/launcher/src/branch/master/samples/ww.toml和https://git.xeondev.com/xavo95/launcher/releases的最新版本launcher.exe
。
将它们复制到D:\Program Files\Wuthering Waves(Beta)\Wuthering Waves (Beta) Game\Client\Binaries\Win64
下,并将ww.toml
重命名为config.toml
。
编辑config.toml
并保存:
|
|
正式运行服务器程序
在D:\WuWaPS\wicked-waifus-rs
打开五个终端(在资源管理器中进入此文件夹,右键空白处,选择“在终端中打开”),分别执行:
确保它们没有异常退出。
通过launcher
运行游戏客户端
一些教程会建议您在此关闭所有的代理软件,您可以这样操作。
实际上,如果您的代理软件可以正确处理
127.0.0.1
,那么或许可以不关闭它们。
在D:\Program Files\Wuthering Waves(Beta)\Wuthering Waves (Beta) Game\Client\Binaries\Win64
右键launcher.exe
,选择“以管理员身份运行”。
或者:
右键开始菜单按钮,选择“终端管理员”,执行:
如果没有发生任何错误,应该可以使用任意 ID 进入游戏。
配置游戏服务器
第一次运行后,D:\WuWaPS\wicked-waifus-rs
下会自动生成服务器配置文件。其中,gameserver.toml
用于配置实际的游戏体验。
|
|
[default_unlocks]
下的配置可以修改为true
以实现对应的功能。修改后请停止并重新启动对应的服务器程序(这里是wicked-waifus-game-server
)。每次修改配置后,请新建玩家账号以应用新的配置。
再次启动服务器
部署成功并关闭服务器后,要再次启动服务器,在D:\WuWaPS\wicked-waifus-rs
打开六个终端(在资源管理器中进入此文件夹,右键空白处,选择“在终端中打开”),分别执行:
技术细节
技术栈
- Rust
- PostgreSQL
部件功能
- CN 测试版启动器和补丁:用于免登录下载测试版游戏客户端
- 补丁 DLL(
wicked-waifus-win-patch
):需要注入的 DLL,绕过 Pak 校验,修改服务器 URL,禁用 Kuro SDK - 补丁 Pak(
wicked-waifus-pak
):需要绕过 Pak 校验,禁用 TpSafe,禁用 Kuro SDK,修改 VisionRecommendController,修改登录界面 BGM launcher
(xavo95/launcher
):DLL 注入工具- 服务器主项目(
wicked-waifus-rs
):基于逆向工程的游戏服务器实现
默认角色配队
根据Characters IDs和data\assets\game-data\BinData\RoleInfo.json
修改wicked-waifus-game-server\src\logic\role\formation.rs
:
任何对服务器端的修改都推荐清空数据库,至少新建玩家账户。
修改默认角色可能会导致“网络问题”提示,此时,关闭unlock_all_roles
或许有帮助。
默认角色效果
参考data\assets\game-data\BinData\Buff.json
修改wicked-waifus-game-server\src\logic\ecs\buf.rs
:
|
|
扩充资料
也有一个其他人制作的视频教程,但以本文优先。