TrinityCore 魔兽世界私服11159 完整配置

  1. 为什么要研究TrinityCore ?   
  2. (1)它是一个完整成熟的可运行调试的网游服务器框架。  
  3. (2)它是一个跨平台的标准C++编写的项目,在Windows、Linux、MacOSX上都可编译运行。  
  4. (3)它使用了ACE、OpenSSL、Socket Library等开源库。  
  5. (4)代码质量高,适合于进阶C++高级程序员学习。  

引言: 在2005年魔兽世界正流行时,有一批牛人基于官方WOW客户端生造一个模拟的服务器,这个开源项目叫Mangos,在于帮助人们了解网游服务器开发。 在2008年后,在Mangos的基础上又衍生了一个新的项目TrinityCore,经过多年的积累,魔兽私服TrinityCore已经相当稳定,可以正常的用官方客户端登录私服,体验魔兽世界。  

但是由于魔兽版本过多,每更新一次WOW客户端就得对服务器进行调整,因为一旦客户端修改了网络包以及数据库结构,服务器也得同步更新,因此一个服务器版本只能对应一个指定的客户端版本。 这也导致想配置一个完整的私服环境是困难的,但本人经过两个月的不懈努力,终于成功搭建整个环境(需要各种文件资源的请QQ ME)。 

 

客户端使用官方的3.3.0 11159台服版本,客户端目录如下所示:

 

主要的资源文件为Data目录下的MPQ文件,打包存储了所有的资源文件。因为服务器端也需要部分资源文件,需要从客户端的MPQ文件里提取资源。

 

在11159服务器端包中,找到地图解压工具,如下图

 

将“TC2-3.3.0-V1.0.0.exe”文件放到WOW目录下,执行,得到dbc和maps两个文件夹,将两文件夹放到Trinity_Core_2目录下,作为服务器端资源文件。

 

 

 

从网上下载的源码包如下:

 

win文件夹下存放sln解决方案文件,如下图:

 

src文件夹下存放源代码文件。

sql文件夹下存放数据库sql文件,如下图:

 

正常执行顺序依次是:create_mysql.sql –》 realmd.sql –》 characters.sql–》 world.sql。

realmd数据库存放帐号和服务器列表信息,characters数据库存放玩家数据,world存放游戏信息。 在navicat formysql里执行sql文件(“运行批次处理文件”)

 

 

其中realmd和characters数据库只需要执行以上两个sql文件即可,里面可以没数据。但world数据库必须要有正式的数据,执行下面这个非常大的sql文件,该sql负责重建表,并插入大量数据(估计需要三四个小时)。

 

 

 

用Visual Studio 2005打开TrinityCore&Script VC80.sln文件,如下图:

 

 

主要有TrinityRealm和TrinityCore两个exe项目,其中zlib项目由于不知道什么原因,每次调试都重新编译,生成成功后将其卸载,由于只有shared项目直接依赖zlib库,右击shared属性,选择“管理员”-》“常规”-》“附加依赖项”,添加一条,如下图:

 

.\zlib__$(PlatformName)_$(ConfigurationName)\zlib.lib

 

由于要调试程序,要生成调试信息,并阻止VS对代码进行优化,因为一旦优化后就无法正常调试程序了,会出现查看不到变量信息,以及断点和代码不匹配的情况出现,设置如下(每个项目都要设置):

 

设置“调试信息格式”为“程序数据库Zi”

 

设置“优化”为“禁用”

 

exe项目还需要专门设置一项

设置“生成调试信息”为“是”

 

设置调试类型为“Release”,如下图

 

执行“重新生成解决方案”,在bin文件夹下生成dll和exe文件,如下图

 

 

 

转自:http://blog.csdn.net/lgh1700/article/details/7692394

posted @ 2016-01-28 14:05  遥望星空  阅读(9614)  评论(0编辑  收藏  举报