antrix
Antrix基于QPL(Q Public License)协议,也是开源协议的一种,如果说到QT也许大家就知道了,这是著名Linux桌面系统KDE基于的一个图形库软件,QT以前使用的就是 QPL协议,后来改为GPL。QPL的特点是强迫的自由,如果你的代码和工作使用到了一点基于QPL的代码,你就必须公开你的源代码。甚至包括你只连接了 它的函数库,或者你在开发的过程中使用了QPL的软件,但在发布的软件里面并不包含QPL的代码,你也必须公开的你的源代码。
Antrix的代码结构是多平台的,可以在Linux,FreeBSD,Windows, MacOSX上编译运行。实现这一点也是很不容易。它的性能出众的重要的方面就是其网络处理能力,使用了异步套接字编程技术(Asynchronous Socket Programming)。其Linux平台上的实现是利用了Linux2.6.x以上内核的epoll系统调用。使得服务器程序能够“同时”处理大量的客户端连接。
Antrix现在官方支持2.1.0TBC(燃烧的远征)来测试。也有客户端使用2.1.x测试的。与Mangos类似,Antrix只是一个独立的游戏服务器引擎,其内容数据库由别的小组独立开发,游戏相关内容有测试用户自己提取。
下面是在Linux下编译Antrix的步骤(按照我的步骤,你编译的是其开发代码仓库里面最新的代码,所以版本就是最新的),我在自己的Debian服务器上测试的,如果是Ubuntu或者是其他的Debian的衍生版本应该都一样,最好现安装好MySql服务器。
在命令行下进入root用户,或者使用sudo
1. 安装subversion用于提取源码
apt-get install subversion
2. 安装基本的编译工具,函数库,压缩工具等
apt-get install make automake gcc g++
apt-get install libtool
apt-get install zlib1g-dev
3. 安装mysql客户端函数库以及SSL函数库
apt-get install libmysqlclient15-dev
apt-get install libssl-dev
4. 退出根用户,提取antrix源代码,下载到当前的antrix目录(自动建立)
svn co svn://emupedia.com/svn/antrix antrix
5. 进入antix目录,按步骤打入一下的命令进行编译安装antrix:
chmod +x reconf
./reconf
./configure
make
make install
6. 编译成功以后,两个启动服务器的可执行文件在antrix/bin目录下。运行之前先在antrix建立etc目录antrix/etc,并且将三个配置文件antrix.conf,logonserver.conf ,realms.conf从src目录拷贝到etc目录下,你可以修改配置。在windowsPC下你可以从你的魔兽世界客户端里面提取地图和游戏内容,步骤和可以参照的开源的魔兽世界一文。当然你需要新的地图提取工具 和MPQ提取工具 。把提取的地图和DBC文件放入antrix/bin目录下。当然你还需要游戏数据库内容,现在支持Antrix的数据库内容叫OBDB,你可以参照以下两篇文章下载和安装
http://emupedia.com/forums/showthread.php?t=10685
http://emupedia.com/forums/showthread.php?t=8361
7. 如果所有的步骤都没有问题,配置文件修改正确就应该可以运行服务器了。你可以在两个窗口打入以下两个命令。
./logonserver
./antrix
或者使用Linux的nice命令来降低服务器对CPU的使用:
nice -7 ./antrix
nice -7 ./logonserver
有兴趣的朋友可以测试一下。有的朋友问我有没有99nets的邀请,我可以告诉大家,我没有,我也和99nets没有任何关系。99nets好像也 是有讨论antrix,mangos的,但是不知出于什么目的,很奇怪却需要邀请注册,因为antrix,mangos的官方论坛都是没有限制注册的。开 源和自由软件的精神就是信息共享,大家贡献力量。另外即使99nets做了自己的汉化工作,按照GPL,或者QPL协议,这些工作也应当公开出来。不然就 像国内的很多Linux厂商把Linux本身的创新作为自己的成果,汉化一下,中文化一下还作为专利申请不回报社区,不但有违社区精神,深究起来还是违法的,因为没有遵守原来软件的GPL或者QPL的协议。