0x00 前言
为什么是【从一开始】?
因为有姐妹篇《从零开始 DIFF Ragnarok 登入器教程(Nemo 版)》。
如果你没有 DIFF 经验,建议先看 Nemo 版的教程,里面阐述了一些基本概念,本篇是基于有 Nemo DIFF 基础的同学去讲解的。
0x10 WARP 是什么 ?
在 rAthena 论坛有一篇 WARP 作者对其的介绍《WARP - A Successor to NEMO》。
看完他的介绍你会发现,WARP 的作者其实也是 Nemo 的开发者之一,他觉得 Nemo 的代码有很多屎山,于是重构了另一个 DIFF 工具 WARP。
截止至 202410, WARP 的 Github 还是有在持续更新的,这点起码比 Nemo 的年更、会稍微好一丢丢吧。
0x20 WARP 与 Nemo
要短时间内学会一个新东西,最好的方法是用一个已学会的东西、通过迁移学习的方式学会它。
在国内,WARP 不像 Nemo 一样被广泛使用,但是它的 GUI 界面与 Nemo 是极为相似的:
先找到 WARP 的 GUI 左上角的扩展侧面板展开按钮 三
,点开后会出现抽屉。
此时再比对两者的 GUI ,可以找到几乎一样的常用操作:
图中标号 | 操作 | WARP | Nemo |
---|---|---|---|
① | 设置 Ragexe 原胚路径 | Source | Input Exe File |
② | 加载 Ragexe 原胚 | Load Source | Load Client |
③ | 所加载 Ragexe 原胚的封包版本 | Loaded Date | Client Loaded |
④ | 加载 Patch 选项配置 | Load Session File | Load Profile |
⑤ | 保存 Patch 选项配置 | Save Session File | Save Profile |
- | Patch 列表区域 | 中间最大的 Patch List | 中间最大的表格 |
⑥ | Patch 选项筛选器 | Filter Expression | Patch Filter |
⑦ | 已配置的 Patch 选项数量 | Selected Patches | Selected Patches |
⑧ | 设置 DIFF Ragexe 输出路径 | Target | Output Patched |
⑨ | 生成 DIFF Ragexe | Apply Patches | Apply Selected |
是不是发现,这样一对比后,马上就学会 WARP 了呢 ?
上图中存在一些非常用的按钮没有标示,如
Load All Scripts
,属于进阶的用法,有需要可以到 WARP Wiki 查看。
顺便再说一下两个工具用到的相关文件的区别:
区别 | WARP | Nemo |
---|---|---|
Ragexe 原胚 | 一般是非公开的定制胚 某些版本可以用 Nemo 的原胚 |
过时的原胚在官网免费公开 最新的原胚需要在 Discord 购买 |
加密 | 无 | 过时的原胚无加密 最新的原胚绑定机器码 |
Patch 存档 | 格式为 *.yml |
格式为 *.log |
Patch 选项 | 支持的 Patch 未公开, 且 Patch 名字、效果、支持的配置项, 都可能与 Nemo 不一致 |
支持的 Patch 在官网公开 |
所谓的原胚是指 KRO 官方客户端脱壳后的 Ragexe
0x30 WARP 使用
到这里已经没什么好说的了,因为只要你会使用 Nemo,然后跟随前面表格所标示的标号操作,你基本就会用 WARP 了。
剩下的事情,只是按需选择你需要的 Patch 并修改它的配置而已。
由于 WARP 没有公开它所支持的 Patch,所以首次使用前,建议先按自己的需要、在 Nemo 配置一次,然后再在 WARP 中通过模糊查询找到这些 Patch 并尝试配置它。
例如需要指定 iteminfo
路径的 Patch 配置项,通过筛选器查找关键字,可以找到:
- WARP:
Customize Iteminfo lub
- Nemo:
Load Custom lua file instead of iteminfo*.lub (Recommended)
两个 Patch 的名称不一样、但都是修改同一个 Patch。
0x40 关于 WARP 原胚 DIFF 的一些情况
前面已经说过,WARP 的每个 Ragexe 原胚都是非公开的定制版。
而 2023 年 KRO 引入了不少新特性、都需要 Ragexe 支持,导致原胚的改动较大。
WARP 针对 2023 的首发原胚版本为 2023-08-09_Ragexe_1691540813.exe
,这里简单记录一下这个原胚 DIFF 时出现的情况。
0x41 优点
- WARP 原胚本身无机器码绑定
- 支持【符文石碑系统】(服务端需要配套的封包源码)
- 支持【新表情系统】(服务端需要配套的封包源码)
- 不仅支持配置字体大小、还支持引用系统字库、定制字体(全局字体为
Customize Font Height (Cell)
)
0x42 缺点(不影响使用)
与 Nemo 共性问题:
- 不支持 data 目录加载,需要打包成 data.grf 然后通过 data.ini 设置优先加载,导致调试相对麻烦一些
- 使用 GRF-Editor 加密 GRF 时,如果修改了 cps.dll 名称,因偏移位置改变,GRF-Editor 无法自动修改 2023 Ragexe 的 dll 名称,需要使用十六进制编辑器(如 c32asm)打开 Ragexe ,进而查找并修改 cps.dll 的名称
WARP 2023 原胚问题:
- 不支持封包密钥
Customize Packet Key
(服务端需要设置的封包密钥为全 0) - 不支持哈希校验
Send MD5 hash packet
(服务端需要关闭 Client Hash 校验) - 游戏窗口右上角关闭按钮
X
被强制移除,只能从游戏内点退出按钮、或右键菜单栏图标关闭 - 菜单栏的游戏图标无法设置,固定是 齿轮 logo
- 不支持定制角色字体颜色(Nemo 关于此项 Patch 的单独零售价为 $200)