大天使之劍H5游戲超詳細圖文架設教程


引言

想體驗傳奇游戲霸服的快樂嗎?想體驗滿級VIP的尊貴嗎?想體驗一刀99999的爽快嗎?各種極品裝備、翅膀、寵物通通給你,就在大天使之劍!

本文講解大天使之劍H5游戲的架設教程,想研究H5游戲如何實現,體驗游戲中秒天秒地秒空氣的一定不要錯過。

我搭建的大天使之劍游戲鏈接:http://39.105.134.68:81,電腦和手機上都可完美運行,快來體驗一下吧。

游戲截圖:

登錄界面

滿級vip無限金幣鑽石

炫酷技能

全區第一

GM工具

架設

1.架設條件

大天使之劍架設需要准備:

  1. linux服務器,推薦centos7/8版本,可以考慮阿里雲騰訊雲等。
  2. 游戲源碼,關注我的公眾號echeverra,發送“大天使之劍”獲取。

游戲源碼中我已去除掉廣告,並修復了GM、關閉游戲等功能。

2.安裝寶塔

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

寶塔是一個服務器運維管理軟件,我從最開始的LAMP到PHPstudy再到寶塔,發現寶塔真香!圖形化界面用起來是真的省心。安裝完后,會給出訪問的url、用戶名和密碼,記得保存下來,訪問寶塔界面,如果無法訪問可能是由於服務器沒有開放8888端口,參考第7條開放端口。

寶塔

3.環境安裝

寶塔安裝完后,我們需要安裝一下游戲的運行環境:

  1. web服務器:nginx 1.20
  2. 數據庫:mysql 5.6
  3. 編程語言:PHP 5.6、PHP 7.4
  4. 數據庫管理工具:phpMyAdmin 4.9

游戲建站使用的是PHP 5.6,PHP 7.4是安裝phpMyAdmin的前置條件。

通過寶塔軟件商店進行安裝:

環境安裝

除了通過寶塔安裝的環境,還有需要通過命令安裝的環境。

安裝支持浮點運算的語言bc和庫文件libnsl:

yum install bc
yum install libnsl

命令裝環境

后續步驟中的執行命令均從終端菜單中進入執行,不再截圖展示。

4.上傳源碼並解壓

拿到游戲源碼后,解壓壓縮文件大天使之劍,會得到angel和sql兩個壓縮文件,將angel壓縮文件上傳到服務器根目錄。

上傳資源

上傳完后,選擇壓縮文件angel並解壓到根目錄。

解壓游戲資源

5.文件權限

解壓完成后,需要對解壓的目錄/data/www/wwwroot/angel賦予完整777權限。

權限處理

權限處理

或者通過命令授權:

chmod -R 777 /data
chmod -R 777 /www/wwwroot/angel

執行命令可能會提示.user.ini文件權限無法更改,跳過即可,不影響架設。

6.導入數據庫

先通過寶塔修改數據庫root密碼:0987abc123

修改root密碼

創建h5和actor兩個數據庫,h5存儲了用戶相關數據,actor存儲了游戲相關數據。

創建h5數據庫

創建actor數據庫

密碼不用修改,因為源碼中使用的是root管理員賬號。

將游戲源碼文件中的壓縮文件sql解壓,得到兩個sql文件,上傳並導入對應數據庫。

上傳數據庫文件

導入actor數據庫文件

導入h5數據庫文件

導入后,使root用戶可以從任何主機連接到mysql服務器,執行命令:

mysql -uroot -p0987abc123
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY '0987abc123' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '0987abc123' WITH GRANT OPTION;
flush privileges;
exit 

7.開放端口

需要開放的端口:

  1. 寶塔:8888
  2. phpmyadmin:888
  3. mysql:3306
  4. 游戲相關端口:81、5007、6007、7007、9007

服務器開放端口,以阿里雲開放81端口為例,其他端口按照同樣方式添加,其他服務器也在安全里設置。

服務器開放81端口

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

寶塔開放81端口

如果不開放端口,服務會無法訪問,如果對安全沒什么要求,可以直接開放1-65535端口。

8.修改IP

源碼中的IP是我自己虛擬機的,需要替換成你自己的服務器IP。

需要修改IP的文件:

/www/wwwroot/angel/app1.php
/www/wwwroot/angel/login.php
/www/wwwroot/angel/config.php
/www/wwwroot/angel/game.php
/www/wwwroot/angel/login/cqlb/server.php
/www/wwwroot/angel/resource/main.min.js
/www/wwwroot/angel/login_bt.json

舉例修改angel/app1.php文件,其他文件修改方式相同。

找到app1.php雙擊打開編輯模式,按Ctrl+F搜索39.105.134.68,找到后替換成你的服務器IP並保存。

修改IP

除了需要修改文件的IP,還需修改數據庫h5中表server的IP字段。

打開phpmyadmin管理工具:

phpmyadmin

雙擊字段修改IP,回車保存:

修改數據庫表IP

9.創建游戲網站

添加游戲網站才能訪問H5游戲,通過網站菜單添加站點,域名寫你的IP:81,根目錄為/www/wwwroot/angel/,PHP選擇5.6版本。

創建游戲網站

10.啟動游戲

以上都執行完畢,那么到了激動人心的啟動游戲啦,啟動命令:

cd /data/
sh start_server.sh

正常啟動后會提示success,查看監聽端口可看到5007、6007、7007、9007處在監聽中,那么恭喜你可以開始游戲啦。

netstat -lntp

啟動游戲

11.開始游戲

訪問游戲鏈接:http://IP:81,使用你服務器的IP。

游戲登錄界面

可以打開游戲登錄界面,恭喜你已經成功了第一步,然后注冊個賬號登錄游戲,點擊開始游戲,此時會停留在一個界面2-3分鍾時間,如下圖,這是由於一直在加載一個10MB+的文件,耐心等待即可,第二次開始游戲會讀取瀏覽器緩存數據,無需等待。

開始游戲等待界面

填寫游戲名稱,選擇職業,目前有三個職業,劍士、魔法師和弓箭手,游戲中最后你將擁有三個職業,所以選擇哪個都可以。

選擇角色

最后,進入游戲界面,恭喜你已經成功完成游戲架設!

游戲開始

12.GM工具

游戲自帶GM工具,也就是Game Master游戲管理員,可以對游戲進行充值,發送裝備,經驗材料等功能,游戲內置的充值已屏蔽了支付配置。點擊左側GM懸浮按鈕,打開GM界面。賬號填寫登錄的賬號,不是游戲人物名稱,元寶280代表充值月卡,滿級VIP10需充值200000元寶。

GM

郵件收取GM郵件

鑽石

直接滿級VIP,也就是2萬RMB的充值!

滿級VIP

同樣你也可以單獨打開GM界面進行操作,鏈接:http://IP:81/gm
GM界面

啊!無敵是多么寂寞...

13.關閉游戲

關閉游戲執行命令:

cd /data/
sh stop_server.sh

執行后沒有提示,即代表關閉成功。為什么沒有提示,因為沒有結果就是最好的結果。

后續

1.安全問題

架設中使用的數據庫是root賬戶,密碼0987abc123,這就相當於把數據庫暴漏了,知道IP就可以直接登錄操作數據庫了,所以存在着很大的安全問題。

首先我想到的解決辦法就是修改root賬戶的密碼,將源碼中所有0987abc123替換成自己的密碼,但是游戲沒有運行成功,研究源碼發現后台的核心文件gameworld_24_5是加密的,會讀取GameWorld.txt文件中的配置:

--數據庫連接配置
SQL = 	{ 	
  Host = "127.0.0.1",		
  Port = 3306, 		
  DBName = "actor",		
  DBUser = "root", 		
  DBPass = "jdusVRPm8XI+vYJb5gNZiw=="	
}, --0987abc123	

后台使用的數據庫密碼DBPass是0987abc123通過加密算法得到的,不知道加密方式和加密key無法設置新的密碼,所以修改密碼這種方法是行不通的。

所以只能修改用戶名,對應三個數據庫h5、actor、log(后台會自行創建log數據庫)創建對應的賬戶,密碼全部設置為0987abc123,只要不泄露賬戶名,數據庫還是安全的,而且不會影響到root下的其他數據庫。

對應修改源碼中的數據庫配置,將root用戶名按照實際使用的數據庫修改為對應的賬戶名。如上面GameWorld.txt文件中修改的是actor數據庫,那么就將root修改為actor數據庫的賬戶。推薦使用webstorm或vscode IDE可全局搜索並替換。

還需要執行架設第6條導入數據庫中的命令,使三個賬戶可以從任何主機連接到mysql服務器。

重新導入文件,運行游戲成功,這樣就解決了數據庫的安全問題。

2.修改區名

修改區名需要修改兩處。

修改/data/gameworld/GameWorld.txt文件

區名

修改數據庫h5中server表name字段

區名

關閉游戲,重新啟動游戲,否則有可能會報“不存在這個服務器”錯誤。

3.關於源碼

大天使之劍H5游戲使用的是ajax和websocket通信方式傳輸游戲中的數據,主要使用shell命令、PHP、Lua、JavaScript等編程語言實現,可惜后台核心文件dbserver_24_5gameworld_24_5gateway_qiji_24_5loggerserver_24_5都進行了加密處理,沒法進一步研究,但是其他的功能,特別是前台對游戲界面渲染的實現還是很有研究價值的。

以上就是大天使之劍所有的圖文架設教程,希望對你有所幫助,如有問題可通過我的博客https://echeverra.cn和微信公眾號echeverra聯系我。

你學“廢”了么?


文章首發於我的博客 https://echeverra.cn,原創文章,轉載請注明出處。
歡迎關注我的微信公眾號,一起學習進步!不定時會有資源和福利相送哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM