前言
大叔双十一购入了腾讯云的2C8G5M的云服务器,发现买来也是吃灰,没什么用,于是准备搭个魔兽世界经典旧世来休闲一下。大叔也是头一回搞,有点没有头绪,于是在网上找教程,找了一圈都是几年前的教程,要么就是基于WIN的一键包,折腾了两天,终于搭建成功。
大叔在这里写一下安装过程,以及遇到的坑!!
1、什么是CMangos,为什么选CMangos?
什么是Cmangos,大叔就不再多介绍了,直接谷歌一下,说白了就是一个网络游戏的服务器程序。官方安装文件说明很详细,另外,Mangos是其它各版本的基础,所以选择了这个。
2、搭建TBC、WLK怎么弄?
基本上搭建过程差不多,可以参考本文搭建。
3、其它的服务器怎么弄?
除了CMANGOS,还有最原生的Mangos,TC,LH等,大体都差不多。大叔有空会再写教程。
4、除了安装,会有其它的教程么?
大叔时间也挺紧,如果有空可能会有其它的教程,比如自定义技能、修改功能等。但目前的安排,下一个教程可能是LH端的教程。
关于整体的安装步骤
没搭建过,可能觉得有点雾水,找清头绪就很简单了,过程主要是以下步骤。
1、安装mangos服务器:这一步,要么自己编译,要么用别人编译好的,基本上linux都要自己编译,WIN上大部分都是已经编译好的一键包。
2、导入数据库:主要是角色、物品、NPC、世界等信息,如果想要看中文,还要汉化一下。
3、提取地图:自己提取也可以,或者是直接使用别人提取好的。
安装步骤及官方的坑
首先大叔贴出官方的安装文档地址,有需要的可以自己查看。Cmangos安装说明
1、系统更新、升级和安装相关环境
大叔选择的是Ubuntu 16.04,安装完成之后,SSH登录,切换到root用户,依次更新和安装相关的编译工具,数据库
sudo -i
apt update
apt upgrade
apt install -y build-essential gcc g++ automake git-core autoconf make patch libmysql++-dev mysql-server libtool libssl-dev grep binutils zlibc libc6 libbz2-dev cmake subversion libboost-all-dev tmux
安装过程中可能会让你输入mysql的root用户密码,记得不要忘记了。
2、为了服务器安全,建议新建用户,这里可做可不做。建议新手跟着一步步的
useradd -m -d /home/mangos -c "MaNGOS" -U mangos
3、进入目录,准备下载相关文件
cd /home/mangos //如果你做了第二步,执行这个
cd ~ //如果没做,执行这个
下载需要的资源
下载cmangos 60年代源码,数据库,以及
git clone git://github.com/cmangos/mangos-classic.git mangos
git clone git://github.com/cmangos/classic-db.git
此时你的目录下应当有以下几个文件夹 mangos classic-db
4、编译安装Cmangos
建立编译的文件夹,进入
mkdir build
cd build
编译选择,以下三选一,分别对应,只编译服务器,编译服务器和地图进取工具,编译服务器、地图提取工具和机器人
cmake ../mangos -DCMAKE_INSTALL_PREFIX=/opt/fklserver -DPCH=1 -DDEBUG=0
cmake ../mangos -DCMAKE_INSTALL_PREFIX=/opt/fklserver -DBUILD_EXTRACTORS=ON -DPCH=1 -DDEBUG=0
cmake ../mangos -DCMAKE_INSTALL_PREFIX=/opt/fklserver -DBUILD_EXTRACTORS=ON -DPCH=1 -DDEBUG=0 -DBUILD_PLAYERBOT=ON
这里需要注意,-DCMAKE_INSTALL_PREFIX=/opt/fklserver 指的是安装cmango的地址,之后运行需要到这里来运行。可以自定义。
make && make install
5、导入数据库
以下几步都需要我们输入数据库的密码
先回到你的下载目录,即第三步我们提到的目录
cd /home/mangos //如果你做了第二步,执行这个
cd ~ //如果没做,执行这个
创建空的数据库
mysql -uroot -p < mangos/sql/create/db_create_mysql.sql
导入数据库
mysql -uroot -p classicmangos < mangos/sql/base/mangos.sql
for sql_file in `ls mangos/sql/base/dbc/original_data/*.sql`; do mysql -uroot -p --database=classicmangos < $sql_file ; done
for sql_file in `ls mangos/sql/base/dbc/cmangos_fixes/*.sql`; do mysql -uroot -p --database=classicmangos < $sql_file ; done
mysql -uroot -p classiccharacters < mangos/sql/base/characters.sql
mysql -uroot -p classicrealmd < mangos/sql/base/realmd.sql
坑一:官方的说明文档还是老的教程,最新版的数据库名称已经改变,需要使用大叔这里的代码,原代码没有classic这个前缀。
导入世界数据
进入classic-db文件夹
cd classic-db
运行一次InstallFullDB.sh文件 生成配置文件InstallFullDB.config
./InstallFullDB.sh
编辑 InstallFullDB.config
vi InstallFullDB.config
将文件中的DataBase和Core目录更改一下,如图
分别为:
DATABASE=”classicmangos”
CORE_PATH=”/home/mangos/mangos”
再次执行InstallFullDB.sh文件 并等待完成
./InstallFullDB.sh
导入scriptdev2数据库
mysql -uroot -p classicmangos < mangos/sql/scriptdev2/scriptdev2.sql
6、提取地图文件
这一步可以使用别人的文件,大叔稍后会放出,但不同版本可能会有差异。
10、将服务器权限给mangos用户,并使用mangos来执行,非必须
chown -R mangos:mangos /opt/fklserver
su - mangos
制做脚本,一键启动
cd /home/mangos
touch cmangos.sh
vi cmangos.sh
#!/bin/bash
exec screen -dmS mangosd /opt/fklserver/bin/mangosd -c /opt/fklserver/etc/mangosd.conf -a /opt/fklserver/etc/ahbot.conf++
exec screen -dmS realmd /opt/fklserver/bin/realmd -c /opt/fklserver/etc/realmd.conf++
设置计划任务,开机启动
crontab -e
@reboot /bin/bash /home/mangos/cmangos.sh
11、其它
注意你VPS的防火墙开启相关端口,开启服务器后建议查看端口的监听情况,以及从其它机器上能否telnet端口。
大叔结语
好了,到此就完成了,如果没错的情况下,你应当可以自己登录自己的WOW服务器了。这个版本可能还有些许BUG,大叔费时好几天,终于成功,当时觉得各种问题搞不定,现在回头看,感觉还是挺简单的。
在此感谢提供帮助的各位朋友,有问题大家可以留言,大叔会的话会答复。
大叔提取的地图文件
稍后上传
1.12.1客户端纯净版
1.12.1 wow
nk9q
复制
不错,试一试
大佬,尝试用虚拟机搭建,共用局域网络,能ping通,编译也没报错,server运行正常,为什么还是登陆不上去呢
端口有没有开放
提取地图那一步出错了,能不能告知是怎么回事。
您好,是中文版本的吗?
在 导入scriptdev2数据库 这一步提示:
-bash: mangos/sql/scriptdev2/scriptdev2.sql: No such file or directory
请问如何解决
顶起来
大佬,为啥服务器找不到git命令?
可能你没安装 ,你需要运行
apt-get install git
支持
不错,试一试
支持大佬,有梦幻源的服务端吗
有空找找看
沙发!!!