Ubuntu 14.04 LTS 魔兽世界经典版服务器搭建指南

本文基于 cmangos.net 论坛的文章:Ubuntu install instructions for beginners

整个安装过程大约2小时,时间主要消耗在程序编译和客户端文件解析,我使用的服务器配置:

Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
1G 内存
40G SSD

转载请注明:DecadeWoW

首先安装 Ubuntu server 14.04 LTS

略过

创建 mangos 用户

adduser mangos

搭建系统环境

sudo apt-get update
sudo apt-get upgrade
安装 apache
sudo apt-get install apache2
sudo service apache2 restart
安装 mysql

设置参数

用户名:root,密码:rootmysql

sudo apt-get install mysql-server
sudo service mysql restart
安装 ssh

可能不需要

sudo apt-get install openssh-server
安装其他软件
sudo apt-get install 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

下载 cmangos 服务器代码

下载 cmangos
git clone https://github.com/cmangos/mangos-classic.git mangos
下载数据库
git clone https://github.com/classicdb/database.git database
下载脚本
git clone https://github.com/ACID-Scripts/Classic.git acid

编译安装 cmangos

创建安装目录
sudo mkdir /opt/mangos-server
sudo mkdir /opt/mangos-server/share
sudo mkdir /opt/mangos-server/logs
sudo chown mangos:mangos /opt/mangos-server -R
预编译
cd ~
mkdir build
cd build
cmake ../mangos -DCMAKE_INSTALL_PREFIX=/opt/mangos-server -DBUILD_EXTRACTOR=ON -DBUILD_VMAP_EXTRACTOR=ON -DBUILD_MMAP_EXTRACTOR=ON -DPCH=ON
编译
make
make install

数据库

创建数据库
cd ~/mangos/sql/create
mysql -uroot -prootmysql < db_create_mysql.sql
写入数据库文件
cd ~/mangos/sql/base
mysql -umangos -pmangos characters < characters.sql
mysql -umangos -pmangos mangos < mangos.sql
mysql -umangos -pmangos realmd < realmd.sql
写入脚本数据
cd ~/mangos/sql/scriptdev2
mysql -umangos -pmangos mangos < scriptdev2.sql

安装游戏数据

cd ~/database
bash ./InstallFullDB.sh
编辑配置文件
vi InstallFullDB.config
修改配置
MANGOS_DBUSER="mangos"
MANGOS_DBPASS ="mangos"
CORE_PATH="../mangos"
ACID_PATH="../acid"
执行第二次
cd ~/database
bash ./InstallFullDB.sh

上传客户端文件

cd ~
mkdir wowdata
cp ~/build/contrib/extractor/ad ~/wowdata
cp ~/build/contrib/vmap_extractor/vmapextract/vmap_extractor ~/wowdata
cp ~/build/contrib/vmap_assembler/vmap_assembler ~/wowdata
cp ~/build/contrib/mmap/MoveMapGen ~/wowdata
cp ~/mangos/contrib/extractor_binary/MoveMapGen.sh ~/wowdata
cp ~/mangos/contrib/extractor_binary/offmesh.txt ~/wowdata
chmod +x ~/wowdata/MoveMapGen.sh
使用 WinSCP 上传 Data 目录

右侧远程目录进入到wowdata目录,左侧本地目录选中Data目录,点击upload按钮上传。

解析文件
cd ~/wowdata
./ad -f 0
./vmap_extractor -l
mkdir vmaps
./vmap_assembler Buildings vmaps
mkdir mmaps
./MoveMapGen.sh 1
解析结束
cp -r dbc /opt/mangos-server/share
cp -r maps /opt/mangos-server/share
cp -r vmaps /opt/mangos-server/share
cp -r mmaps /opt/mangos-server/share

汉化游戏

下载中文数据
cd ~
git clone https://github.com/DecadeWoW/wow_db_chinese.git wow_db_chinese
汉化
cd wow_db_chinese
mysql -umangos -pmangos mangos < areatrigger_teleport.sql
mysql -umangos -pmangos mangos < creature_ai_texts.sql
mysql -umangos -pmangos mangos < creature_template.sql
mysql -umangos -pmangos mangos < creature_text.sql
mysql -umangos -pmangos mangos < db_script_string.sql
mysql -umangos -pmangos mangos < game_event.sql
mysql -umangos -pmangos mangos < gameobject_template.sql
mysql -umangos -pmangos mangos < game_tele.sql
mysql -umangos -pmangos mangos < gossip_menu_option.sql
mysql -umangos -pmangos mangos < item_set_names.sql
mysql -umangos -pmangos mangos < item_template.sql
mysql -umangos -pmangos mangos < npc_text.sql
mysql -umangos -pmangos mangos < page_text.sql
mysql -umangos -pmangos mangos < quest_template.sql
mysql -umangos -pmangos mangos < script_texts.sql

注册页面

下载注册程序
git clone https://github.com/DecadeWoW/cmangos-utils.git cmangos-utils
修改 apache 文档目录
cd /var/www
mv html html.bak
ln -s /home/mangos/cmangos-utils/web_register html
查看本机 IP
ifconfig
测试注册页面

在浏览器中输入本机 IP,进入注册页面

启动服务器

创建 mangosd.conf 配置文件
cd /opt/mangos-server/etc
cp mangosd.conf.dist mangosd.conf
修改 mangosd.conf 配置文件

确认以下配置正确

DataDir = "../share"
LogsDir = "../log"
BindIP = "127.0.0.1"
创建 realm.conf 配置文件
cd /opt/mangos-server/etc
cp realmd.conf.dist realmd.conf
vim realmd
修改 realm.conf 配置文件

确认以下配置正确

LogsDir = "../log"
LogLevel = 0
LogFileLevel = 0
BindIP = "127.0.0.1"
创建 mangosd 启动程序
cd ~
vim mangosd.sh

mangosd.sh 内容

screen -dmS mangosd /opt/mangos-server/bin/mangosd -c /opt/mangos-server/mangosd.conf
创建 realmd 启动程序
cd ~
vim realmd.sh

realmd.sh 内容

screen -dmS realmd /opt/mangos-server/bin/realmd -c /opt/mangos-server/realmd.conf
创建管理员账号
cd /opt/mangos-server/bin
./mangosd -c ../etc/mangosd.conf

等 mangosd 启动完毕

account create [用户名] [密码]

account set addon [用户名] 0

account set gmlevel [用户名] 3

退出 mangosd

server shutdown 0
启动 mangosd
sh ./mangosd.sh
启动 realmd
sh ./realmd.sh

连接游戏

查看本机 IP
ifconfig
修改数据库的 realmlist 表
echo 'update realmlist set address = [你的 IP]' > update_ip.sql
mysql -uroot -prootmysql realmd < update_ip.sql
客户端 realmlist.wtf 的内容修改为
set realmlist [你的 IP]
运行 wow.exe 进入游戏

results matching ""

    No results matching ""