现在的位置:首页 > 脚本相关(C++) >

让mangos支持任意客户端


本站发布于2008-01-05 19:56:07 芒果中文

look at src/shared/Common.h file and searchcode: 1: #define EXPECTED_MANGOS_CLIENT_BUILD {5302,0} 5302 is the ID of client version ! you can add other client version ID to suport !! e.g. code: 1: {5230,5302, 0}


首先如果对C++没有基本的概念,那我也没办法了,如果对C++还算熟悉,能自己修改src/shared/Common.h代码然后重新编译,那么可以继续看下面。

上文给的{5230,5302, 0}这样的代码其实就是魔兽世界的发行号,你看你的魔兽世界的补丁的文件名,比如1.12.3版:WoW-1.12.1.5875-to-1.12.3.6141-zhCN-patch.exe,前面三个数字1.12.3叫版本号,紧跟着6141叫发行号,每一个魔兽世界的版本里面版本号和发行号都是唯一的,所以1.12.3可以代表这个魔兽世界的版本,6141也可以代表这个魔兽世界的版本,也就是当别人说起我的魔兽世界是1.12.3或是6141版,都代表一个版本,只不过是两种不同的表示方法。在你的魔兽世界客户端目录的Logs目录,有一个Blizzard Updater Log.html的文件,双击打开,可以看到你的魔兽世界的升级过程,最上面就是你当前的魔兽世界的版本,比如我的:魔兽世界 Update (1.12.1.5875 - 1.12.3.6141),那么就是1.12.3版,也就是6141版。

好了,明白了魔兽世界的版本号表示方法,那么修改就容易了,看看代码{5230,5302, 0},那么代表这个服务端支持1.10.1和1.10.2,怎么看出来的?看你的补丁程序,WoW-1.10.1.5230-to-1.10.2.5302-zhCN-patch.exe,WoW-1.10.0.5195-to-1.10.1.5230-zhCN-patch.exe,WoW-1.10.2.5302-to-1.11.0.5428-zhCN-patch.exe等等都可以看出来。 下面的任务就是比如要支持最新的1.12.3,发行代号是6141(随便找个1.12.3的补丁,看文件名,WoW-1.12.1.5875-to-1.12.3.6141-zhCN-patch.exe),那么只要在src/shared/Common.h里面把#define EXPECTED_MANGOS_CLIENT_BUILD {5302,0}宏修改成#define EXPECTED_MANGOS_CLIENT_BUILD {5302,6141,0},然后重新编译,那么编译后的服务端就支持1.10.2和1.12.3了。

要多支持几个客户端,可以多加几个发行号,不过不推荐这么做,为什么?因为不同的客户端功能不尽相同,可能会产生异常,维护也要多考虑不同版本的情况,所以一般只要支持一个客户端版本就可以了。







     声明:本网站部分资源来自互联网,如果您认为侵犯了您的版权,您可以联系我们,我们将在第一时间删除相关内容。
     本站立足开源项目Mangos研究,如果您对此有兴趣,请加入我们。本站QQ群:14646754
     本群拒绝脑残体,脑残体患者、乱码字符ID请在进群后自行更改群名片,否则将视作定期清理对象。