魔獸世界服務(wù)端開服架設(shè)服務(wù)器搭建教程Centos系統(tǒng)

魔獸世界服務(wù)端開服架設(shè)服務(wù)器搭建教程Centos系統(tǒng)
?

作為魔獸世界資深玩家,你是否有想過自己開服當(dāng)服主?
相信能看到此篇文章的你心里是有想法的。首先你需要知道開魔獸需要準備哪些東西,
我是艾西今天帶您了解下魔獸世界開服需要的東西
?
想要搭建一個魔獸商業(yè)服,需要有魔獸世界服務(wù)端、網(wǎng)站系統(tǒng)、和一臺服務(wù)器,若是自己不會技術(shù),就要請個技術(shù)進行架設(shè)、調(diào)試,順便把技術(shù)學(xué)了畢竟這是個一勞永逸的事情。
?
目前最完美的魔獸世界服務(wù)端AzerothCore
?
60級經(jīng)典舊世版本
70級燃燒的遠征版版本
80級巫妖王之怒版本
85級大地的裂變版本
90級熊貓人之謎版本
100級德拉諾之王版本
R110級軍團再臨版本
120級爭霸艾澤拉斯版本
?
原版AzerothCore編譯,仿官,集成Lua,無人數(shù)限制,無機器限制,無bug是目前修復(fù)最好的魔獸服務(wù)端了!
?
包含地圖文件和數(shù)據(jù)庫(已漢化)全程技術(shù)教學(xué)有任何都可以及時解決
服務(wù)器:一個游戲整體的游戲體驗感以及流暢度都是由服務(wù)器決定的。
魔獸的服務(wù)端以及客戶端都比較大,對服務(wù)器的要求也會比較高建議配置E5系列,再強一些i9游戲高頻系列。
?
選擇linux來搭建操作步驟方法:
?
這里我用的是Debian
?
環(huán)境搭建
apt-get update
?
apt-get install git clang cmake make gcc g++
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100
?
#boost依賴,如下
apt-get install -y libboost-dev \
libboost-system-dev \
libboost-filesystem-dev \
libboost-program-options-dev \
libboost-iostreams-dev
# 或者 如下
# apt-get install libboost-all-dev
# zlib在 zlib1g-dev
apt-get install zlib1g-dev
# openssl
apt-get install libssl-dev
# readline
apt-get install libreadline-dev
# mysql
apt-get install -y libmysqlclient-dev
創(chuàng)建wow用戶
這里用root
?
adduser wow
su wow
如果用windows子系統(tǒng),可以設(shè)置默認進入用戶
?
windows進入cmd命令行,執(zhí)行指令進入Apps目錄:
?
cd %HOMEPATH%\AppData\Local\Microsoft\WindowsApps
因為我安裝的debian,所以這個目錄下有個debian.exe的文件(如果是ubuntu那么就是ubuntu.exe)
?
debian.exe config --default-user wow
設(shè)置完再進入子系統(tǒng)就是wow用戶了
?
約定目錄
這里用wow
?
# 以wow權(quán)限執(zhí)行
su wow
cd ~
網(wǎng)絡(luò)游戲,需要C端和S端,即客戶端和服務(wù)器端。預(yù)先創(chuàng)建對應(yīng)目錄方便后面操作。
?
# TrinityCore源碼目錄
mkdir /home/wow/TrinityCore
?
# 服務(wù)器目錄。最終包含etc,bin,data三個子目錄
mkdir /home/wow/server3.5.5
?
# 客戶端目錄。后面用于存放客戶端版本,提取客戶端數(shù)據(jù)
mkdir /home/wow/client12340
S端下載
Release TDB 335.22061 · TrinityCore/TrinityCore · GitHub
?
?
?
cd /home/wow/TrinityCore
wget https://github.com/TrinityCore/TrinityCore/archive/refs/tags/TDB335.22061.zip
#解壓
unzip TDB335.22061.zip
C端下載
客戶端版本:3.3.5(13930 或者12340) 自己想辦法下載。魔獸老兵都懂如何下載正確版本。
?
數(shù)據(jù)庫
這里用root
?
環(huán)境搭建中我們已經(jīng)安裝mariadb-server數(shù)據(jù)庫(當(dāng)然也可以使用mysql)。
初始化數(shù)據(jù)庫
mysql_secure_installation
?
# Enter current password for root (enter for none):
輸入回車
?
# Change the root password? [Y/n]
Y
# 輸入兩次 密碼
?
# Remove anonymous users? [Y/n]
Y
?
# Disallow root login remotely? [Y/n]
# Y表示讓root用戶遠程登錄,N表示可以遠程登錄
?
Remove test database and access to it? [Y/n]
Y
?
Reload privilege tables now? [Y/n]
Y
登錄數(shù)據(jù)庫
????mysql -u root
?????
????登錄成功,類似如下
?????
????Welcome to the MariaDB monitor. ?Commands end with ; or \g.
????Your MariaDB connection id is 2
????Server version: 10.1.29-MariaDB-6 Ubuntu 18.04
?????
????Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
?????
????Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
?????
????MariaDB [(none)]>
導(dǎo)入數(shù)據(jù)
第一步,創(chuàng)建數(shù)據(jù)庫
source /home/wow/TrinityCore/TrinityCore-TDB335.22061/sql/create/create_mysql.sql
show databases;
+--------------------+
| Database ??????????|
+--------------------+
| auth ??????????????|
| characters ????????|
| information_schema |
| mysql ?????????????|
| performance_schema |
| world ?????????????|
+--------------------+
第二步,建表
use auth;
source /home/wow/TrinityCore/TrinityCore-TDB335.22061/sql/base/auth_database.sql
use characters;
source /home/wow/TrinityCore/TrinityCore-TDB335.22061/sql/base/characters_database.sql
編譯服務(wù)端
這里切回wow
?
構(gòu)建
su wow
cd /home/wow/TrinityCore/TrinityCore-TDB335.22061
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server3.5.5 #構(gòu)建項目
編譯
這個步驟可能時間比較長,可以用nohup或者screen執(zhí)行
?
make -j $(nproc) install #編譯項目
編譯成功后
ls /home/wow/server3.5.5 #可看到server3.5.5目錄下有這3個文件夾 bin ?data ?etc
bin下面是生成的可執(zhí)行文件。
data下面后面會放入客戶端提取的地圖數(shù)據(jù)。
etc 下面是一些配置文件。
注:查看并留意下這三個目錄里面的文件,后面會用到。
?
地圖數(shù)據(jù)載入
創(chuàng)建數(shù)據(jù)目錄
用來存放地圖數(shù)據(jù)
mkdir /home/wow/server3.5.5/data
修改配置文件
把worldserver.conf.dist和authserver.conf.dist各自復(fù)制一份,然后去掉后綴.dist 。
?
cp /home/wow/server3.5.5/etc/worldserver.conf.dist /home/wow/server3.5.5/etc/worldserver.conf
cp /home/wow/server3.5.5/etc/authserver.conf.dist /home/wow/server3.5.5/etc/authserver.conf
修改worldserver.conf 中 DataDir = "." 為 DataDir = "../data"。
?
?
?
注意:我這里填的是相對路徑"../data",你也可以填寫絕對路徑“/home/wow/server3.5.5/data”
?
從客戶端導(dǎo)出地圖數(shù)據(jù)
將下載好的客戶端,復(fù)制一份到上面約定的客戶端目錄/home/wow/client12340中,進入目錄。
?
cd /home/wow/client12340
運行下面命令,提取客戶端數(shù)據(jù)。這個過程有點慢,請耐心等待。
?
DBC and Maps files
/home/wow/server3.5.5/bin/mapextractor
mkdir /home/wow/server3.5.5/data
??
cp -r dbc maps /home/wow/server3.5.5/data
Visual Maps (aka vmaps)
/home/wow/server3.5.5/bin/vmap4extractor
mkdir vmaps
/home/wow/server3.5.5/bin/vmap4assembler Buildings vmaps
cp -r vmaps /home/wow/server3.5.5/data
Movement Maps (aka mmaps)
mkdir mmaps
/home/wow/server3.5.5/bin/mmaps_generator
cp -r mmaps /home/wow/server3.5.5/data
將地圖數(shù)據(jù)copy到數(shù)據(jù)目錄
cp -r dbc maps /home/wow/server3.5.5/data
cp -r vmaps /home/wow/server3.5.5/data
cp -r mmaps /home/wow/server3.5.5/data
配置連接
數(shù)據(jù)庫配置
連接數(shù)據(jù)庫,輸入以下sql,打開auth庫,并查看表realmlist
?
use auth; ?
select id,name,address,localaddress,gamebuild from realmlist;
?

?
address為現(xiàn)網(wǎng)ip,及客戶端連接ip。本地跑默認127.0.0.1就好。如果部署到服務(wù)器,需要更改為對應(yīng)的ip。
port為對外端口,及客戶端連接端口。現(xiàn)網(wǎng)需要開放本端口
localaddress為內(nèi)網(wǎng)ip
gamebuild 為客戶端版本號 ,是12340 還是 13930 取決于你所使用的客戶端版本
客戶端配置
打開客戶端目錄,找到wow.exe,同級目錄下創(chuàng)建init_connect.bat,內(nèi)容如下。
?
然后,運行腳本。此時,初始化客戶端連接配置成功。
?
#在本地跑ip用127.0.0.1,這個ip對應(yīng)上面realmlist中的address
?
echo y | rd /s "Cache"
echo SET realmlist "127.0.0.1" > Data\zhTW\realmlist.wtf
echo SET realmlist "127.0.0.1" > Data\enTW\realmlist.wtf
echo SET realmlist "127.0.0.1" > Data\zhCN\realmlist.wtf
echo SET realmlist "127.0.0.1" > Data\enCN\realmlist.wtf
echo SET realmlist "127.0.0.1" > Data\enUS\realmlist.wtf
echo SET realmlist "127.0.0.1" > realmlist.wtf
start Wow.exe
啟動服務(wù)端
先運行 authserver
/home/wow/server3.5.5/bin/authserver
# or
/home/wow/server3.5.5/bin/authserver -c /home/wow/server3.5.5/etc/authserver.conf
以下為成功啟動
?
Connected to MySQL database at 127.0.0.1
DatabasePool 'auth' opened successfully. 2 total connections running.
Started auth database connection pool.
Loading IP Location Database...
Added realm "Trinity" at 127.0.0.1:8085.
再運行 worldserver
/home/wow/server3.5.5/bin/worldserver
如果你按照上述步驟一步一步到了這里。那么運行結(jié)果可能
提示缺TDB_full_world_335.22061_2022_06_01.sql!??!
?
File "TDB_full_world_335.22061_2022_06_01.sql" is missing,
download it from "https://github.com/TrinityCore/TrinityCore/releases"
uncompress it and place the file "TDB_full_world_335.22061_2022_06_01.sql"
in the directory "/home/rendu".
這里根據(jù)你當(dāng)前運行的worldserver的提示去下載
World initialized in 11 minutes 39 seconds
Starting up anti-freeze thread (60 seconds max stuck time)...
TrinityCore rev. fc56410b6e0d 2021-02-19 00:42:06 +0200 (3.3.5 branch) (Unix, RelWithDebInfo, Static) (worldserver-daemon) ready...
TC>
看到如上輸出,那么恭喜你,worldserver啟動成功。
?
登入世界
添加賬號
這里我創(chuàng)建了一個用戶名為wow1,密碼也為wow1的賬號,并升級為GM等級
?
創(chuàng)建賬號
創(chuàng)建一個wow的賬號先,worldserver命令行輸入,如下
?
# 這里我們創(chuàng)建了一個用戶名為wow1,密碼也為wow1的賬戶
TC> account create wow1 wow1
TC> Account created: wow1
升級為GM
可以提升wow1的gmlevel為3,升級為GM賬號,worldserver命令行輸入,如下
?
# 緊接著我們把wow1賬戶升級為gm
TC> account set gmlevel wow1 3 -1
TC> Security level of account WOW1 changed to 3.
登入游戲
windows中找到客戶端可執(zhí)行文件wow.exe,雙擊運行,打開客戶端。
?
然后輸入剛才的賬號就可以了
?


?
?
客戶端登錄游戲
在魔獸世界客戶端,創(chuàng)建 [ 登錄.bat ] 文件,并寫入如下內(nèi)容:
@echo y | rd /s "Cache"
echo SET realmlist "[服務(wù)器ip或域名]:1002"> realmlist.wtf
echo SET realmList "[服務(wù)器ip或域名]:1002"> Data/zhCN/realmlist.wtf
echo SET realmList "[服務(wù)器ip或域名]:1002"> Data/zhTW/realmlist.wtf
?
ren Data\commoo.MPQ common.MPQ
ren Data\expansioo.MPQ expansion.MPQ
start wow.exe
goto end
:end
雙擊 [ 登錄.bat ], 進入游戲
?
寶塔面板
用于對接管理系統(tǒng)
?
安裝
寶塔Linux面板安裝
Centos安裝腳本:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 1ba5f33dfyum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 1ba5f33df
?
Ubuntu/Deepin安裝腳本:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh 1ba5f33df
?
Debian安裝腳本:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh 1ba5f33df
?
?
只安裝面板,不需要安裝任何web服務(wù)相關(guān)工具
?
接口配置
面板設(shè)置->API接口
啟用接口,并保存API密鑰
添加服務(wù)器ip到白名單
開放端口
1001 : 服務(wù)器連接端口
1002 : 用戶登錄端口
1003 : mysql數(shù)據(jù)庫端口
1004 : SOAP端口
服務(wù)器關(guān)鍵信息
服務(wù)器ip或域名
服務(wù)器連接端口
用戶登錄端口
mysql數(shù)據(jù)庫端口
數(shù)據(jù)庫賬戶/密碼
SOAP端口
GM賬戶/密碼
寶塔地址
寶塔API接口密鑰
服務(wù)器控制
進入 /azerothcore-wotlk 目錄
?
前臺運行
docker-compose up
可以看到服務(wù)器啟動信息
Ctrl+C 會關(guān)閉服務(wù)器
關(guān)閉命令行窗口, 會關(guān)閉服務(wù)器
后臺運行
docker-compose start
重啟服務(wù)器
docker-compose restart
停止服務(wù)器
docker-compose stop
查看運行情況
docker-compose ps
刪除服務(wù)器
docker-compose down
參考資料
Redirecting…
對接管理系統(tǒng)
魔獸世界服務(wù)端管理系統(tǒng):馳網(wǎng)艾西魔獸世界服務(wù)端管理系統(tǒng)
?
服務(wù)器編譯運行成功之后, 如果需要其他玩家在線注冊, 可以對接 魔獸世界服務(wù)端管理系統(tǒng),
?
除了在線注冊,還有其他很多功能, 比如:添加在線商城售賣道具,查看服務(wù)器在線玩家,管理員還可以通過網(wǎng)頁端,對服務(wù)器進行控制,在線編輯luna腳本等等...
?