魔兽世界serverTrinitycore分析一:前言
一:简单介绍
帖一段官网介绍吧
TrinityCore is a MMORPG Framework based mostly in C++.
Itis derived from MaNGOS,the Massive Network Game Object Server,and is based on the code of that project with extensive changes over time tooptimize, improve and cleanup the codebase at the same time as
improving thein-game mechanics and functionality.
二:学习缘由
大名鼎鼎的魔兽世界,那但是我在大学时为之所疯狂的网游啊。后来听说他有个开源的server实现。作为游戏server开发者的我,那还不赶紧clone下来研究一下,哈哈。
第一次听说Trinitycore这个项目。是在2012年底,当时的我还不是游戏开发者,当时它的底层还是ACE,甚至当然的我还没有办法将它执行起来。可它还是深深地吸引了我。
为了它,我去学习ACE。
结果,我却变成了ACE黑,研究这个项目的计划也不了了之了(唉,传说中ACE“学之者生,用之者死”,还是有一定道理的)
今年(2014)8月再上Trinitycore官网的时候。却发如今它的最新版本号中。项目底层框架从ACE改成boost。我真是太感动了,再不认真研究一下它,也太对不起老天了。哈哈。
可接下来却不太顺利,我在虚拟机的Ubuntu上编译它的Debug版本号的时候,一执行worldserver就挂了。开GDB调试。GDB也是一执行就挂。Release版本号却一点问题都没有。后来GOOGLE了一下,可能是我的虚拟机性能不达标导致的。。。算了,不折腾LINUX了。还是装个Visual Studio 2013玩一下吧。话说回来。VS+VA比GDB+VIM(含插件)人性化太多了)。
换了VS2013之后,编译确实挺顺利的。然后下个魔兽世界3.3.5client玩了一下。却在提示登陆成功之后,在“正在与server交换数据”(好像是这句)这个界面里卡住了,搞了半天,才发现原来是我client的子版本号号不正确,这个server支持的国服版本号仅仅有3.3.5.13930,这个解决起来也不难,下几个补丁即可了。
唉,部署一个执行环境,就搞了我一个多星期(幸好近期工作不算太忙),好在终于还是以喜剧收场了。想当年,我在学校部署魔兽世界私服的时候,用一键安装包的时候。真他妈的方便啊。
三:我所用的版本号
数据库:TDB_full_335.55_2014_08_24
client:国服3.3.5.13930 (下载地址就不给了,百度一下一大堆)
四:编译并执行
本来想写点东西的,只是后来想了下,还是算了,大家自己上官网看吧
WINDOWS版:http://collab.kpsn.org/display/tc/Win
LINUX版:http://collab.kpsn.org/display/tc/Linux
五:感言
TrinityCore的代码庞大且复杂,只是代码风格和模块化都是很不错的。希望自己能坚持分析下去。直接全然看懂整个项目的代码
PS:我在分析过程中难免会出现错误,如有发现。请留言告知或发我邮箱。我的邮箱是aa1080711@163.com,大家共同学习,共同进步
六:上一张图记念一下
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21hbGxfcWNo/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
PS:我当年玩魔兽世界的时候,也是这个版本号的。哈哈。
魔兽世界serverTrinitycore分析一:前言的更多相关文章
- Spring Ioc源码分析系列--前言
Spring Ioc源码分析系列--前言 为什么要写这个系列文章 首先这是我个人很久之前的一个计划,拖了很久没有实施,现在算是填坑了.其次,作为一个Java开发者,Spring是绕不开的课题.在Spr ...
- Spring mvc源码分析系列--前言
Spring mvc源码分析系列--前言 前言 距离上次写文章已经过去接近两个月了,Spring mvc系列其实一直都想写,但是却不知道如何下笔,原因有如下几点: 现在项目开发前后端分离的趋势不可阻挡 ...
- jquery源码分析之一前言篇
1.问:jquery源码分析的版本是什么? 答:v3.2.1 2.问:为什么要分析jquery源码? 答:javascript是一切js框架的基础,jquery.es6.vue.angular.rea ...
- Spring boot 源码分析(前言)
开坑达人 & 断更达人的我又回来了 翻译的坑还没填完,这次再开个新坑= = 嗯,spring boot的源码分析 本坑不打算教你怎么用spring boot = = 也不打算跟你讲这玩意多方便 ...
- 工业物联网或系统集成中应用消息队列(ActiveMQ,C#的demo)的场景全面分析
1.[连载]<C#通讯(串口和网络)框架的设计与实现> 2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 2.应用SuperIO(SIO)和开源跨平台物联网框 ...
- linux 时钟源初步分析linux kernel 时钟框架详细介绍
初步概念: 看datasheet的关于时钟与定时器的部分, FCLK供给cpu, HCLK供给AHB总线设备(存储器控制器,中断控制器.LCD控制器.DMA.USB主机控制器等), PCLK供给APB ...
- SQL Server 在线进程分析处理
SQL Server 在线进程分析处理 前言 数据库在线进程处理在很多时候需要人为干预已达到预期管理目标,下面整理一下常用的在线进程管理方法,便于后续工作使用. 一.查看目标数据库在线进程,并杀死指定 ...
- 使用wireshark抓取TCP包分析1
使用wireshark抓取TCP包分析1 前言 介绍 目的 准备工作 传输 创建连接 握手 生成密钥 发送数据 断开连接 结论 前言 介绍 本篇文章是使用wireshrak对某个https请求的tcp ...
- ConcurrentHashMap 源码分析
ConcurrentHashMap 源码分析 1. 前言 终于到这个类了,其实在前面很过很多次这个类,因为这个类代码量比较大,并且涉及到并发的问题,还有一点就是这个代码有些真的晦涩,不好懂.前前 ...
随机推荐
- Entity Framework的一个实例
环境:Visual studio2013+sql server本地数据库 创建一个C#应用程序,首先在nuget中添加Entity Framework 接下来的工作分为四个主要部分: 第一部分:App ...
- vi-vim和linux常用快捷键
移动光标 上 k 下 j 左 h 右 l 移动光标到当前行行尾首 ^ 移动光标到当前行行尾 $ 移动到文件的第一行 gg 移动到文件的最后一行 G 移动到第1 ...
- caioj 1077 动态规划入门(非常规DP1:筷子)
首先可以看出排序之后,最优解肯定是每一对都相邻才是最优的 那么我们就要找构成最优解的相邻组 设f[i][j]是前i个字符,k对的最小值 如果当前这个筷子不取的话,f[i][j] = f[i-1][j] ...
- Unity C# 设计模式(一)单例模式
动机(Motivation): 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性.以及良好的效率 意图: 保证一个类仅有一个实例,并提供一 ...
- 【Codeforces Round #420 (Div. 2) B】Okabe and Banana Trees
[题目链接]:http://codeforces.com/contest/821/problem/B [题意] 当(x,y)这个坐标中,x和y都为整数的时候; 这个坐标上会有x+y根香蕉; 然后给你一 ...
- ArcGIS api for javascript——鼠标悬停时显示信息窗口
描述 本例展示当用户在要素上悬停鼠标时如何显示InfoWindow.本例中,要素是查询USA州图层的QueryTask的查询结果.工作流程如下: 1.用户单击一个要素 2.要素是“加亮的”图形. 3. ...
- Java中发送http的get、post请求
近期做项目中,须要把消息通过中间件的形式通过http请求的方式推送给第三方,因此用到了http协议,小编花费了一个多小时.对于http协议中的post和get请求,封装了一个工具类.以下与大家分享一下 ...
- thinkphp5项目--企业单车网站(一)
thinkphp5项目--企业单车网站(一) 项目地址 fry404006308/BicycleEnterpriseWebsite: Bicycle Enterprise Websitehttps:/ ...
- Mysql基础部分,针对以后python使用
#redis 非关系型数据库#mysql 关系型数据库 表与表之间有数据关系 Oracle Mysql SqlServer DB2#多张表组合在一起就是数据库#冗余 存储两倍数据 可以使系统速度更快 ...
- Active Object 并发模式在 Java 中的应用--转载
原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-activeobject/ 本文主要从以下两个方面进行阐述: 使用 C++ 语言,来描述 Act ...