驰网飞飞 发表于 2024-6-7 10:30:06

大天使之剑H5游戏服务器搭建图文教程

想体验传奇游戏霸服的快乐吗?想体验满级VIP的尊贵吗?想体验一刀99999的爽快吗?各种极品装备、翅膀、宠物通通给你,就在大天使之剑!

今天飞飞和你分享大天使之剑H5游戏的架设教程,想研究H5游戏如何开服,体验游戏中秒天秒地秒空气的一定不要错过~

游戏截图:











1、架设前准备
大天使之剑架设需要准备:
linux服务器,推荐CentOS 7/8版本,我用的是驰网物理服务器

2、安装宝塔
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 1ba5f33df宝塔是一个服务器运维管理软件,我从最开始的LAMP到PHPstudy再到宝塔,发现宝塔真香!图形化界面用起来是真的省心。安装完后,会给出访问的url、用户名和密码,记得保存下来,访问宝塔界面,如果无法访问可能是由于服务器没有开放8888端口,参考第7条开放端口。


3、环境安装
宝塔安装完后,我们需要安装一下游戏的运行环境:

web服务器:nginx 1.20
数据库:mysql 5.6
编程语言:PHP 5.6、PHP 7.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


创建h5和actor两个数据库,h5存储了用户相关数据,actor存储了游戏相关数据。




密码不用修改,因为源码中使用的是root管理员账号。

将游戏源码文件中的压缩文件sql解压,得到两个sql文件,上传并导入对应数据库。




导入后,使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、开放端口
需要开放的端口:
宝塔:8888
phpmyadmin:888
mysql:3306
游戏相关端口:81、5007、6007、7007、9007
驰网物理服务器默认游戏端口都是开放的

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,还需修改数据库h5中表server的IP字段。

打开phpmyadmin管理工具:


双击字段修改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邮件


直接满级VIP,也就是2万RMB的充值!


同样你也可以单独打开GM界面进行操作,链接:​​http://IP:81/gm


13、关闭游戏
关闭游戏执行命令:
cd /data/
sh stop_server.sh

执行后没有提示,即代表关闭成功。为什么没有提示,因为没有结果就是最好的结果。

14、后续
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_5​​​、​​gameworld_24_5​​​、​​gateway_qiji_24_5​​​、​​loggerserver_24_5​​都进行了加密处理,没法进一步研究,但是其他的功能,特别是前台对游戏界面渲染的实现还是很有研究价值的。

以上就是大天使之剑所有的图文架设教程,感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
页: [1]
查看完整版本: 大天使之剑H5游戏服务器搭建图文教程

点击直接加入[服务器大本营QQ频道]