大天使之剑H5游戏超详细图文架设教程
引言
想体验传奇游戏霸服的快乐吗?想体验满级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联系我。
你学“废”了么?
文章首发于我的博客 https://echeverra.cn,原创文章,转载请注明出处。

欢迎关注我的微信公众号,一起学习进步!不定时会有资源和福利相送哦!
大天使之剑H5游戏超详细图文架设教程的更多相关文章
- 梦幻西游H5游戏超详细图文架设教程
前言 想体验经典Q版西游霸服快乐吗?想体验满级VIP的尊贵吗?想体验一招秒杀的爽快吗?各种极品装备.翅膀.宠物通通给你,就在梦幻西游! 本文讲解梦幻西游H5游戏的架设教程,想研究H5游戏如何实现,体验 ...
- 超强、超详细Redis入门教程【转】
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...
- SCIP | 数学规划求解器SCIP超详细的使用教程
前言 小伙伴们大家好呀!继上次lp_solve规划求解器的推文出来以后,大家都期待着更多求解器的具体介绍和用法.小编哪敢偷懒,这不,赶在考试周之际,又在忙里偷闲中给大家送上一篇SCIP规划求解的推文教 ...
- 超详细Redis入门教程【转】
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使 ...
- GitHub超详细图文攻略
GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git 分类: 转载2014-03-25 21:10 10641人阅读 评论(2) 收藏 举报 GitHubbr ...
- Sublime Text 3 全程详细图文原创教程
Sublime Text 3 全程详细图文原创教程(持续更新中...) 一. 前言 使用Sublime Text 也有几个年头了,版本也从2升级到3了,但犹如寒天饮冰水,冷暖尽自知.最初也是不知道从何 ...
- 在Ubuntu下进行XMR Monero(门罗币)挖矿的超详细图文教程
大家都知道,最近挖矿什么的非常流行,于是我也在网上看了一些大神写的教程,以及跟一些大神请教过如何挖矿,但是网上的教程都感觉写得不够详细,于是今天我这里整理一个教程,希望能够帮到想要挖矿的朋友. 首先, ...
- VMware虚拟机下安装CentOS7.0超详细图文教程
1.本文说明: 官方的第一个文本档案.也就是0_README.txt,大概意思是这样(渣翻译,但是大概意思还是有的). CentOS-7.0-1406-x86_64-DVD.iso:这个镜像(DVD ...
- 【python】10分钟教你用Python做个打飞机小游戏超详细教程
更多精彩尽在微信公众号[程序猿声] 我知道你们一定想先看效果如何 00 目录 整体框架 开始之前-精灵类Sprite 子弹类class Bullet 玩家飞机类class Player 敌机类clas ...
随机推荐
- 【洛谷1434 [SHOI2002]滑雪】记忆化搜索
AC代码 #include <bits/stdc++.h> using namespace std; #define ms(a,b) memset(a,b,sizeof(a)) typed ...
- 开发工具IDE从入门到爱不释手(一)项目初始配置
前言 版本:IDE 2019.2.3 JDK:1.8 一.字体 快捷键:Ctrl+Alt+S ;打开Settings,一般系统配置都在这里 输入font,需要修改字体有三处 Apperance:ID ...
- PowerProto: gRPC工具链(protoc, protoc-gen-go)的一键安装与版本控制
PowerProto: gRPC工具链(protoc, protoc-gen-go)的一键安装与版本控制 中文 | English 项目地址:An awesome version control t ...
- swagger json导出word,Typora软件推荐!!!
场景: 前几天项目验收,赶了一整天补API接口设计文档,给爷整吐了.周末的时候就想能不能直接把swagger的json文件导出成word? 顺便学习一下NPOI的使用. 实现思路: 1.先把swaag ...
- Linux下如何查看定位当前正在运行软件的配置文件
netstat命令 用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 netstat -lntup 说明: l:listening n:num t:tc ...
- 从事IT行业 vs 玩卡牌手游
我曾经玩过一款手游,它一直不停地推出新的更高品质的道具和人物,新出的东西比旧的东西拥有更强力的功能,要想保持领先就必须一直充钱出新东西才行.不管你以前充了十几万还是几十万,如果有半年不充,那就会被新区 ...
- IOS真机调试找不到设备:ERROR: Could not connect to lockdownd, error code -[x]
报错信息: Could not connect to lockdownd, error code -3 解决方法:修改var/db/lockdown文件夹的读写权限 在终端找到文件夹cd var/db ...
- 对HashMap的一次记录
HashMap的具体学习,认识了解. 前言 也是最近开始面试才发现,HashMap是问的真多.以前听学长或自己在网上看到过一些面试资料都在说集合.线程这块比较重要,面试的重点.自己也是有那抵触情绪,所 ...
- 三年Android开发,竟只会增删改查,被面试官一顿怼!
最近看到某公司面试官发的这样一个帖子: 我面试了一个有三年Android开发经验的小伙子,也是我有史以来给别人面试时间最短的一次,不到十分钟就结束了,原因很简单,底子太差只会curd,很多技术性的问题 ...
- JQuery常用属性操作,动画,事件绑定
jQuery 的属性操作 html() 它可以设置和获取起始标签和结束标签中的内容. 跟 dom 属性 innerHTML 一样. text() 它可以设置和获取起始标签和 ...