老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

大佬带飞,用Linux实现经典小游戏(附源码)!

老男孩IT教育

行业新闻

2023年5月15日 17:38

利用Linux系统环境,不光可以搭建常规的互联网网站业务,还可以实现游戏平台的构建。并且可以根据修改后台数据信息,对玩家游戏的数据进行修改调整,下面就完整的构建一个游戏项目。

  利用Linux系统环境,不光可以搭建常规的互联网网站业务,还可以实现游戏平台的构建

  并且可以根据修改后台数据信息,对玩家游戏的数据进行修改调整,下面就完整的构建一个游戏项目

  容器安装部署

  1、主机环境规划

  在部署docker容器化游戏平台主机环境时,需要先对部署的主机地址与名称信息,以及用途进行规划:

  01-配置虚拟主机名称

hostnamectl set-hostname Game-server

  02-关闭系统安全软件

# 关闭系统防火墙软件
[root@Game-server ~]# systemctl stop firewalld
[root@Game-server ~]# systemctl is-active firewalld.service 
inactive
[root@Game-server ~]# systemctl disable firewalld.service
[root@Game-server ~]# systemctl is-enabled firewalld.service 
disabled

# 关闭系统selinux程序
[root@Game-server ~]# setenforce 0  
[root@Game-server ~]# getenforce 
Permissive    
-- 表示临时关闭selinux
[root@Game-server ~]# sed -i '7s#enforcing#disabled#g' /etc/selinux/config
[root@Game-server ~]# sed -n '7p' /etc/selinux/config 
SELINUX=disabled  
-- 表示永久关闭selinux(需要重启生效)

  03-进行系统时间同步

# 下载时间同步软件
[root@Game-server ~]# yum install -y ntp ntpdate
[root@Game-server ~]# ntpdate cn.pool.ntp.org 

# 编写计划任务
[root@Game-server ~]# crontab -e 
* */1 * * * /usr/sbin/ntpdate  cn.pool.ntp.org &>/dev/null  * 分 * 时 * 日 * 月 * 周  

# 重启crond服务使配置生效:
[root@Game-server ~]# systemctl restart crond

  04-安装系统基础软件

[root@Game-server ~]# yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack yum-utils

  2、容器环境部署

  进行docker下载源优化
 

# 配置docker-ce国内下载yum源(阿里云/清华源)
[root@Game-server ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
… 省略部分内容…
repo saved to /etc/yum.repos.d/docker-ce.repo
-- 将指定下载源文件保存到/etc/yum.repos.d/目录中

  进行docker依赖包安装

[root@Game-server ~]# yum install -y device-mapper-persistent-data lvm2

  进行docker社区版安装

[root@Game-server ~]# yum install docker-ce docker-compose -y

  进行docker社区版启动

[root@Game-server ~]# systemctl start docker && systemctl enable docker
[root@Game-server ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-07-31 04:11:16 CST; 9s ago
     Docs: https://docs.docker.com
-- 看到running,表示docker正常运行

  游戏代码部署(服务端)

  1、游戏平台代码上传部署

# 将游戏工具包中的 fuck.tar.gz 游戏代码上传
[root@Game-server ~]# rz -y

# 解压游戏工具包中的游戏代码压缩包
[root@Game-server ~]# tar xf fuck.tar.gz

# 通过docker-compose运行服务端
[root@Game-server ~]# cd fuck
[root@Game-server ~]# ./start 
-- 至此利用容器化技术,已经将游戏平台服务端部署完毕

  2、游戏平台网络信息修改

  修改服务区服信息,将ip修改为自己服务器的ip地址即可

[root@Game-server ~]# vim www/tianlong3D/conf/serverlist/serverlist.txt 
?Id Desc Name Ip Port State Type GroupName  
INT STRING STRING STRING INT INT INT STRING    
#预留           
# 描述 服务器名 IP 端口 状态 状态 顺畅0 拥挤1 火爆2 维护3 类型 不推荐0 推荐1 组名    
19901 混服公测服 oldboy 10.0.0.200 2231 2 0 1--10

[root@Game-server ~]# ./stop
[root@Game-server ~]# ./start
-- 重启游戏平台服务

  游戏终端部署(客户端

  )1、客户端工具安装

  部署过程所需软件工具总览

  01-安装客户端软件程序-jdk1.8

  安装jdk环境,用于满足游戏客户端软件程序所运行的java虚拟环境,满足软件跨平台的特性:

  双击jdk-8u66-windows-x64 执行程序进行下一步安装即可:

  02-安装客户端软件程序-ApkIDE

  安装游戏软件程序的反编译工具ApkIDE,用于将原有的客户端游戏程序代码进行反编译;

  在进行反编译之后,可以修改网络地址信息,以适应当前的游戏服务网络环境。

  解压ApkIDE最新3.3.3少月增强版.zip,然后运行程序中ApkIDE少月版.exe

  说明:在运行ApkIDE程序时,需要系统中提前安装部署好NET Framework 3.5 框架软件。

  ApkIDE程序运行起来之后,选择原有默认的游戏客户端文件ApkIDE_game.apk;

  对原有的客户端游戏文件,进行反编译操作处理:

  说明:游戏代码反编译的过程可能需要耗费比较长的时间,请耐心等待一会儿

  游戏客户端代码反编译成功后,会看到如下操作界面信息

  将反编译后的程序代码文件信息进行修改:

  修改文件信息-01:assets\config.properties

  将此文件中的8,13,14行将域名修改为自己服务器ip地址

  修改文件信息-02:res\values\strings.xml

  将此文件9,10,17,18服务器地址信息进行修改调整.

  修改完毕之后,选择编译重新生成客户端游戏运行需要加载的apk文件

  03-安装模拟器运行游戏

  运行安装雷电模拟器软件程序,并在模拟运行完毕后,加载上面编译生成apk游戏程序文件

  将刚刚生成的新apk导入到模拟器,登录游戏如下图所示,即可开心的玩耍起来:

  2、客户端设置调整

  开外挂作弊功能设置,实现随意充值游戏元宝,在浏览器访问:http://IP:81/zt/gm.php

  gmcode默认123456

  原有游戏角色元宝信息情况:元宝数量为0

  根据用户ID信息进行,进行元宝重置操作:

  充值完毕后游戏玩家的元宝信息情况:

  修改玩家用户等级骚操作:

# 进入数据库容器
docker exec -it fuck_mysql_1 /bin/bash
# 修改数据库数据 
mysql -uroot -p123456 -e ‘update mtlbbdb_19900.t_char set level=50 where aid=16;’
# 退出容器并重启服务
./stop && ./start   -- 不要进行操作

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。