热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

为什么要研究TrinityCore?(1)它是一个完整成熟的可运行调试的网游服务器框架。(2)它是一个跨平台的标准C++编写的项目,在Windows、Linux、MacOSX上都可编译运行。(3)

为什么要研究TrinityCore ? (1)它是一个完整成熟的可运行调试的网游服务器框架。(2)它是一个跨平台的标准C++编写的项目,在Windows、Linux、MacOSX上都可编译运行。(3)它使用了ACE、OpenSSL、Socket Library等开源库。(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文件,如下图

 



推荐阅读
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
author-avatar
换言
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有