转自:http://www.pandria.net/moshousifujishu/wow_7414.html

这个过程并不算短,但可以让你对服务器的开发拥有最高等级的控制力。如果你希望开发一个魔兽世界私服,掌握这一流程则是不可或缺的能力和前提条件。

TrinityCore基于C++开发而成,需要通过Microsoft Visual C++ 2010以上版本编译生成。你需要如下的几个步骤来生成自己的服务器程序:
请注意:虽然编译服务端并不是什么高深的学问,但它并非面向于所有的玩家。环境建立,代码维护,功能开发,数值策划等等制作游戏所必须步骤的操作难度和精力消耗都不是普通玩家所能承受的,所以在决定吸收这些知识之前,请先确认自己到底是有开发兴趣或意向还是想找个新娱乐项目,如果是后者,那么我的建议是不要看下去,因为它将会浪费你不少宝贵的时间和精力,而且不会为你带来任何精神或物质上的收益。

1. 获取源码,并获取最近的更新。
2. 获取数据库SQL,导入。当然官方提供的是英文版本的,而且更新较为缓慢,你可以使用我在另一个帖子中提供的简体中文数据库。
3. 生成Visual Studio解决方案,将源代码通过CMAKE转化为可用VS2010或其他版本可用的解决方案。如果你的机器上没有相应的运行环境,则必须首先配置——至少要安装PERL5和OPENSSL,在某些情况下可能还需要MASM或NASM。这个过程非常容易出错而且对于经验不足的开发者很容易就此卡壳,我会在此介绍我所了解的问题的解决方法,但不承诺为你提供后续的帮助支持。
4. 调整参数,编译服务端文件。
5. 搭建服务器环境,导入所需的所有数据库信息。如果需要的话,制作账号管理系统。
6. 使用编译生成的DBC和地图解析工具解析服务器端所需的DBC和地图文件。要注意的是生成工具是CMAKE时的可选项,这个我会在后面的描述中着重强调。
7. 将所有的文件按既定格式放在特定位置,调整authserver.conf和worldserver.conf中的链接参数,并在auth数据库的realmlist表中建立服务器信息,即可成功开启服务端,并让朋友加入你的游戏了。

正文

获取源码

TrinityCore 的源码通过Git提供的命令行工具你可以轻松地获取最新的TC源码,但对于新开发者,甚至是所有的开发者,我推荐使用Git Extensions这个图形化的工具。你可以在:

http://code.google.com/p/gitextensions/
获取最新的Git Extensions。如果你找不到下载链接在哪(这说明你需要做一点点最基础的英文学习了),我在这里为你提供一个链接:

http://gitextensions.googlecode.com/files/GitExtensions243SetupComplete.msi
如果下载地址过期,或则你看这篇文章已经是很久以后的事情,那么你可以从新搜索一下这个软件,下载最新版本的。

一路NEXT确实可以安装完成,但为了让你的服务端不至于出现太多毛病,有几个选项需要你调整一下,即使和安装程序上的推荐说明不大一致。

勾上这两个选项。

确认你选择了所需的集成环境。

如果你的机器上装的是VS2012,那么就选上Visual Studio 2012 integration 这个选项

选择OpenSSH,即使说明上说putty的windows集成更加优秀。
开始安装。在安装的过程中会弹出KDiff3和Git的安装向导,一路NEXT即可。请在Git的安装过程中确认选择了“Run Git from the Windows Command Prompt”这一选项。

这就是Git Extension的界面。

可以看到我我的GIT上有很多个分支,但这些东西不是上来就有的。下一步就要对其进行配置,令它可以从Git上拉取(pull)源代码,并保存在正确的位置。

首先,你需要建立一个存放源码的文件夹。

我在D建立一个文件夹,名为“MSASource”,用以存放源代码。

如果你正确安装了Git Extensions,则当你右键点击这个文件夹时,会出现一个新的选项“Git Extensions”,选择子菜单中的“Clone”。

在弹出窗口中按以下格式填写所需的信息。

如果你懒得照图打地址这里给你个可以复制的:
https://github.com/TrinityCore/TrinityCore.git
注意将Subdirectory to create清空,因为我们并不需要它为我们建立子文件夹。
点击Clone。这会将TrinityCore于Github的源代码拉取至你的本地文件夹中,时间取决于你的网络连接速度。

完成之后文件夹下将多出一大堆源代码文件。

但这时还无法编译,我们必须先将这堆源码通过CMAKE转化为VC++的解决方案。对于某些设备,这一步可能仅需10秒,但对另一些设备,则可能得花上数小时的时间。这个根据你的网络速度决定你的下载时间

然后补充一下,Trinity-Core的代码地址:https://github.com/TrinityCore

安装CMAKE

首先在这里下载你需要的CMAKE版本:

http://www.cmake.org/cmake/resources/software.html

如果你用WINDOWS就下这个:

http://www.cmake.org/files/v2.8/cmake-2.8.10.1-win32-x86.exe

选择将CMAKE添加至环境变量,其他一路下一步。

在运行CMAKE之前,你要先建立一个文件下用以存放生成的解决方案(SLN)。在这篇教程中我建立了一个名为“MSABuild”的文件夹。

运行CMAKE,在“Where is the source code”一栏填入源代码的目录位置,在“Where to build the binaries”一栏填入刚才建立的文件夹地址。

点击Configure。在弹出的菜单中选择Visual Studio 10。

如果你的机器原本只用于打游戏而没做过开发,99%的可能性会配置失败并报告这个错误。

这意味着你的机器上没有OpenSSL,需要先安装OpenSSL。

安装OpenSSL是一些老鸟都不愿搭理的差事,因设备的系统环境不同,安装过程也不尽相同而且还会出现各种各样的错误。但如果不安这东西,你便没有办法轻易地生成SLN,从而无法编译自己的服务端,所以这个坎是必须得想法跨越的。在这里我为你提供一套传统的OpenSSL安装方法,祝你安装顺利。

首先,这个过程需要你对OpenSSL的源代码进行编译(他们只给源码),所以你需要有一个Visual Studio,我用的是VS2010旗舰,你可以从这个地址来下载试用版。当然在试用期结束后是重装系统,破解还是买正版(很贵),那就不是我的事了。 当然,你最好去搜索一个破解版本什么的。。

http://download.microsoft.com/download/E/0/4/E0427BB8-8490-4C7F-A05B-AFEA0FC3EA80/X16-60997VS2010UltimTrialCHS.iso

ISO,可以刻录光盘安装,也可以通过虚拟光驱加载安装。

然后下载OpenSSL的源码,地址在这里:

http://www.openssl.org/source/

如果你不知道下哪个,我给你提供个地址:

http://www.openssl.org/source/openssl-1.0.1c.tar.gz

然后,你需要安装PERL5,并把它加到环境变量中。

PERL的安装过程并不简单,不过幸好有个ActivePerl,地址在这里:

http://www.activestate.com/activeperl/downloads/

根据你的系统选择32/64位版本,下载装上。如果我没记错的话,应该是一路NEXT。

不知道下载哪个的,我给你提供两个WINDOWS平台的链接:

32bit:http://downloads.activestate.com ... in32-x86-296175.msi
64bit:http://downloads.activestate.com ... in32-x64-296175.msi

在ActivePerl安装完成后会自动生成所需的文件和环境变量,如果没有,请手动把以下内容添加进幻境变量中。我的PERL5路径为C:\Perl64,那么内容就是:

C:\Perl64\site\bin;C:\Perl64\bin;

将下载的OpenSSL解压,放到一个你能记得住的地方,比如我方的位置是:

C:\openssl

然后是较为容易出错的步骤,但如果你按我的方法来进行编译安装,出错的机会并不高。

如果你正确安装了VS2010,可以在开始菜单找到含有所需编译配置的Visual Studio命令行工具,点击打开。

工具需要几秒钟的配置时间,等待至可以输入文字时,定位至OpenSSL所在目录。我的是C:\openssl,所以我就输入:

cd C:\openssl

开始配置。首先禁用IPV6来避免出现cl错误,输入下面的文字并回车(后面每句都要加个回车):

perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0

配置编译环境:

perl Configure VC-WIN32

生成配置文件:

ms\do_ms

开始生成:

nmake -f ms tdll.mak

生成大概需要2-5分钟的时间,取决于你的电脑性能。生成成功后可以使用这个命令来检测一下是否安装成功:

nmake -f ms tdll.mak test

如果出现的一大段内容最后里有"successful"的字样,则说明安装成功。

一般来说,搞到这里CMAKE就可以顺利生成C++解决方案了,但若你还是遇到找不到OpenSSL的错误,则需要手动配置环境变量。在环境变量里加上这样一句(我的openssl目录为C:\openssl,根据你的安装位置调整内容):

C:\openssl\out32dll;

至此你应该可以顺利生成SLN了。如果你到现在还没关掉CMAKE,点击Configure按钮。如果你看到如下提示(约需时30秒),则说明配置成功。

如果你是首次使用,或是没有其他DBC/MAPS/VMAPS的来源,则需要勾选TOOLS的选项,以在编译时生成解析这些文件的工具。

点击Generate开始生成SLN。

当出现Generating Done的提示后,说明SLN已经成功生成。

打开“MSABuild”文件夹,双击TrinityCore.sln开启解决方案。

首次使用会加载所需的文件和配置,大概需要3-10分钟的时间。完成之后,如果你没有修改服务端的需求,那么可以直接开始编译。唯一需要改动的一点就是将解决方案配置由“DEBUG”改为“RELEASE”。DEBUG生成将附带大量的调试信息,运行效率极低,所以在编译前务必注意这一选项的设置。

点击绿色箭头开始编译。首次编译耗时很长,而且有可能出现错误,程序意外关闭,生成失败等结果,但这时再次点击绿色箭头重新生成即可成功。如果你看到了这个窗口,说明大功告成:

在MSABuild\bin\Release下可以找到服务端的内核文件和客户端数据解析工具。

如果你成功地编译出了这些文件,说明你距离最终开启自己的服务器已经完成70%的工作了。剩下的工作一定不会难倒你,但仍然可能消耗大量的时间。

导入服务端数据库数据+保持更新

搭建一个网络服务器环境——这个在互联网上有铺天盖地般的教程,我也无意提供这方面的教学。如果你不了解这方面的知识,可以在百度上寻找解决方案,或者使用诸如XAMPP一类的集成开发环境(虽然这东西是教学性质的,不过用起来没问题),你需要拥有的程序必须包括以下这些:

MySQL 5+
Apache 2+
PHP 4.x+(用以构建注册和管理页面)

然后你还需要一个可以处理SQL的拥有图形界面的集成式程序,如Navicat,来进行SQL的导入工作及后期的数据编辑。

TrinityCore运行需要3个数据库:auth(账号信息),characters(角色信息),world(游戏数据信息),其中auth和characters的生成SQL将在编译的过程中生成,world需要在git上面下载。

在你的MySQL数据库中建立三个空数据库:

auth/characters/world

并分别导入这三个SQL文件。

auth/characters 这两个数据库分别对应账号数据库和角色数据库,。Trinity内核代码里面就带有了

world世界库的SQL文件,你最好到Trinity官方论坛里面去找找。找到最新的数据库。

补充一下:PERL5 基本上是可以不用安装的。默认情况下,你最好下载的完整的VS2010 或则VS2012版本。 然后openssl 是必须装的

Trinity-Core源码更新-编译环境配置-服务端运行等集中教学帖相关推荐

  1. v50.03 鸿蒙内核源码分析(编译环境) | 编译鸿蒙防掉坑指南 | 百篇博客分析HarmonyOS源码

    颜渊死.子曰:"噫!天丧予!天丧予!" <论语>:先进篇 百篇博客系列篇.本篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南 编译构建相关篇 ...

  2. MobileIMSDK怎样修改服务端核心jar包的源码并替换掉Java服务端的jar包

    场景 MobileIMSDK怎样将Java服务端运行起来以及打成jar包运行: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11 ...

  3. opengl 编程指南源码下载与环境配置

    首先到:https://github.com/openglredbook/examples 下载源码. 然后启用cmake生成.sln文件 打开两个.sln文件:vermilion9.sln GLFW ...

  4. Yolov5-5.0源码分享以及环境配置——Yolov5训练及测试教程(超详细含数据集制作,格式转换,数据集划分)

    yolov5-5.0百度网盘连接 链接: https://pan.baidu.com/s/1Hd2KKBixuEWRv3jcH6Bcsw 提取码: g6xf 复制这段内容后打开百度网盘手机App,操作 ...

  5. java B2B2C源码电子商务平台 -commonservice-config配置服务搭建

    2019独角兽企业重金招聘Python工程师标准>>> Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持.使用Config Server,您可以在 ...

  6. ZooKeeper客户端源码(一)——向服务端建立连接+会话建立+心跳保持长连接

    首发CSDN:徐同学呀,原创不易,转载请注明源链接.我是徐同学,用心输出高质量文章,希望对你有所帮助. 一.从ZooKeeper实例初始化开始 ZooKeeper 提供了原生的客户端库,虽然不好用,但 ...

  7. H5雷霆传奇手机竖屏游戏商业版源码共两款一键服务端+教程

    相比传统页游和手游来说,手机版页游H5游戏无疑是属于比较休闲那一类的,游戏自动打怪,主体的机制是挂机放置类游戏,即使玩家的时间不多,游戏人物仍然在服务器上进行打怪练级,节省了玩家的时间.游戏的UI方面 ...

  8. php网络验证系统源码,kakaPHP 网络验证PHP服务端源码 - 下载 - 搜珍网

    卡卡PHP/卡卡PHP/config/config.php 卡卡PHP/卡卡PHP/config/index.html 卡卡PHP/卡卡PHP/includes/controller/checkgoo ...

  9. java编译使用androidsdk,详解Android源码的编译

    本文将为大家介绍的是如何设置Android源码的编译环境,包括Linux下的配置.主要基于Android 1.0环境,希望对大家了解Android开发有所帮助. 本次编译过程主要参考官方文档(http ...

最新文章

  1. (转)PHP EOF(heredoc)的使用方法
  2. sonar:查询全部项目的bug和漏洞总数(只查询阻断/严重/主要级别)
  3. 从电脑传PDF到IPad的阅读器上
  4. ESIM (Enhanced LSTM for Natural Language Inference)
  5. 【Normal Form】数据库表结构设计所遵从的范式
  6. 初识图机器学习(part5)--图表示学习2.0
  7. elasticsearch 的查询 /_nodes/stats 各字段意思
  8. 世界杯千万级直播高稳定的挑战和实践
  9. 漫步微积分二——微积分是什么
  10. 深度学习福利入门到精通第四讲——GoogleNet模型
  11. Linux平台上的音视频互动开发平台
  12. Objective-C基础语法快速入门
  13. 面试题---测试用例设计
  14. SQL语句中对时间字段进行区间查询
  15. 《SpringBoot实战》读书笔记
  16. php利用表格敬将所选择的数据显示出来,单元格下拉筛选设置/Excel对筛选后的单元格进行下拉填充...
  17. java:下拉列表框组件
  18. 【自学宝典】从零开始自学网络安全,按照这个路线就可以了
  19. 第一章 README
  20. 宽屏php模板,宽屏时尚达人网站前端模板

热门文章

  1. 美团二面惜败,惊了!我这样优化了Tomcat后
  2. Alfred之workflow入门
  3. JavaUtil_01_MD5加密
  4. 2023年武汉大学新闻与传播硕士考研上岸前辈备考经验指导
  5. 员工绩效评估的目的是什么?
  6. 三态门三个状态vhdl_三态门输出的三种状态
  7. 移动端——常见的移动端mate
  8. WSAStartup简要说明
  9. 【Opencv3学习笔记 1】OpenCV的安装配置部署详细步骤(window + vs2019)
  10. python xpath入门_python爬虫入门实战(三)!xpath 和 csv!