Ubuntu搭建魔兽世界60年代服务器 基于CMangos WOW1.12.1

释放双眼,带上耳机,听听看~!
       
Ubuntu搭建魔兽世界60年代服务器 基于CMangos WOW1.12.1

前言

大叔双十一购入了腾讯云的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”

Ubuntu搭建魔兽世界60年代服务器 基于CMangos WOW1.12.1

再次执行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复制
解压码:无

人已赞赏
图文教程

可道云 - 在线文档管理 网盘 图床 一键搭建配置

2018-10-26 7:56:39

图文教程

LightsHope/vMangos – 基于Ubuntu服务器的WOW私服搭建教程

2018-12-11 11:33:44

11 条回复 A文章作者 M管理员
  1. 提取地图那一步出错了,能不能告知是怎么回事。

  2. 您好,是中文版本的吗?

  3. 在 导入scriptdev2数据库 这一步提示:
    -bash: mangos/sql/scriptdev2/scriptdev2.sql: No such file or directory
    请问如何解决

  4. 顶起来

  5. 大佬,为啥服务器找不到git命令?

    • 可能你没安装 ,你需要运行
      apt-get install git

  6. 支持

  7. 不错,试一试

  8. 支持大佬,有梦幻源的服务端吗

    • 有空找找看

个人中心
今日签到
有新私信 私信列表
有新消息 消息中心
搜索