引言
想体验传奇游戏霸服的高兴吗?想体验满级 VIP 的尊贵吗?想体验一刀 99999 的痛快吗?各种极品配备配备、翅膀、宠物统统给你,就在大天使之剑!
本文解说大天使之剑 H5 游戏的架设教程,想钻研 H5 游戏如何实现,体验游戏中秒天秒地秒空气的肯定不要错过。
我搭建的大天使之剑游戏链接:http://39.105.134.68:81,电脑和手机上都可完满运行,快来体验一下吧。
游戏截图:
架设
1. 架设条件
大天使之剑架设须要筹备:
- linux 服务器,举荐 centos7/ 8 版本,能够思考阿里云腾讯云等。
- 游戏源码,关注我的公众号 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. 环境装置
宝塔装置完后,咱们须要装置一下游戏的运行环境:
- 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
服务器凋谢端口,以阿里云凋谢 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,还需批改数据库 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
执行后没有提醒,即代表敞开胜利。为什么没有提醒,因为没有后果就是最好的后果。
后续
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
都进行了加密解决,没法进一步钻研,然而其余的性能,特地是前台对游戏界面渲染的实现还是很有钻研价值的。
以上就是大天使之剑所有的图文架设教程,心愿对你有所帮忙,如有问题可通过我的博客 https://echeverra.cn 和微信公众号 echeverra 分割我。
你学“废”了么?
文章首发于我的博客 echeverra,原创文章,转载请注明出处。
欢送关注我的微信公众号,一起学习提高!不定时会有资源和福利相送哦!