前言
这次给大家带来了一款精品 IP 手游《口袋觉醒》黄昏之鬃版本,安卓苹果双端双区,精美的游戏画面,各种宠物小精灵收集进化,就像童年我们一起看过的《精灵宝可梦》一样,带上你的数码宝贝,一起进化吧!
本文讲解口袋觉醒手游架设教程,不知道你的童年是否也幻想拥有自己的精灵球呢,皮卡-丘~ 希望你也喜欢这款游戏~
我架设的《口袋觉醒》公益服请关注我的公众号 echeverra, 发送“口袋觉醒”获取游戏链接和源码,后台 GM 发送“口袋觉醒GM”免费获取,游戏长期维护,快来体验一下吧。
如果你对 GM 游戏感兴趣,推荐另外几款我架设的 GM 游戏:GM 游戏整理汇总,你也可以访问我的 521GM游戏网,欢迎来玩~
口袋觉醒游戏截图:
架设
1. 架设条件
口袋觉醒架设需要准备:
- linux服务器,安装 CentOs 7.6 版本,推荐腾讯云轻量应用服务器,性价比高。
- 游戏源码,关注我的公众号 echeverra,发送 “口袋觉醒” 免费获取。
游戏会占大概 8G 左右的运行内存,客户端会有 20M 左右的游戏热更,对服务器配置要求比较高,建议最好是 4 核 8G 配置的服务器。
2. 连接服务器
服务器重装安装完系统后,安装资源工具目录下的finalshell.exe
,填写服务器 IP,用户名和密码连接服务器。finalshell 非常强大,可以输入命令,文件传输和查看服务器状态等。
3. 安装宝塔及环境
宝塔是一个服务器运维管理软件,安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完后,按照提示信息登录宝塔,在面板设置菜单中将面板 SSL 关闭,然后在软件商店中搜索以下软件安装:
- web服务器:Nginx 1.18
- 数据库:Mysql 5.6
- 编程语言:PHP 5.6
- 数据库:Redis 6.2
- 数据库管理工具:phpMyAdmin 4.4
- 工具:Linux工具箱 2.4
PHP 安装完成后,还需要安装 Redis 扩展。
4. 开放端口
我们直接开放所有端口1-65535,腾讯云服务器在防火墙中配置规则。
阿里云服务器在安全组中配置规则。
然后在宝塔菜单安全中开放所有端口。
5. 关闭防火墙
通过宝塔菜单终端,执行关闭防火墙命令:
systemctl stop firewalld.service
systemctl disable firewalld.service
6. 上传源码
拿到源码后,将kd.zip
压缩文件通过宝塔上传到根目录,由于最新的宝塔禁止直接上传到根目录,可以先上传到任一目录下,在剪切粘贴到/
根目录。
上传成功后,剪切粘贴到根目录,并通过命令解压到根目录(解压之前确保 Nginx 环境已成功安装)。
cd / && unzip kd.zip
解压完成后,重启 Nginx:
/etc/init.d/nginx restart
再重启 PHP:
/etc/init.d/php-fpm-56 restart
最后将文件命令授予 777 权限:
chmod -R 777 /mnt
chmod -R 777 /www/wwwroot
7. 配置环境
设置虚拟内存,Linux 工具箱添加 Swap,由于游戏占用内存比较大,建议直接加 8G 虚拟内存。
安装运行环境:
cd /mnt && ./install
因为需要安装mongodb
、python
、gcc
等环境,安装时间会比较长,安装过程中没有报红,最后提示运行环境安装成功就可以了。
刷新生效:
source /etc/profile
8. 修改源码 IP
源码中的 IP(81.68.206.229),需要替换成你自己的服务器 IP。
/mnt/pokemon/crash_platform/defines.py
/mnt/pokemon/release/login/conf/serv.json
/mnt/pokemon/release/login/conf/cn/serv.json
/mnt/pokemon/release/login/defines.json
/mnt/pokemon/release/payment_defines.py
/mnt/pokemon/release/gm_defines.py
/mnt/pokemon/release/game_defines.py
/mnt/pokemon/release/nsq_defines.py
/mnt/pokemon/release/src/cross/defines.py
/mnt/pokemon/deploy_dev/supervisord.dir/disable_word_check_server.ini
/www/wwwroot/dl/encryption/PlayersPay.php
/www/wwwroot/dl/public/layuiAdmin/modules/agency/dictionary/dictionary_list.js
/www/wwwroot/dl/public/layuiAdmin/modules/modules/agency/dictionary/dictionary_list.js
/www/wwwroot/pay/SDK/PlayersPay.php
/www/wwwroot/pay/SDK/lib/epay.config.php
/www/wwwroot/game/pokemon/patch/9/res/version.plist
/www/wwwroot/game/pokemon/patch/9/src/app.game_app
/www/wwwroot/game/pokemon/patch/9/src/app.views.login.view
/www/wwwroot/game/pokemon/patch/9/x64/src/app.game_app
/www/wwwroot/game/pokemon/patch/9/x64/src/app.views.login.view
由于要替换 IP 的文件太多,我们也可以通过命令直接修改 IP:
sed -i "s/81.68.206.229/服务器IP/g" `grep 81.68.206.229 -rl /mnt`
sed -i "s/81.68.206.229/服务器IP/g" `grep 81.68.206.229 -rl /www`
将命令中的服务器IP
改成你的服务器 IP,通过命令就可以将全部 IP 替换掉,是不是超级方便~
然后通过命令校准文件 MD5 值和大小:
cd /mnt && ./md5
9. 导入数据库
宝塔数据库中,修改 root 密码:123456
。
通过命令导入数据库:
cd /mnt && ./sk
同步数据库会看到创建 3 个数据库,说明导入成功~
10. 创建网站
口袋觉醒需要创建 4 个站点,在宝塔网站菜单中添加站点,我们一个一个来创建。
第一个是热更和后台 GM 的站点,域名为 1.521gm.cn
,根目录为 /www/wwwroot/game
,PHP 选择 5.6 版本。
再次点击该站点进行编辑,域名管理中添加域名IP:81
。
第二个站点是支付相关的站点,域名为 2.521gm.cn
,根目录为 /www/wwwroot/pay
,PHP 选择 5.6 版本。
再次点击该站点进行编辑,域名管理中添加域名IP:82
。
第三个站点是 sdk 站点,域名为 3.521gm.cn
,根目录为 /www/wwwroot/sdk
,PHP 选择 5.6 版本。
再次点击该站点进行编辑,域名管理中添加域名IP:83
。
第四个站点是运营后台站点,域名为 4.521gm.cn
,根目录为 /www/wwwroot/dl/public
,PHP 选择 5.6 版本。
再次点击该站点进行编辑,域名管理中添加域名IP:84
,再设置网站的伪静态。
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
最后将这 4 个站点的防跨站攻击都关闭掉。
可能有人会奇怪为什么先创建的域名都是x.521gm.cn
。这是为了区分这 4 个站点,如果直接添加域名都是IP:port
,宝塔是不允许的,所以做了区分,同样你也可以写成自己的域名做区分,不影响站点的使用。
11. 启动游戏
以上步骤都操作完毕,就到了激动人心的启动游戏啦!
在启动之前我们可以先设置下跨服时间,参考后续中的跨服时间内容。
启动游戏服务:
cd /mnt/pokemon/deploy_dev
rm supervisor.sock
supervisord -c supervisord.conf
supervisorctl start all
请一条一条执行,rm supervisor.sock
删除supervisor.sock
文件如果出现交互提示,请输入y
,然后继续执行。首次执行会很慢,取决于服务器配置,等 CPU 和内存降下来就可以了。
执行查看是否成功启动命令:
supervisorctl status
看到所有的服务都是 RUNNING 状态,就说明启动成功,如果有没启动的,需再次执行supervisorctl start all
。
查看下服务端口:
netstat -lntp
游戏启动成功后,因客户端不支持注册,只能通过链接:http://IP:84/admin_login/login_account/player?agency_user_id=2&game_type=2
,注册游戏账号。
12. 客户端修改
12.1 安卓客户端
首先修改安卓端,只需要修改一个文件:
- \assets\res\version.plist
找到口袋觉醒.apk
安卓客户端,用好压软件打开,将文件version.plist
拖出来。找到工具目录下的Notepad++.exe
打开该文件version.plist
,将 IP(81.68.206.229)修改为你的服务器 IP。
修改保存后,将文件version.plist
拖回到原目录下,替换掉原文件。
替换后使用签名工具 ApkTool 选择修改好的口袋觉醒.apk
文件进行签名。
签名后就可以安装到模拟器或者安卓手机启动啦,游戏启动会有 20M 左右的热更。
12.2 苹果客户端
苹果端同样需要修改一个文件:
- \Payload\口袋觉醒.app\res\version.plist
同样用好压打开苹果客户端口袋觉醒.ipa
,将文件version.plist
拖出来。同样使用Notepad++.exe
打开该文件version.plist
,将 IP(81.68.206.229)修改为你的服务器 IP。
修改保存后,将文件version.plist
拖回到原目录下,替换掉原文件。
替换后,需要进行签名,建议使用爱思助手签名,或使用巨魔签名也是没问题的,两种方式我都试过。
签名后就可以安装到苹果手机啦,需要在手机设置-通用-设备管理中信任该软件才可启动,同样游戏有 20M 左右的热更。
13. 游戏后台
游戏 GM 后台链接:http://IP:81/gm/gm.php
,默认 GM 码:123456
,可以授权玩家,也可以直接充值和发送物品。如果想修改默认 GM 码,需要修改文件/www/wwwroot/game/gm/user/config.php
和/www/wwwroot/game/gm/user/jl.php
中$gmcode
字段值即可。
GM 后台物品并不全,如果需要添加物品,可以通过文件/mnt/pokemon/release/cn_config_csv.py
自行提取。
玩家后台链接:http://IP:81/gm/
,授权过的玩家就可以充值和发送物品啦。
游戏还提供了运营后台,链接:http://IP:963
,默认账号:admin
,默认密码:qq123456.。
,运营后台主要是查看游戏相关数据,配置活动,还有 GM 工具等。
游戏也提供了代理后台,链接:http://IP:84
,默认账号:admin
,默认密码:123123
,代理后台可以添加代理,给玩家发送代金券等。
14. 关闭游戏
关闭游戏服务很简单,只需要输入以下命令:
cd /mnt/pokemon/deploy_dev
supervisorctl reload
如果是想重启游戏需执行:
cd /mnt/pokemon/deploy_dev
supervisorctl restart all
后续
免责声明
我架设的所有游戏资源均搜集于互联网,如有侵权,请联系我,我会马上删除。
游戏都是禁止内充的,只限于技术研究使用,禁止商用,请于下载后 24 小时内删除,或购买正版。
根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和
研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软
件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬
鉴于此,也希望大家按此说明研究软件。
跨服时间
跨服时间修改由两个crossdata.json
文件控制:
- /mnt/pokemon/release/bin/crossdata.json
- /mnt/pokemon/release/crossdata.json
两个文件一样,都需要修改,我们拿一个配置举例:
{
"id": 1,
"service": "crossarena",
"servers": "<game.dev.1;game.dev.2>",
"date": 20250421,
"cross": "crossarena.dev.1",
"version": 0,
"endDate": 20250506
}
每个字段的含义:
id
为活动 ID,一般不变
service
为服务器名称,一般不变
servers
为跨服开启对应的区服,game.cn.1;game.cn.2 即为 1 区和 2 区,需要多加区往后添加即可
date
为开启时间(当前开服时间)
cross
为跨服服务,一般不变
version
为默认为 0,一般不变
endDate
为结束时间,默认一般比开启时间多半月,不同的跨服服务时间不一样,根据需要可以自己调整
其中的跨服服务,crossarena
为跨服竞技场,crosscraft
为跨服石英,crossgym
为跨服道馆,onlinefight
为对战竞技场,crossmine
为跨服商业街,crossunionfight
为跨服公会战。
注意:
- 跨服石英需要同步 golang 导表(因没有工具,暂时无法处理),不然会崩跨服服务,没有同步的情况下,设置
endDate
不开启即可。
- 跨服竞技场开启后需要半个小时左右生成机器人。
代金券问题
游戏 GM 后台的代金券并非可以在游戏中可以充值使用的代金券,只能在运营后台通过玩家列表分别给玩家发送代金券,这样玩家一多处理起来就很麻烦了。
原本是想自己写一个玩家自己可以发送代金券的后台,想想还是有点麻烦,通过自己的一番摸索发现,可以在玩家注册的时候直接送给账号代金券,方法如下。
找到文件/www/wwwroot/dl/application/admin_login/controller/LoginAccount.php
,在第 177 行添加$user_where['monery'] = 100000000;
,设置的值就是代金券的数值。
这样在游戏中充值,购买各种道具跳转到支付界面,就直接可以直接使用代金券支付啦~
游戏修改
其他的一些游戏修改项,这里统一整理说一下。
游戏区名修改文件/mnt/pokemon/release/login/conf/cn/serv.json
。
游戏公告修改文件/mnt/pokemon/release/login/conf/cn/notice.json
,按照原有格式修改。
游戏每日登陆奖励邮件修改文件/mnt/pokemon/release/cn_config_csv.py
,第 76 行。
游戏清档需删除/mnt/pokemon/deploy_dev/game_db
目录下的所有文件,并重新导入数据库即可。
删除/mnt/pokemon/deploy_dev/game_db
目录下的所有文件可使用命令:
rm -rf /mnt/pokemon/deploy_dev/game_db/*
后台密码
如果架设好给大家玩,难免有一些人知道默认密码,会去登录后台修改库,影响游戏平衡,所以游戏相关的密码一定要修改下。
因为 MySql 数据库默认 root 用户是不允许其他主机连接的,所以即使他人知道你的数据库账号密码,也是无法连接的,请放心。主要是运营后台和代理后台的密码。
运营后台(http://IP:963
)密码修改,需要修改 3 个文件:
- \mnt\pokemon\release\src\gm\object\scheme.py
- \www\wwwroot\game\gm\user\config.php
- \www\wwwroot\game\gm\user\jl.php
先停止游戏服务,最好重启下服务器,将原密码qq123456.。
全部修改为你要设置的密码,然后重新启动游戏服务。如果不生效,建议将游戏删档,也就是执行rm -rf /mnt/pokemon/deploy_dev/game_db/*
,再重启游戏服务就可以了。
代理后台(http://IP:84
)密码修改,首先登录代理后台,在代理列表中添加一个代理,然后在数据库agency
表amos_frame_user
中找到你创建的代理,将新创建的代理账号的password
和clear_key
复制到 admin 代理一行对应字段,这样就可以使用 admin 账号和新创建代理的密码登录代理后台啦~
关于游戏
口袋觉醒有很多的版本,早前我也搭建过一版,主要的问题就是游戏很脆弱,很不稳定的说,这个版本经过测试还是比较稳定的,BUG 也很少,是很难得的精品。
还记得小时候看的动画片宝可梦,比卡丘、小火龙、可达鸭、杰尼龟...就是容易跟数码宝贝容易搞混,哈哈,不过那时候真的觉得好好玩,现在又可以在游戏里收集这些小精灵啦~
最后感谢大家一路的支持与陪伴,祝大家游戏愉快,一切顺利~
好啦,以上就是口袋觉醒架设教程的所有内容,希望对你有所帮助,如有问题可通过我的博客 https://echeverra.cn 或微信公众号 echeverra 联系我。
你学“废”了么?
(完)
(文章今日已有 10 人访问 ::>_<::)