TrinityCore3.3.5环境搭建
说起TrinityCore,可能知道的人不多,但是说起MaNGOS(芒果)知道的人应该就不少了。MaNGOS是一个魔兽私服服务器端,TrinityCore继承自TrinityCore并且做了优化,一直在更新,实属难能可贵,尤其是对于游戏服务器开发人员来说,更是一份不可多得的学习资料。
看看官网上这段话:“TrinityCore is an MMORPG framework that's built using C++, and using a back-end of MySQL for the DB content. Trinity was at one point a merger of MaNGOS with many patches submitted by users, that is no longer the case. Trinity is an individual project with a diverse development team, We love to hear from our users too, whether you want to give words of encouragment or if you have code for us to merge into the repo. Trinity has been cleaned up a lot, and will continue to be cleaned up and optimized over time. "
下面来看看怎么搭建TrinityCore的运行环境,网上可以搜到TrinityCore的一键安装,但是我们的目的是为了学习TrinityCore的代码,所以我们会自己编译server端。(向伟大的”墙“致敬,dropbox被封掉导致TrinityCore的数据库文件无法下载,还好我使用云盘搜索大法,惊奇的搜到了某位兄弟分享的一个数据库文件)用到的所有文件我都会给出国内云盘的分享地址。
注:目的是为了搭建一个可调试的server端,所以选择比较老的版本TrinityCore3.3.5,并且不会升级。
以下都是在win下进行,搭建32为TrinityCore运行环境。
Requirements:
MySQL ≥ 5.1.0 提取码 ea11
OpenSSL ≥ 1.0.0 提取码 367a
CMake ≥ 2.8.12 提取码 0ccd
ZeroMQ ≥ 3.2.4 提取码 db3d
MS Visual Studio 2013 express 提取码 76bd
环境搭建:
1:安装GitExtensions(一定要安装,虽然源码我也会提供,cmake需要用到),确保Git, MySYSGit, and KDiff三个都要选择安装,在git安装过程中选择”Run Git from the Windows Command Prompt“
2:安装vs2013,不多说了,地球人都知道
3:安装mysql,要记住自己设置的root的密码,字符集选择utf8,安装中选择加入环境变量。
4:boost,直接使用我上文提供的编译好的安装文件即可,安装完成后,设置环境变量BOOST_ROOT=你安装的boost的根目录
5:cmake,一路默认安装
6:openssl,其中有一步需要留意,就是会让选择把openSSL的dll拷贝到哪,要选择The OpenSSL binaries (/bin) directory
7:zeroMQ,一路默认安装
上面7个步骤安装完成之后,开始编译TrinityCore。
1:解压TrinityCore-TDB335.57.zip,TDB_full_335.57_2144_10_19.7z,并且在它们的同级目录下建立build目录,所以看起来是这样的。
2:打开cmake-gui,如下配置
然后点击configure,选择vs2013编译器,然后会开始生成vs2013工程文件,完成后如下
如果你看了官方教程,它会让你选择TOOLS,然后重新configure一次,选择TOOLS是为了生成从客户端提取配置文件的工具,所有配置文件我都会打包送出,所以我们可以跳过官方这一步,直接Generate即可。
3:进入build目录,打开TrinityCore.sln,选择release模式,编译。
编译完成后,进入build\bin\release目录,会看到
worldserver.conf.dist
worldserver.exe
authserver.conf.dist
authserver.exe
这四个文件,把现在的config内的几个压缩文件解压到build\bin\release目录,然后把
libmySQL.dll - C:\Program Files\MySQL\MySQL Server 5.x\lib
libeay32.dll, ssleay32.dll - C:\OpenSSL-Win32\bin
libzmq-v120-mt-4_0_4.dll - C:\Program Files\ZeroMQ 4.0.4\bin
这4个dll也拷贝到build\bin\release目录内,现在build\bin\release目录如下
4:导入数据库
导入TrinityCore-TDB335.57\sql\create\sql_create.sql
选择auth数据库,导入TrinityCore-TDB335.57\sql\base\auth_database.sql
选择characters数据库,导入TrinityCore-TDB335.57\sql\base\characters_database.sql
选择world数据库,导入TDB_full_335.57_2014_10_19\TDB_full_335.57_2014_10_19.sql
选择world数据库,导入TrinityCore-TDB335.57\sql\updates\world\2014_10_19_00_world.sql
NOTE!!!,导入数据库时候,查看auth数据库的realmlist表,可以看到gamebuild字段为12340,一定要改为13930才行,
UPDATE realmlist SET gamebuild=13930 WHERE id=1;
如果不改的话,客户端可以看到服务器显示为离线状态,无法登录(我会给你我的吐血经历),分析见这里http://blog.csdn.net/qq575787460/article/details/41446403
5:修改server端配置
进入bin\build\release目录,authserver.conf.dist到新文件authserver.conf,拷贝worldserver.conf.dist到新文件worldserver.conf
打开authserver.conf,修改第140行LoginDatabaseInfo = "127.0.0.1;3306;root;root;auth",其中root,root是我的数据库的用户名root,密码也是root(自行修改)
打开worldserver.conf,修改93---95三行
LoginDatabaseInfo = "127.0.0.1;3306;root;root;auth"
WorldDatabaseInfo = "127.0.0.1;3306;root;root;world"
CharacterDatabaseInfo = "127.0.0.1;3306;root;root;characters"
6:修改客户端配置文件
确保客户端已经打补丁到了3.3.5.13930版本,打开Data\zhCN\realmlist.wtf,修改前两行
set realmlist 127.0.0.1
set patchlist 127.0.0.1
7:ok,现在已经搭建成功了,启动authserver和worldserver,worldserver启动成功后,可以输入命令
account create username password创建一个帐号,打开客户端,使用该帐号即可登录
放一张图片吧
转自:http://blog.csdn.net/qq575787460/article/details/41444811
TrinityCore3.3.5环境搭建的更多相关文章
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
随机推荐
- 利用Python生成随机密码
#coding:utf-8 #利用python生成一个随机10位的字符串 import string import random import re list = list(string.lowerc ...
- C++产生固定范围内的固定数量的随机数
#include<iostream> #include<ctime> #include<random> using namespace std; void knut ...
- if语句引起的bug
最近维护高手留下的api项目,客户端反馈一个bug过来,然后查找到可能出错的代码位置,是一个if语句,乍一看好像没什么问题,代码如下: if (company.UserId != userId || ...
- MongoDB存储基础教程
一.MongoDB简介 1. mangodb是一种基于分布式.文件存储的非关系型数据库 2. C++写的,性能高 3. 为web应用提供可扩展的高性能数据存储解决方案 4. 所支持的格式是json格式 ...
- LeetCode(15):三数之和
Medium! 题目描述: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答 ...
- python学习之算法、自定义模块、系统标准模块(上)
算法.自定义模块.系统标准模块(time .datetime .random .OS .sys .hashlib .json和pickle) 一:算法回顾: 冒泡算法,也叫冒泡排序,其特点如下: 1. ...
- .NetCore下 Exceptionless 分布式日志的个性化处理
Event Type 在Exceptionless中有 Exception .LogMessage.Broken Links .Feature Usages 接下来就这几种类型分别添加日志记录 Exc ...
- CSS3&HTML5各浏览器支持情况一览表
http://fmbip.com/ CSS3性质(CSS3 Properties) 平台 MAC WIN 浏览器 CHROME FIREFOX OPERA SAFARI CHROME FIREFOX ...
- [更新]一份包含: 采用RSA JWT(Json Web Token, RSA加密)的OAUTH2.0,HTTP BASIC,本地数据库验证,Windows域验证,单点登录的Spring Security配置文件
没有任何注释,表怪我(¬_¬) 更新: 2016.05.29: 将AuthorizationServer和ResourceServer分开配置 2016.05.29: Token获取采用Http Ba ...
- Lambda表达式浅析
Lambda 表达式是一种可用于创建"委托"或"表达式目录树"类型的"匿名函数".通过使用 lambda 表达式,可以写入可作为参数传递或作 ...