夢幻西遊H5遊戲超詳細圖文架設教程
前言
想體驗經典Q版西遊霸服快樂嗎?想體驗滿級VIP的尊貴嗎?想體驗一招秒殺的爽快嗎?各種極品裝備、翅膀、寵物通通給你,就在夢幻西遊!
本文講解夢幻西遊H5遊戲的架設教程,想研究H5遊戲如何實現,體驗遊戲中秒天秒地秒空氣的一定不要錯過。

我架設的夢幻西遊鏈接://game.echeverra.cn,登錄就送滿級VIP和終生卡,關注我的微信公眾號 echeverra 發送「夢幻西遊GM」,告訴我你的遊戲角色名,我會第一時間給你授權後台GM,快來體驗一下吧。
之前寫過大天使之劍H5遊戲超詳細圖文架設教程,遊戲鏈接://39.105.134.68:81,感興趣的也可以看看。
大天使之劍是經典的傳奇類遊戲,這回架設的夢幻西遊則是經典的回合制類遊戲。
遊戲截圖:




架設
1.架設條件
夢幻西遊架設需要準備:
- linux服務器,推薦centos7/8版本,可以考慮阿里雲騰訊雲等。
- 遊戲源碼,關注我的公眾號 echeverra,發送「夢幻西遊」獲取。
遊戲源碼中已去除廣告,並修復部分功能。
2.安裝寶塔及環境
寶塔是一個服務器運維管理軟件,安裝命令:
yum install -y wget && wget -O install.sh //download.bt.cn/install/install_6.0.sh && sh install.sh
安裝完後,按照提示信息登錄寶塔(如果無法訪問可能是由於服務器沒有開放8888端口,參考第5條開放端口),並在寶塔軟件商店中搜索以下軟件安裝:
- web服務器:nginx 1.20
- 數據庫:mysql 5.6
- 編程語言:PHP 5.6、PHP 7.4
- 數據庫管理工具:phpMyAdmin 4.9
3.上傳源碼
拿到源碼後解壓會得到sql和xyh5兩個文件,將xyh5壓縮文件通過寶塔上傳到根目錄(如果寶塔禁止上傳到根目錄,可上傳其他路徑後剪切粘貼到根目錄)。

上傳成功後解壓到根目錄

解壓完成後,通過命令授予777權限
chmod -R 777 /home/server
chmod -R 777 /www/wwwroot/xy
安裝lua腳本
cd /home/soft
tar -zxvf lua-5.1.5.tar.gz
cd lua-5.1.5
make linux test && make install
安裝lua相關依賴
yum install readline-dev readline-devel unzip
安裝模塊管理工具luarocks
cd /home/soft
tar -zxvf luarocks-3.0.4.tar.gz
cd luarocks-3.0.4/
./configure --with-lua=/usr/local --with-lua-include=/usr/local/include
make && make install && make bootstrap
luarocks install luasocket
4.導入數據庫
通過寶塔修改數據庫root密碼:echeverra(涉及到安全問題,建議修改成自己的密碼,對應源碼中的echeverra也需替換成自己的密碼,推薦使用webstorm或vscode IDE全局搜索並替換)。

開放數據庫遠程權限:
mysql -u root -pecheverra
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'echeverra' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit
創建以下數據庫:
- account
- chargeserver
- gameserver(字符集UTF-8,排序規則utf8_unicode_ci)
- gmserver
- oaglobal
- operationanalysisserver
- worldserver
上傳sql文件夾下的數據庫文件並導入,以account為例(用戶名密碼默認即可,代碼中使用root賬戶)。


5.開放端口
需要開放的端口:
- 寶塔:8888
- phpmyadmin:888
- mysql:3306
- 遊戲相關端口:80、10001、11001、12001 、8001、8004
服務器開放端口,以阿里雲開放10001端口為例,其他端口按照同樣方式添加,其他服務器也在安全里設置。

寶塔開放端口,同樣以10001端口為例:

如果不開放端口,服務會無法訪問,如果對安全沒什麼要求,可以直接開放1-65535端口。
6.修改IP
源碼中的IP是我自己虛擬機的,需要替換成你自己的服務器IP。
需要修改IP的文件:
/www/wwwroot/xy/cdn/preload.js
/www/wwwroot/xy/cdn/index.min.html
/www/wwwroot/xy/cdn/serverlist.php
/www/wwwroot/xy/cdn/serverlist.json
舉例修改preload.js文件,其他文件修改方式相同。
找到preload.js雙擊打開編輯模式,按Ctrl+F搜索39.105.134.68,找到後替換成你的服務器IP並保存。

7.創建遊戲網站
添加遊戲網站才能訪問遊戲,網站域名寫你的IP,根目錄為/www/wwwroot/xy/,PHP選擇5.6版本。

8.開啟遊戲
以上都執行完畢,那麼就到了激動人心的啟動遊戲啦,啟動命令:
cd /home/server
sh start.sh

啟動成功後查看下端口10001、11001、12001 、8001、8004是否監聽中,少任何一個都無法成功啟動遊戲。
netstat -lntp

訪問遊戲鏈接://IP/cdn/,使用你服務器的IP。

輸入用戶名密碼,點擊一鍵註冊或登錄,等待資源加載完成,選擇分區(只有一個區),進入遊戲,Nice~
如果加載到95%一段時間不動,說明10001端口沒有在監聽中。
9.GM工具
遊戲GM工具訪問鏈接://IP/gm/gm.php,賬號admin,密碼123456,可以給遊戲玩家授權GM功能,同樣也可以給玩家充值發送物品。

刷新遊戲後郵件查收。

10.關閉遊戲
關閉遊戲執行命令:
cd /home/server
sh stop.sh

後續
1.修改GM賬號
修改GM用戶名密碼需要修改文件/www/wwwroot/xy/gm/config.php。

修改$admin和$gmcode即可修改GM的賬號和密碼,需要注意的是$key不可隨意修改,如果修改需對應調整gmkey的值才能通過驗證,而gmkey的值則是通過md5($key)得到。
2.授權源碼分析
GM工具可以對遊戲玩家進行GM授權,授權有兩種,vip1充值只能進行元寶充值,vip2充值郵件可進行元寶充值和物品發送。那麼在代碼中它是如何實現的呢?我們打開/gm/adminquery.php文件。

首先會通過$uid.$pwd.$key三個字段拼接後用md5加密,然後將用戶$uid作用key,$pwd、$vip、$qu作value以數組形式保存到文件中來儲存vip用戶的信息。
打開vip1.json可以看到保存的數據:

同樣,被授權玩家通過//IP/gm/打開玩家GM登錄同樣會讀取vip1.json文件進行校驗該用戶是否為vip用戶,所以玩家登錄GM的密碼和GM賬號的密碼一致為123456,並非玩家賬號的密碼。
3.使用域名訪問
有好奇的小夥伴會發現我架設的遊戲鏈接是//game.echeverra.cn,並不是IP,這是因為之前的搭建的大天使之劍使用的就是IP形式,寶塔提示重複,所以使用的域名形式,而且域名看起來更加專業嘛~
改成域名訪問也很簡單,需要修改以下幾處:
修改文件:
/www/wwwroot/xy/cdn/preload.js
/www/wwwroot/xy/cdn/index.min.html


需要注意的是,使用域名路徑後的/cdn/也省略掉。
接下來修改遊戲網站,填寫域名,根目錄為/www/wwwroot/xy/cdn/。

因為遊戲路徑到/cdn/無法通過該域名訪問上一級目錄/gm/,所以我們還需要建一個GM的域名gm.echeverra.cn創建GM網站,目錄為/www/wwwroot/xy/gm/,訪問鏈接://gm.echeverra.cn。

以上就是夢幻西遊所有的圖文架設教程,希望對你有所幫助,如有問題可通過我的博客//echeverra.cn或微信公眾號echeverra聯繫我。
你學「廢」了么?
文章首發於我的博客 //echeverra.cn/xyh5,原創文章,轉載請註明出處。
歡迎關注我的微信公眾號 echeverra,一起學習進步!不定時會有資源和福利相送哦!
