Rusted Warfare诞生于 8 年前。设计灵感来自于《命令与征服》和《横扫千军》.
RW-Server的构想提出
早在2018年的时候,在游戏的过程中发现,官方的Server处于US/非CN 的地区。导致游戏延迟感动中国。
这种时候 我就在想,能不能有一种第三方的服务器,可以在CN内进行Play game。
RW游戏的逆向
在版本中, 逆向出了数据包, 但当时技术有限,无法进行Custom Server
RW-HPS的实现
2020的一天,列表出现了一台名字为 Rukkit 的Server,在这种时候, 也就想起了以前对Custom Server的构想
而通过研究游戏的源码以及对Rukkit的实现做了研究, 我重新开了一条Rukkit的分支(都是Miku太懒不更新),这条分支在后面改为 RW-HPS 并延伸成一个团队
- 游戏的包结构是
1
2
3
4
5
61 2 3 4 5 6 7 8 ...
+-+-+-+-+-+-+-+-+---------------+
|0 |0 |0 |0 |0|0|0|0| Data|
+-+-+-+-+-+-+-+-+---------------+
|Data length| Type | Data
+---------------+---------------+
通过这个我们可以发现 Luke
对于游戏单个 Packet
的定义是 长度+类型+数据
那么我们就可以开始写一个解析器了
1 | // 这是Java8的新语法 |
通过解析单个 Packet
我们就知道客户端要做什么