70级服务器下发实时仇恨
2025年6月4日大约 2 分钟
70级服务器下发实时仇恨
目前已知3.3.5客户端会将服务器详细仇恨下发到客户端,但是1.14.2和2.4.3客户端,也就是60和70服务器并不会下发仇恨。
本文就是一篇让2.4.3(目前只支持2.4.3,功能经过时间考验后会开放60)服务器,如何将仇恨准确的下发到2.5.3客户端。
目前只支持TBC服务器,将仇恨下发到2.5.3客户端
最少要将黑兔更新到1.10.9版本
梳理逻辑
这个功能的前置条件
- 首先要让服务器识别到黑兔的2.5.3客户端,并且知道当前黑兔的版本,支持了哪些2.5.3扩展功能。因为服务器并不需要将所有数据包下发给2.5.3客户端,有可能老版本的黑兔不支持这个功能,全部下发会浪费服务器流量
- 服务器也不应该将仇恨下发给2.4.3客户端,因为2.4.3客户端根本不支持这个功能。下发也是浪费
- 就是如何实现,这个最为简单,因为我会在后面提供完整的代码
实现细节
首先使用黑兔的2.5.3客户端登录服务器成功之后,需要服务器先发送一个SMSG_HEITU_HELLO协议,黑兔受到之后会尝试发送一个协议 CMSG_HEITU_HELLO 到服务器,协议体的第一个字节如果是1,那就是黑兔客户端支持仇恨扩展的功能
下面是涉及到的一些自定义协议
V243opcode.CMSG_HEITU_HELLO=0x424
V243opcode.SMSG_HEITU_HELLO = 0x429
V243opcode.SMSG_HEITU_THREAT_CLEAR=0x425
V243opcode.SMSG_HEITU_THREAT_REMOVE=0x426
V243opcode.SMSG_HEITU_THREAT_UPDATE=0x427
V243opcode.SMSG_HEITU_HIGHEST_THREAT_UPDATE=0x428
代码细节
为了不太懂代码的爱好者,我特意拉了一个cmangs-tbc的源码,并且在这个上面完成了这个功能。 并且可以看到我的提交细节,这样方便拉取代码
项目地址
https://github.com/zyfei/mangos-tbc-heitu
有问题的话可以通过问答社区和我交流