上次简单介绍了下trinity-realm的概况,现在开始介绍trinity-core。这部分是trinity core2的重要部分,完成绝大部分的工作。trinity-core的构成十分复杂,我们首先摒除和业务逻辑相关部分,首先介绍下他的主要构成。
1、网络部分,这部分他是使用现成的ACE框架。
2、地图部分,这个部分有2块,一个是从mpq中导出的map文件,居多。另外一个似乎是trinitycore2从mpq中,生成自定义的vmap文件,还没有深入研究。
3、数据库部分。原先设计部分,应该支持多种数据库,不过现在似乎集中支持MYSQL,这问题倒不大,实际上只是接口的问题。在我的计划中,准备将他移植到内存数据库或者分布式内存数据库,比如memcached以及诸如此类。还有一部分数据,是从MPQ中提取出来得dbc文件,也是类似于数据库文件的东西。这部分没有导入到数据库中。
4、脚本部分,有个专门trinity script工程,脚本部分感觉和我们通常认识的不太一样,应该是C++写得二进制模块。待研究。
5、3D部分,这部分感觉应该跟地图那块有关。待研究
6、AI部分,这块涉及还不是很多。MMORPG的人工智能应该不算太复杂,毕竟多数都是实现编写好的程序。待研究
7、RA部分。Remote Access,远程访问,这对服务程序十分重要,GM可以通过他输入命令来监控系统状态。他使用的是自己写的东西,感觉比较简单,计划使用我自己写的libevtd来替换他。
上面讲完了基本结构,后续将针对每个模块,进行细节的研究。