魔兽私服TrinityCore 运行调试流程
来源:互联网 发布:淘宝网卧室台灯 编辑:程序博客网 时间:2024/06/09 13:45
配置参见上一篇:TrinityCore 魔兽世界私服11159 完整配置
(1)启动Web服务器
打开TC2_Web_Mysql目录,运行“启动Web服务器.exe”
自动弹出帐号注册界面,并启动Apache.exe、mysqld-nt.exe等后台服务器进程
(2)启动登录服务器
打开Trinity_Core_2目录,运行“TrinityRealm.exe”
弹出控制台界面
另外一种方法:登录服务器也可在VS用代码启动,将TrinityRealm项目设为“启动项”
然后“启动调试”,效果一样,但同一时刻VS只能调试一个exe程序,所以在调试TrinityRealm项目的时候就直接用TrinityCore.exe启动主服务器程序,或者调试TrinityCore项目的时候用TrinityRealm.exe启动登录服务器。同一时刻这两个程序只能一个用代码启动。
(3)启动主服务器
用现成的TrinityCore.exe或者代码都可启动。这里用代码启动,弹出的控制台窗口如下
主服务器需要加载大量地图和表格数据,需要约1分钟才能完成加载。
(4)启动WOW客户端
这里使用一个bat批处理文件启动客户端的Wow.exe,文件内容如下:
echo y | rd /s "Cache"echo SET realmlist "127.0.0.1" >Data\zhTW\realmlist.wtfecho SET realmlist "127.0.0.1" >Data\enTW\realmlist.wtfecho SET realmlist "127.0.0.1" > Data\zhCN\realmlist.wtfecho SET realmlist "127.0.0.1" >Data\enCN\realmlist.wtfecho SET realmlist "127.0.0.1" >Data\enUS\realmlist.wtfecho SET realmlist "127.0.0.1" > realmlist.wtfstart wow.exegoto end
将bat文件和Wow.exe放到一个目录下,其中“startwow.exe”启动了客户端。进入游戏的登录界面,如下
(5)进入游戏。
输入名称和密码,默认有一个可用的用户名和密码好像是“PLAYER”和“PLAYER”,可以通过注册网页新注册一个帐号。输入自己的帐号后,进入选择服务器界面
这个单独的服务器就是本机刚启动的私服,选择进入后创建角色,然后就是游戏主界面
(6)断点调试
客户端与服务期间时刻都会传输网络数据包,服务器本身也在不停的运行,可以在服务器代码中添加断点,分析代码流程,变量值,跟踪调试代码等。这也是研究TrinityCore的主要目的。
比如在聊天栏喊一句话“HelloWorld”
喊话之前在“ChatHandler.cpp”文件的
void WorldSession::HandleMessagechatOpcode(WorldPacket & recv_data)
函数里加个断点。
在游戏里喊话后,自动在断点处停下,可看到msg这个变量的值就是“Hello World”
以及函数调用堆栈
通常生看代码很容易发困头晕瞌睡,但当代码是运行可调试状态时,效果就完全不一样了,一步步跟踪代码很快就能了解整个流程。
虽然是在VS中生成的服务器exe程序,但TrinityCore是用C++写的跨平台项目,在Linux以及Mac也可编译运行,因此有极大的学习价值。
- 魔兽私服TrinityCore 运行调试流程
- 魔兽私服Trinitycore架构设计分析之一
- 魔兽私服Trinitycore架构设计分析之一
- 魔兽私服Trinitycore架构设计分析之一
- TrinityCore 魔兽世界私服11159 完整配置
- 关于Trinity魔兽私服搭建
- 魔兽
- TrinityCore BossAI
- trinitycore authserver
- linux下 运行魔兽 +cs +ie 成功啦
- RedHat As 4 Enterprise 运行魔兽3冰风
- 读TrinityCore源码有感
- TrinityCore 雕文操作
- TrinityCore中的PreparedStatement
- trinitycore数据库模块
- firefox调试记录2——Firefox运行流程初步跟踪
- 下载了一个魔兽1.20来玩,第一次运行可以进入,以后运行就报错了
- 调试流程(暂定)
- Android中ListActivity的使用和在ListView中添加图片文字
- 使用opengl es编写2d游戏的一些说明和技巧
- 九度1021 统计字符
- Java基础之常用类--System、Runtime、Date、Calendar、Math、Random
- Java mail发送邮件
- 魔兽私服TrinityCore 运行调试流程
- JDBC访问数据库的步骤
- xetex用中文写“世界,你好!”
- 操作系统类型(上篇)
- 继承实例(进制转换)
- 随机抽取人员回答问题FLASH
- Java mail接收邮件 回复邮件 转发邮件
- BP算法及例子
- poj 1101 The Game