魔兽世界作为80后一代人的青春回忆,每当回想起来,和曾经的朋友一起战斗的情形,总是热血澎湃。作为魔兽最经典的版本60级香草时代,是魔兽历史上最成功的版本之一,承载着太多的回忆,我比你多一个世界。闲话不说,进入正题,编译vmangos魔兽模拟器。
简介 vmangos版本
github地址 vmangos是Elysium/LightsHope代码库的独立延续,后来团队开源了,是目前60级版本修复最好的,基本没有重大问题。
硬件要求
ubuntu系统服务器版本上编译,ubuntu版本是ubuntu-22.04.3-live-server-amd64。
硬件要求:
1.cpu要求2核,内存4G以上
2.mysql数据库要求5.5或以上
3.g++ Compiler
4.CMake(英语:CMake)
5.Git
依赖:
ACE
TBB
OpenSSL
Zlib
安装步骤
1.安装编译器g++
sudo apt install g++
2.安装ace库
ACE库是必不可少的,因为它用于网络、线程和文件系统访问。
|
|
3.安装TBB库
|
|
安装libreadline-dev
|
|
4.安装git
git用于拉取代码库,如果拉取速度太慢,可以先下载到本地,然后再上传到服务器。
|
|
5.安装cmake
|
|
6. 安装mysql连接库
|
|
7. 安装openSSH
用于服务器和客户端之间数据加密传输
|
|
8. 安装压缩库Zlib
数据传输进行压缩,可以节省带宽
|
|
9.下载源码
|
|
10.配置编译环境
|
|
以下是其中每个的含义。
DDEBUG = 0 此设置允许您选择是要在“调试”还是“发布”模式下进行编译。服务器在 Release 模式下的运行会更流畅,因此将 Debug 设置为 0。
SUPPORTED_CLIENT_BUILD=5875 由于这是一个渐进式模拟器,因此您可以指定要支持的确切客户端版本。最终的 Vanilla 补丁 1.12.1 的内部版本号是 5875。您可以在登录屏幕的左下角看到客户端的内部版本号。仅支持每个主要补丁的最终版本。这意味着你可以玩 1.8.4,但不能玩 1.8.0。
USE_EXTRACTORS=1 服务器需要地图地形数据才能知道任何东西的位置。此数据是使用多种工具从游戏客户端中提取的,你可以选择使用此设置来构建这些工具。如果您已经拥有来自其他地方的映射文件,则可以将其设置为 0。
CMAKE_INSTALL_PREFIX=~/vmangos 此设置允许您选择在编译完成后复制二进制文件的位置。
11.编译程序
到这步就可以开始编译程序了
|
|
查看cpu核心数 编译
|
|
这里make -j4表示是4个核心 等待编译完成后会在家目录下生产一个vmangos目录。
|
|
这是目录结构文件,在bin目录中就包含可执行文件,realmd和mangosd,在bin目录下新建data和logs文件夹,data用于存放客户端提取的DBC、Map、VMap 和 MMap 文件.这些是服务器运行所必须的。dbc 路径还必须包含从中提取文件的客户端的内部版本号。如果您不确定确切的构建是什么,可以在登录屏幕的左下角看到它。1.12.1 客户端的内部版本号为 5875。
12.设置数据库
我在服务器上已经安装了mysql8.0,进入mysql命令行工具。
|
|
执行创建数据库命令
|
|
创建账号
|
|
下载基本数据库
https://github.com/brotalnia/database
上传到vmangos/sql目录,使用tar -zxvf world_full_14_june_2021.7z解压缩出来数据库
进入mysql命令行
|
|
执行完毕后,进入前/vmangos/sql/migrations目录执行文件merge.sh,会生成
这几个文件一次导入数据库
|
|
13.修改配置文件
设置客户端提取文件目录和日志目录
|
|
同样修改账号任务服务器配置
|
|
设置realmlist表
进去mysql命令行执行
|
|
此处ip地址设置为127.0.0.1只能本机访问,如果要外网访问要设置成公网ip可以用域名。 最后更改客户端的realmlist文件设置就可以登录游戏了。
注册账号
在运行mangosd最后输入
|
|
出现这个错误在logon.sql中修改增加一条语句 ``platform
varchar(255) ,
|
|
重新执行
|
|