《鸣潮》的 xeondev 私服简要运行教程(2.3 版本)

当前,CN 2.3.0测试服已发布。此文档及上游项目已支持此版本。感谢 xavo95 和 xeondev。

此文档针对CN 2.3.0测试服,不保证在未来正确无误。

目前,私服仅支持基本移动(“散步模拟器”)和抽卡,不支持怪物自然生成和任务。请确认您真的需要私服,时间和精力同样昂贵。

私服只适用于新版本爆料、游戏开发分析、地图研究等用途,不适用于一般玩家。

为了高效而无误地部署它,请确保您有基本的软件开发经验。

加入私服作者的 Discord 服务器免费获取全部所需文件。

xeondev 的私服是免费的,任何通过付费购买的软件都是诈骗。

需求

  • 基本的英语阅读能力
  • 能操作 Windows 下的命令行
  • 理解 Windows 下路径、Git、命令行的基本概念
  • 访问国际互联网(如果使用代理软件,使用 TUN/虚拟网卡 模式)
  • 基本的软件开发经验

为了确保万无一失,请确保用户文件夹名只包含 ASCII 字符。

必要的工具

请提前安装这些工具,不提供详细教程。

Windows 终端

Windows 11 预装,但以防万一:Microsoft Store

Scoop 命令行应用管理器

终端(PowerShell)执行:

1
2
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

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.jsonkrfeapp.datKRApp.conf)修补启动器,即可免登录下载客户端:

1
To work it new 2.0.0.0 place filechecklist.json and krfeapp.dat under <launcher_folder/2.0.0.0> and KRApp.conf under <launcher_folder/2.0.0.0/Assets>

假定启动器安装在D:\Program Files\Wuthering Waves(Beta)

准备环境

打开 Windows 终端(不需要管理员权限),执行:

1
2
3
4
5
6
7
8
scoop install main/git
scoop install main/rustup
scoop install main/postgresql
scoop bucket add extras
scoop install extras/protobuf

rustup update
pg_ctl start

在执行pg_ctl start后,保持此窗口开启,数据库在此处运行。

这里安装的数据库超级用户为postgres,密码为空。

无需修改服务器配置文件中的数据库设置,因为此处的默认值与配置默认值相同。

克隆源码并构建补丁 DLL

这里克隆的源码可能没有全部实际使用(因为可能下载了已构建的可执行文件),但为了研究方便,推荐克隆所有相关代码库。

此教程不包括维护这些代码库和保持更新的方法。

D:下新建文件夹WuWaPS,在资源管理器中进入此文件夹,右键空白处,选择“在终端中打开”。

执行:

1
2
3
4
5
6
git clone --recursive https://git.xeondev.com/wickedwaifus/wicked-waifus-rs.git
git clone https://git.xeondev.com/wickedwaifus/wicked-waifus-win-patch.git
git clone https://git.xeondev.com/xavo95/launcher.git

cd wicked-waifus-win-patch
.\build.bat

构建补丁 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 终止运行服务器:

1
2
3
4
5
cargo run --bin wicked-waifus-config-server
cargo run --bin wicked-waifus-hotpatch-server
cargo run --bin wicked-waifus-login-server
cargo run --bin wicked-waifus-gateway-server
cargo run --bin wicked-waifus-game-server

此时,由于尚未建立对应的数据库,服务器程序可能会异常退出,暂时忽略。

新建数据库shorekeeper

可以通过命令行创建数据库,但是为了用户友好,此处使用图形化界面。

在开始菜单打开pgAdmin 4,选择Add New ServerGeneral-NameConnection-Host name/address均填入127.0.0.1,点击Save即可连接。

在左侧服务器列表中,右键127.0.0.1,选择Create-DatabaseDatabase填入shorekeeper,点击Save

下载并安置launcher

下载https://git.xeondev.com/xavo95/launcher/src/branch/master/samples/ww.tomlhttps://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并保存:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[launcher]
executable_file = 'Client-Win64-Shipping.exe'
cmd_line_args = '-fileopenlog'
current_dir = 'D:\Program Files\Wuthering Waves(Beta)\Wuthering Waves (Beta) Game\Client\Binaries\Win64'
dll_list = ['D:\Program Files\Wuthering Waves(Beta)\Wuthering Waves (Beta) Game\Client\Binaries\Win64\wicked-waifus-win-cn_beta_2_3_0-regular.dll']

[environment]
#environment = ['TESTVAR1=AAAAAA', 'TESTVAR2=AAAAAA']
#use_system_env = true
#environment_append = false

正式运行服务器程序

D:\WuWaPS\wicked-waifus-rs打开五个终端(在资源管理器中进入此文件夹,右键空白处,选择“在终端中打开”),分别执行:

1
2
3
4
5
cargo run --bin wicked-waifus-config-server
cargo run --bin wicked-waifus-hotpatch-server
cargo run --bin wicked-waifus-login-server
cargo run --bin wicked-waifus-gateway-server
cargo run --bin wicked-waifus-game-server

确保它们没有异常退出。

通过launcher运行游戏客户端

一些教程会建议您在此关闭所有的代理软件,您可以这样操作。

实际上,如果您的代理软件可以正确处理127.0.0.1,那么或许可以不关闭它们。

D:\Program Files\Wuthering Waves(Beta)\Wuthering Waves (Beta) Game\Client\Binaries\Win64右键launcher.exe,选择“以管理员身份运行”。

或者:

右键开始菜单按钮,选择“终端管理员”,执行:

1
2
cd "D:\Program Files\Wuthering Waves(Beta)\Wuthering Waves (Beta) Game\Client\Binaries\Win64"
.\launcher.exe

如果没有发生任何错误,应该可以使用任意 ID 进入游戏。

配置游戏服务器

第一次运行后,D:\WuWaPS\wicked-waifus-rs下会自动生成服务器配置文件。其中,gameserver.toml用于配置实际的游戏体验。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
service_id = 2

[database]
host = "localhost:5432"
user_name = "postgres"
password = ""
db_name = "shorekeeper"

[service_end_point]
addr = "tcp://127.0.0.1:10004"

[gateway_end_point]
addr = "tcp://127.0.0.1:10003"

[game_server_config]
resources_path = "data/assets/game-data"
load_textmaps = true
# Do not change yet, issues to be solved
quadrant_size = 1000000

[asset_config]
asset_url = "https://git.xeondev.com/wickedwaifus/wicked-waifus-data/releases/download/pioneer_2.3.1/bundle.zip"
buffer_size = 268435456

[default_unlocks]
unlock_all_roles = true
unlock_all_roles_max_level = false
unlock_all_roles_all_sequences = false
unlock_all_mc_elements = true
unlock_all_weapons = false
unlock_all_adventures = false
unlock_all_functions = true
unlock_all_guides = false
unlock_all_tutorials = false
unlock_all_teleporter = false

[default_unlocks]下的配置可以修改为true以实现对应的功能。修改后请停止并重新启动对应的服务器程序(这里是wicked-waifus-game-server)。每次修改配置后,请新建玩家账号以应用新的配置。

再次启动服务器

部署成功并关闭服务器后,要再次启动服务器,在D:\WuWaPS\wicked-waifus-rs打开六个终端(在资源管理器中进入此文件夹,右键空白处,选择“在终端中打开”),分别执行:

1
2
3
4
5
6
pg_ctl start
cargo run --bin wicked-waifus-config-server
cargo run --bin wicked-waifus-hotpatch-server
cargo run --bin wicked-waifus-login-server
cargo run --bin wicked-waifus-gateway-server
cargo run --bin wicked-waifus-game-server

技术细节

技术栈

  • Rust
  • PostgreSQL

部件功能

  • CN 测试版启动器和补丁:用于免登录下载测试版游戏客户端
  • 补丁 DLL(wicked-waifus-win-patch):需要注入的 DLL,绕过 Pak 校验,修改服务器 URL,禁用 Kuro SDK
  • 补丁 Pak(wicked-waifus-pak):需要绕过 Pak 校验,禁用 TpSafe,禁用 Kuro SDK,修改 VisionRecommendController,修改登录界面 BGM
  • launcherxavo95/launcher):DLL 注入工具
  • 服务器主项目(wicked-waifus-rs):基于逆向工程的游戏服务器实现

默认角色配队

根据Characters IDsdata\assets\game-data\BinData\RoleInfo.json修改wicked-waifus-game-server\src\logic\role\formation.rs

1
2
// Will be updated every version
const DEFAULT_FORMATION: &[i32] = &[5101, 1407, 1507];

任何对服务器端的修改都推荐清空数据库,至少新建玩家账户。

修改默认角色可能会导致“网络问题”提示,此时,关闭unlock_all_roles或许有帮助。

默认角色效果

参考data\assets\game-data\BinData\Buff.json修改wicked-waifus-game-server\src\logic\ecs\buf.rs

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
impl BufManager {
    const PERMANENT_ROLE_BUFFS: &'static [i64] = &[
        3003,      // Remove wall run prohibition
        3004,      // Remove gliding prohibition
        1213,      // Reduce stamina while flying
        1214,      // Reduce stamina while flying in sprint
        1215,      // Reduce stamina while flying up in sprint
        1216,      // Reduce stamina while flying down in sprint
        640012051, // Allow flying -> tag: 1151923109
    ];

扩充资料

也有一个其他人制作的视频教程,但以本文优先。

除非另有说明,此内容使用 CC BY-SA 4.0 许可。
最后更新于 2025-04-06 16:54:16
提交: e16b823d 环境: production Hugo: 0.146.7 主题: 3.30.0-modified 时间: 1745595094079042
本博客内容仅供参考,作者不对其准确性、完整性或适用性作出任何明示或暗示的保证。因使用、引用或解读本博客内容所引发的任何直接或间接后果,作者概不承担任何责任。
本博客可能包含第三方转载内容,相关版权归原作者所有。转载内容仅为分享信息之目的,不代表作者观点。如涉及侵权,请联系删除。
使用 Hugo 构建
主题 StackJimmy 设计