简单说一下阿拉德手游如何自己搭建架设
- 日常记录
- 2024-02-07
- 617热度
- 0评论
阿拉德类似DNF游戏的一款手游,当然官方已经倒闭了,今天记录一下个人搭建单机的方法。
服务器需求
服务器系统使用CentOS7.6即可,安装好系统以后,直接到宝塔官网复制安装面板的命令,安装宝塔面板即可,这里不再赘述。
安装环境
需要安装一下软件:
nginx1.18 mysql 5.6 php7.1(php安装 sg11 redis扩展 安装之后重启php)Redis 6.2.6 PM2管理器
防火墙设置
关闭防火墙或是开放端口
第一种方法:宝塔放行端口:1-65535的TCP UDP端口
第二种方法:关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
开始架设
1.上传ald.tar.gz到服务器根目录/(根目录不是root目录!!使用WinSCP或其他工具上传数据,也可以直接宝塔传!!)
2.解压ald.tar.gz
cd /
tar zxvf ald.tar.gz
3.给予 777权限
chmod -R 777 /root/
chmod -R 777 /www/wwwroot
4.环境配置
ln -s /www/server/mysql/lib/libmysqlclient.so /usr/lib64/libmysqlclient.so
ldconfig
5.安装gcc5.2环境
cd /root
wget --no-check-certificate https://copr.fedoraproject.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap/repo/epel-6/hhorak-devtoolset-4-rebuild-bootstrap-epel-6.repo -O /etc/yum.repos.d/devtoolset-4.repo
//上面是一条命令!!!全部复制粘贴!
yum install compat-libgmp-4.3.1-1.sl7.x86_64.rpm -y
yum install compat-libmpfr-2.4.1-1.sl7.x86_64.rpm -y
yum install devtoolset-4-gcc devtoolset-4-gcc-c++ devtoolset-4-binutils -y
scl enable devtoolset-4 bash
6.修改root目录的.bashrc文件,添加如下内容:
source /opt/rh/devtoolset-4/enable
数据库设置
1.设置数据库密码为服务端所需的密码
2.修改数据库配置文件为
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8mb4
[mysqld]
binlog_cache_size = 512K
thread_stack = 1024K
join_buffer_size = 8192K
query_cache_type = 1
max_heap_table_size = 4096M
port = 3306
socket = /tmp/mysql.sock
datadir = /www/server/data
default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
skip-external-locking
key_buffer_size = 2048M
max_allowed_packet = 100G
table_open_cache = 4096
sort_buffer_size = 8192K
net_buffer_length = 4K
read_buffer_size = 8192K
read_rnd_buffer_size = 4096K
myisam_sort_buffer_size = 128M
thread_cache_size = 512
query_cache_size = 798M
tmp_table_size = 4096M
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#skip-name-resolve
max_connections = 2000
max_connect_errors = 100
open_files_limit = 65535
#log-bin=mysql-bin
#binlog_format=mixed
server-id = 1
expire_logs_days = 10
slow_query_log=1
slow-query-log-file=/www/server/data/mysql-slow.log
long_query_time=3
#log_queries_not_using_indexes=on
innodb_data_home_dir = /www/server/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /www/server/data
innodb_buffer_pool_size = 8192M
innodb_log_file_size = 1024M
innodb_log_buffer_size = 1024M
innodb_flush_log_at_trx_commit = 0
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 32
innodb_write_io_threads = 32
character-set-client-handshake = false
character-set-server = utf8
init_connect='SET NAMES utf8'
innodb_file_per_table
innodb_file_format=Barracuda
innodb_strict_mode=0
[mysqldump]
quick
max_allowed_packet = 500M
[mysql]
no-auto-rehash
default-character-set = utf8
[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 8M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
3.重启数据库
4.执行命令导入数据库
cd /root
./sk
数据库创建结束。可以通过宝塔查看是否创建成功。(数据库 - 点击 从服务器获取 获取到10个就正确的)
运行后为了安全可以把 sk 文件删除
5.进入数据库修改ald_web数据库中tk_gameconfig表中IP地址为你服务器的外网IP地址,否则进不去游戏。
搭建网站
1.新建一个网站-你的ip:端口或域名:端口
有端口就添加端口这里的端口80 (你也可以用其他的端口,不过就需要对应客户端都改),网站目录设置/www/wwwroot/game,运行目录 /public,设置伪静态 thinkPHP,关闭防跨站。
2.服务端和网站修改192.168.X.X修改为你的IP
服务端修改文件:
/root/platform/CenterServer/CenterServer.cfg
/root/platform/RelayServer/RelayServer.cfg
/root/platform/RelayServer1/RelayServer.cfg
/root/platform/UdpConnServer/UdpConnServer.cfg
/root/platform/UdpConnServer1/UdpConnServer.cfg
/root/s1/AdminServer/AdminServer.cfg
/root/s1/AdminServer/NetAddress.xml
网站修改文件:
/www/wwwroot/game/application/pay/view/home/gateway.html
到此算服务端就修改好了,下面就可以启动服务器了。
启动游戏
1.启动platform服务器
cd /root/platform
./run.sh
2.启动游戏一区
cd /root/s1
./run.sh
3.启动NodeJS服务器
宝塔配置PM2管理器
设置启动文件为:
/www/wwwroot/gmald/src/app.js
PM2添加项目出错解决方法 (更换Node版本)
游戏总是掉线的解决办法:PM2添加的项目内存加大
4.启动后可以通过端口查看命令查看游戏服务器是否正常
netstat -lntp
关闭游戏
1.关闭platform服务器
cd /root/platform
./stop.sh
2.关闭游戏一区
cd /root/s1
./stop.sh
客户端修改
这里只说一下安卓客户端的修改:
修改192.168.x.x为你的ip,其他的ip都不要修改
路径:
assets/updateserver.json
assets/bin/Data/Managed/Assembly-CSharp.dll
使用dnSpy软件反编译Assembly-CSharp.dll,然后在右侧窗口的搜索下填入需要搜索的IP地址,类型是:数字/字符串,在搜索到的IP地址上点击右键,选择修改变量,如果没有就选择编辑IL指令,改写完后重新保存即可。
另外还有一种客户端是需要修改assets/bin/Data/Managed/Metadata/global-metadata.dat这个文件,这个文件要使用uedit64编辑器编辑,并且IP地址和端口的位数要对上,否则会出现连接不到服务器的情况。如果修改的IP地址为 “XXX.XXX.XXX.XXX:XX” 这样的,位数不够补正斜杠“/”,位数超出的就需要用同位数的域名代替,暂时没有发现其他的好办法!
以上如有不对,欢迎广大网友批评指正!