GS游享环境命令使用说明文档
目录
运行环境
支持的操作系统
- CentOS 6+
- CentOS 7+
- CentOS 9+
- RedHat 7+
- Debian 10+
- Ubuntu 18+
- 其他满足 Docker 安装要求的 Linux 发行版(如阿里云 alinux)
系统要求
- 64位系统架构(x86_64/amd64/aarch64/arm64)
- 内核版本 >= 3.10
- 支持 cgroup 文件系统
- 至少 5GB 内存(建议 8GB 以上)
- 至少 20GB 可用磁盘空间
- Root 用户权限
环境版本
- 环境1(默认): Centos 6 + Mysql5.1(老品种,没有改引擎和数据库)
- 环境2: Centos 7 + Mysql5.1(老品种,没有改引擎和数据库)
- 环境3: Centos 7 + Mysql5.7(大河马引擎,大背包,逍遥子引擎,有改引擎和数据库的)
- 环境4: Centos 9 + Mysql8.0(源端64位引擎专用)
基础命令
01. untar – 解压服务端
命令名称: untar
命令作用: 解压服务端压缩包到指定目录,并设置相应权限。支持 tlbb.tar.gz 和 tlbb.zip 两种格式。
运行条件:
– 服务端压缩包必须上传到 /root 目录下
– 压缩包名称必须为 tlbb.tar.gz 或 tlbb.zip
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
untar
示例:
# 解压服务端
untar
结果:
– 如果存在 /root/tlbb.tar.gz,会解压到 /tlgame/tlbb/ 目录
– 如果存在 /root/tlbb.zip,会解压到 /tlgame/tlbb/ 目录
– 原压缩包会被重命名为带时间戳的文件并保留在 /root 目录
– 如果之前存在服务端,会先备份为 tlgame-YYYYMMDDHHMMSS.tar.gz
常见问题:
1. 错误提示:服务端文件不存在
– 解决:确保压缩包已上传到 /root 目录,文件名必须为 tlbb.tar.gz 或 tlbb.zip
- 解压后找不到服务端文件
- 解决:检查解压后的目录结构,确保服务端在
/tlgame/tlbb/Server/目录下
- 解决:检查解压后的目录结构,确保服务端在
02. setini – 配置INI文件
命令名称: setini
命令作用: 自动设置服务器配置文件,包括3个INI文件(ServerInfo.ini、LoginInfo.ini、ShareMemInfo.ini)、数据库连接配置、billing 文件和 Redis 密码配置。
运行条件:
– 必须已执行 untar 解压服务端
– 服务端路径必须为 /tlgame/tlbb/Server/(不能是 /tlgame/tlbb2/Server/ 等)
运行环境: 已安装 GS 游享环境,容器已启动(gsserver 容器必须运行)
命令参数: 无
使用命令:
setini
示例:
# 配置服务端INI文件
setini
结果:
– 自动配置 ServerInfo.ini(IP、端口等)
– 自动配置 LoginInfo.ini(数据库连接信息)
– 自动配置 ShareMemInfo.ini(数据库连接信息)
– 自动配置 billing 相关文件
– 自动配置 Redis 密码(/tlgame/conf.d/redis.conf)
– 复制配置文件到容器内
– 设置文件权限
– 注意:源端环境,需要自己添加 odbc.ini 里面的内容,如何添加,请稳步到 link 命令
常见问题:
1. 错误提示:请检查服务端的路径是否正确
– 解决:确保服务端在 /tlgame/tlbb/Server/ 目录,不能是其他路径如 /tlgame/tlbb2/Server/
- 配置文件写入失败
- 解决:检查容器是否正常运行,执行
docker ps查看 gsserver 容器状态
- 解决:检查容器是否正常运行,执行
03. runtlbb – 开启服务端
命令名称: runtlbb
命令作用: 一键启动服务端,调用服务端的 run.sh 脚本启动所有游戏进程。适用于可以一键开启的服务端。
运行条件:
– 必须已执行 setini 配置INI文件
– 或者已执行 restart 重启容器后
– 或者重启服务器后
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
runtlbb
示例:
# 启动服务端
runtlbb
结果:
– 检查数据库初始化状态(环境4除外)
– 启动服务端所有进程(ShareMemory、Login、World、Server等)
– 自动启动日志备份定时任务(默认1小时备份一次,保留10份)
– 如果3-5分钟后服务端未开启,建议使用 step 命令分步调试
常见问题:
1. 错误提示:服务端好像正在运行
– 解决:使用 runtop 查看进程状态,或先执行 restart 重启容器后再执行 runtlbb
- 服务端启动失败
- 解决:检查服务端
run.sh脚本是否有问题,或使用step命令分步调试
- 解决:检查服务端
- 环境未被初始化成功
- 解决:执行
rebuild命令重构环境
- 解决:执行
04. runtop – 查看开服状态
命令名称: runtop
命令作用: 查看服务端进程运行情况,检查是否有 ShareMemory、Login、World、Server 等进程稳定在线。
运行条件: 无特殊要求
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:查看 gsserver 容器的进程状态
– 参数:容器名称(可选)
使用命令:
runtop
# 或
runtop [容器名]
示例:
# 查看服务端进程状态
runtop
# 查看指定容器进程状态
runtop gsserver
结果:
– 显示容器内所有进程的实时状态
– 可以查看 CPU、内存使用情况
– 可以确认服务端进程是否正常运行
常见问题:
1. 无法查看进程状态
– 解决:确保容器正在运行,使用 docker ps 检查容器状态
容器管理命令
05. link – 连接容器
命令名称: link
命令作用: 进入指定的 Docker 容器内部,用于查看服务端具体情况或进行分步调试。
运行条件: 容器必须已启动
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:默认进入 gsserver 容器
– gsserver 或 server 或 gs 或 s:进入主服务器容器
– gsmysql 或 mysql 或 sql 或 my 或 m:进入数据库容器
– gsnginx 或 nginx 或 n:进入网站容器
– gsphp 或 php 或 p:进入 PHP 容器
– gsredis 或 redis 或 r:进入 Redis 容器
使用命令:
link
# 或
link [容器名]
示例:
# 进入主服务器容器(默认)
link
link server
link gsserver
link gs
link s
# 进入数据库容器
link mysql
link gsmysql
link sql
link my
link m
# 进入网站容器
link nginx
link gsnginx
link n
# 进入 PHP 容器
link php
link gsphp
link p
# 进入 Redis 容器
link redis
link gsredis
link r
结果:
– 进入指定容器的命令行环境
– 在容器内可以使用 exit 命令退出
– 容器内无法使用环境命令,需要退出容器后使用
常见问题:
1. 无法进入容器
– 解决:确保容器正在运行,使用 docker ps 检查容器状态
- 在容器内无法使用命令
- 解决:这是正常现象,环境命令只能在宿主机使用,需要
exit退出容器后使用
- 解决:这是正常现象,环境命令只能在宿主机使用,需要
06. swap – 增加虚拟内存
命令名称: swap
命令作用: 为云服务器或虚拟机系统增加虚拟内存,默认增加 4GB。只占用硬盘空间,不需要多次执行,但此命令是临时生效,重启服务器后需要再次执行。
运行条件:
– 小于或等于 5GB 内存的虚拟机或服务器配置
– 需要至少 4GB 可用磁盘空间
运行环境: 已安装 GS 游享环境
命令参数: 无
使用命令:
swap
示例:
# 增加虚拟内存
swap
结果:
– 创建 /usr/swap/swapfile 文件(4GB)
– 启用虚拟内存
– 添加到开机自动加载(/etc/fstab)
– 显示当前内存+虚拟内存总容量
常见问题:
1. 提示虚拟内存已存在
– 解决:虚拟内存已创建,无需重复执行
- 磁盘空间不足
- 解决:清理磁盘空间或减少虚拟内存大小(需要手动修改脚本)
07. rebuild – 重构环境
命令名称: rebuild
命令作用: 删除当前所有容器和物理机存储的数据,相当于重构了环境,回到初始化状态。数据不会清除,会先备份。
运行条件: 相当于刚刚安装好环境的初始化状态
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
rebuild
示例:
# 重构环境
rebuild
结果:
– 备份数据库和版本数据
– 停止并删除所有容器
– 删除 /tlgame/gsmysql/mysql 目录
– 删除 /tlgame/tlbb/* 目录
– 重新启动容器
– 还原备份的数据
– 初始化 MySQL 数据库
常见问题:
1. 重构失败
– 解决:检查磁盘空间是否充足,或执行 remove 命令完全移除环境后重新安装
08. remove – 移除环境
命令名称: remove
命令作用: 删除所有已经构建好的数据,需要重新安装环境和配置文件。相当于重装系统。
运行条件: 服务器环境错乱,需要完全清理
运行环境: 已安装 GS 游享环境
命令参数: 无
使用命令:
remove
示例:
# 移除环境
remove
结果:
– 删除所有环境命令(/usr/local/bin/ 下的命令)
– 停止并删除所有容器和镜像
– 移动 /tlgame 目录为带时间戳的备份目录
– 备份环境配置文件到 /root/gsenv-YYYYMMDDHHMMSS
– 删除环境目录和配置文件
– 脚本执行后会自动删除自身
常见问题:
1. 移除后如何重新安装
– 解决:执行 curl -sSL https://gitee.com/yulinzhihou/gstlenv/raw/master/gsenv.sh | bash 重新安装
配置管理命令
09. setconfig – 设置配置参数
命令名称: setconfig
命令作用: 重新配置服务器参数,包括端口、数据库密码、Redis密码等。会删除当前服务端版本里面的所有数据,重新配置后需要配合 setini 命令才会生效。
运行条件: 需要重新配置命令参数
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无(交互式配置)
使用命令:
setconfig
示例:
# 设置配置参数
setconfig
配置项说明:
1. 服务器模式选择:0=单L机验证,1=W机验证+L机
2. 验证服务器IP地址(仅W机+L机模式需要)
3. Billing验证端口:默认 21818,范围 1025~65534
4. MySQL端口:默认 3306,范围 1025~65534
5. 登录端口:默认 3731,范围 1025~65534
6. 游戏端口:默认 7384,范围 1025~65534
7. 网站端口:默认 80,范围 1~65534
8. GM网站端口:默认 81,范围 1~65534
9. 数据库密码:最少6个字符
10. Redis密码:不能为空
结果:
– 备份当前版本和数据库
– 停止并删除容器
– 删除 /tlgame 目录
– 重新启动容器
– 还原备份的数据
– 修改数据库密码
– 配置写入成功提示
常见问题:
1. 配置后不生效
– 解决:执行 setini 命令重新配置INI文件
- 密码修改失败
- 解决:检查数据库容器日志
docker logs gsmysql
- 解决:检查数据库容器日志
10. change – 换端
命令名称: change
命令作用: 执行换端操作,数据库不会清除,原服务端版本的数据还会存在。建议不要使用相同账号进入,可能会报错。
运行条件:
– 新的服务端压缩包 tlbb.tar.gz 或 tlbb.zip 必须上传到 /root 目录下
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
change
示例:
# 换端操作
change
结果:
– 自动备份数据库和服务端版本到 /tlgame/backup 目录
– 停止容器
– 删除 /tlgame/gsmysql/* 和 /tlgame/tlbb/* 目录
– 重新启动容器
– 解压新服务端(untar)
– 初始化 MySQL(init_mysql)
– 配置INI文件(setini)
– 启动服务端(runtlbb)
常见问题:
1. 错误提示:新服务端版本文件不存在
– 解决:确保新服务端压缩包已上传到 /root 目录,文件名为 tlbb.tar.gz 或 tlbb.zip
- 换端后数据丢失
- 解决:换端前会自动备份,可在
/tlgame/backup目录找到备份文件
- 解决:换端前会自动备份,可在
11. restart – 重启容器
命令名称: restart
命令作用: 重启服务端容器,不会清空数据。使用后需要重新使用 runtlbb 进行开服操作。
运行条件: 前提是服务端开启状态中
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:交互式选择是否重启数据库
– 参数:任意参数(不重启数据库,只重启 nginx 和 gsserver)
使用命令:
restart
# 或
restart [任意参数] # 不重启数据库
示例:
# 交互式重启(会询问是否重启数据库)
restart
# 只重启 nginx 和 gsserver(不重启数据库)
restart 1
结果:
– 默认:重启 gsnginx 和 gsserver 容器
– 选择1:重启 gsnginx、gsserver 和 gsmysql 容器
– 删除 core dump 文件
– 提示需要重新执行 runtlbb 开服
常见问题:
1. 重启后服务端无法启动
– 解决:执行 runtlbb 重新开服
- 重启数据库导致数据丢失
- 解决:谨慎选择重启数据库,建议先备份数据
数据管理命令
12. gsbak – 定时备份数据
命令名称: gsbak
命令作用: 开启定时备份,默认是半小时备份一次版本,半小时备份一次数据库,保存7天的文件。
运行条件: 暂时只支持一次性设置 N 小时定时备份一次
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:默认1小时备份一次
– 参数:1-23(备份间隔小时数)
使用命令:
gsbak
# 或
gsbak [小时数]
示例:
# 设置1小时备份一次(默认)
gsbak
gsbak 1
# 设置2小时备份一次
gsbak 2
# 设置6小时备份一次
gsbak 6
结果:
– 设置 crontab 定时任务
– 定时备份数据库到 /tlgame/backup 目录
– 定时备份服务端版本到 /tlgame/backup 目录
– 定时清理旧备份文件(保留7份)
– 如果未生效,需要重启 crond 服务或重启服务器
常见问题:
1. 定时备份未生效
– 解决:重启 crond 服务(CentOS:systemctl restart crond,Debian/Ubuntu:service cron restart)或重启服务器
- 备份文件过多占用磁盘
- 解决:使用
delbak命令清理旧备份文件
- 解决:使用
18. backup – 手动备份数据库
命令名称: backup
命令作用: 手动执行备份服务端版本和数据库。备份目录在 /tlgame/backup 目录下。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:交互式选择备份类型
– all 或 0:备份版本+数据库
– 1:只备份版本
– 2:只备份数据库
使用命令:
backup
# 或
backup all
backup 0
backup 1
backup 2
示例:
# 交互式选择备份类型
backup
# 备份版本+数据库
backup all
backup 0
# 只备份版本
backup 1
# 只备份数据库
backup 2
结果:
– 备份服务端版本为 tlbb-YYYY-MM-DD.tar.gz
– 备份数据库为 web-YYYY-MM-DD-HH-MM-SS.sql 和 tlbbdb-YYYY-MM-DD-HH-MM-SS.sql
– 备份文件保存在 /tlgame/backup 目录
– 生成备份日志文件 backup-YYYY-MM-DD.log
常见问题:
1. 备份失败
– 解决:检查磁盘空间是否充足,检查容器是否正常运行
- 备份文件找不到
- 解决:检查
/tlgame/backup目录,确认备份是否成功
- 解决:检查
26. restore – 还原数据库
命令名称: restore
命令作用: 使用命令行进行数据库还原操作。
运行条件: 前提是服务端开启状态中
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 参数1:需要还原的数据库名称(web 或 tlbbdb)
– 参数2:数据库文件的绝对路径
使用命令:
restore [数据库名] [数据库文件路径]
示例:
# 还原 web 数据库
restore web /tlgame/backup/web-2022-05-05-15-15-15.sql
# 还原 tlbbdb 数据库
restore tlbbdb /tlgame/backup/tlbbdb-2022-05-05-15-15-15.sql
结果:
– 先自动备份目标数据库
– 复制数据库文件到容器内
– 执行数据库还原
– 还原前备份文件保存在 /tlgame/backup 目录
常见问题:
1. 错误提示:参数不正确
– 解决:确保提供2个参数,第一个是 web 或 tlbbdb,第二个是数据库文件的绝对路径
- 错误提示:数据库文件不存在
- 解决:检查文件路径是否正确,使用绝对路径
- 还原失败
- 解决:检查数据库文件格式是否正确,查看容器日志
docker logs gsmysql
- 解决:检查数据库文件格式是否正确,查看容器日志
27. delbak – 删除备份文件
命令名称: delbak
命令作用: 删除备份文件,默认保留最新的文件各10份。主要清理 web.sql、tlbbdb.sql、tlbb.tar.gz 三种备份文件。
运行条件: 暂无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:默认保留10份
– 参数:1-23(保留份数)
使用命令:
delbak
# 或
delbak [保留份数]
示例:
# 保留10份(默认)
delbak
delbak 10
# 保留5份
delbak 5
# 保留20份
delbak 20
结果:
– 清理 /tlgame/backup 目录下的旧备份文件
– 保留最新的 N 份 web-*.sql 文件
– 保留最新的 N 份 tlbbdb-*.sql 文件
– 保留最新的 N 份 tlbb-*.tar.gz 文件
常见问题:
1. 备份文件未清理
– 解决:检查备份文件命名格式是否正确,确保文件名包含 web-、tlbbdb- 或 tlbb- 前缀
24. reset – 删档数据库
命令名称: reset
命令作用: 删档数据库,清空账号数据库和角色数据库数据。
运行条件: 使用前请一定要备份好,如有误删本环境概不负责
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
reset
示例:
# 删档数据库
reset
结果:
– 清空 web 数据库(账号数据)
– 清空 tlbbdb 数据库(角色数据)
– 数据无法恢复,请谨慎操作
常见问题:
1. 误删数据
– 解决:如果之前有备份,可以使用 restore 命令还原
- 删档失败
- 解决:检查容器是否正常运行,查看容器日志
23. setpoint – 设置默认充值点数
命令名称: setpoint
命令作用: 修复注册账号送默认充值点,离线给账号刷充值点、元宝、赠点、帮贡、门贡、潜能、金币,也可以单独为某个账号或者某个角色设置。
运行条件: 设置默认充值点,从即刻起,注册新账号会有默认的充值点
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:还原所有默认充值点数为0
– 2个参数:setpoint [类型] [数量] – 设置成功后,所有角色有效果
– 3个参数:setpoint [类型] [数量] [账号] – 设置单个账号的第一个角色
– 4个参数:setpoint [类型] [数量] [账号] [角色序号] – 设置单个账号的指定角色
参数1(类型)说明:
– point 或 p 或 POINT 或 P 或 充值点:充值点
– yuanbao 或 y 或 YUANBAO 或 Y 或 元宝:元宝
– zengdian 或 z 或 ZENGDIAN 或 Z 或 赠点:赠点
– menpaipoint 或 m 或 MENPAIPOINT 或 M 或 门贡:门贡
– guildpoint 或 g 或 GUILDPOINT 或 G 或 帮贡:帮贡
– points 或 po 或 POINTS 或 PO 或 潜能:潜能
– vmoney 或 v 或 VMONEY 或 V 或 金币:金币
参数2(数量)说明:
– 范围:0-2100000000(21亿)
– 基于参数1的数量,不能超过指定的值
参数3(账号)说明:
– 不需要加后缀,例如账号为 test@game.sohu.com,则参数3为 test
– 只支持英文字母和数字,不支持中文
参数4(角色序号)说明:
– 1:账号下的第1个角色
– 2:账号下的第2个角色
– 3:账号下的第3个角色
– 默认有几个充值几个
使用命令:
setpoint
# 或
setpoint [类型] [数量]
setpoint [类型] [数量] [账号]
setpoint [类型] [数量] [账号] [角色序号]
示例:
# 还原所有默认充值点数为0
setpoint
# 设置所有新注册账号默认充值点888
setpoint point 888
setpoint p 888
# 设置所有新注册账号默认元宝1000
setpoint yuanbao 1000
setpoint y 1000
# 给账号 test 的第一个角色充值点888
setpoint point 888 test
# 给账号 test 的第2个角色充值点888
setpoint point 888 test 2
# 给账号 test 的所有角色充值点888
setpoint point 888 test 0
结果:
– 设置默认充值点数后,新注册的账号会自动获得设置的充值点
– 给指定账号充值后,该账号的指定角色会获得相应的充值点
常见问题:
1. 错误提示:输入有误,充值点数格式不正确
– 解决:确保数量在 0-2100000000 范围内,且为整数
- 错误提示:用户账号不需要加后缀
- 解决:账号参数只需要账号名,不需要
@game.sohu.com后缀
- 解决:账号参数只需要账号名,不需要
25. setvalid – 解/封号
命令名称: setvalid
命令作用: 封号或解封账号。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 参数1:游戏注册的账号(如 test@game.sohu.com)
– 参数2:1 表示封号,不输入表示解封
使用命令:
setvalid [账号] [1]
# 或
setvalid [账号] # 解封
示例:
# 封号
setvalid test@game.sohu.com 1
# 解封
setvalid test@game.sohu.com
结果:
– 封号:账号无法登录游戏
– 解封:账号可以正常登录游戏
– 如果未实现,请退出游戏再执行一次
常见问题:
1. 错误提示:请输入需要解封或者封号的账号
– 解决:确保提供账号参数,格式为 账号名@game.sohu.com
- 封号/解封未生效
- 解决:退出游戏后重新登录,或再次执行命令
日志管理命令
20. gslog – 查看日志
命令名称: gslog
命令作用: 查看调试日志,开启后,/tlgame/tlbb/Server/Log 目录会开启,里面存放服务端运行的所有日志。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无(交互式选择日志类型)
使用命令:
gslog
日志类型:
– [1]:查看 [BILLING] 日志(只有用本服务器billing才能查看)
– [2]:查看 [ShareMemory] ShareMemory进程日志
– [3]:查看 [Login] Login进程日志
– [4]:查看 [World] World进程日志
– [5]:查看 [Lua] 脚本报错日志
– [6]:查看 [debug] 引擎调试(系统相关)日志
– [7]:查看 [Debug] 引擎调试(角色相关)日志
– [0]:查看 [error] 全局报错日志
– [q]:退出
示例:
# 查看日志
gslog
# 然后输入对应的数字选择日志类型
结果:
– 实时显示日志内容(最后100行)
– 使用 CTRL+C 退出日志查看
– 查看完日志后,建议使用 rmlog 命令清除日志,避免挤爆服务器硬盘
常见问题:
1. 日志文件不存在
– 解决:确保服务端已启动,日志目录会自动创建
- 日志太多占用磁盘
- 解决:使用
rmlog命令清除日志,或使用logbak命令定时备份日志
- 解决:使用
21. rmlog – 删除日志
命令名称: rmlog
命令作用: 删除调试日志,全清除 /tlgame/tlbb/Server/Log 目录。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
rmlog
示例:
# 删除日志
rmlog
结果:
– 删除 /tlgame/tlbb/Server/Log 目录下的所有日志文件
– 如果需要重新查看日志,使用 gslog 命令会自动创建日志目录
常见问题:
1. 删除日志后无法查看
– 解决:使用 gslog 命令会自动重新创建日志目录
29. logbak – 定时备份日志文件
命令名称: logbak
命令作用: 定时备份日志文件,默认1小时备份一次,保留10份。备份目录在 /tlgame/tlbb/logbak,日志目录在 /tlgame/tlbb/Server/Log。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:手动执行备份(使用默认值:1小时间隔,保留10份)
– cron 或 setup:设置定时任务
– 参数2:备份间隔时间(小时),范围 1-24,默认 1
– 参数3:保留份数,范围 1-30,默认 10
使用命令:
logbak
# 或
logbak cron [间隔小时] [保留份数]
logbak setup [间隔小时] [保留份数]
示例:
# 手动备份一次(使用默认值)
logbak
# 设置定时任务:1小时备份一次,保留10份
logbak cron 1 10
logbak setup 1 10
# 设置定时任务:2小时备份一次,保留20份
logbak cron 2 20
# 设置定时任务:6小时备份一次,保留15份
logbak cron 6 15
结果:
– 手动备份:立即备份日志文件到 /tlgame/tlbb/logbak 目录
– 设置定时任务:配置 crontab 定时任务,按指定间隔自动备份
– 备份文件格式:YYYYMMDD-HHMM.tar.gz
– 自动清理旧备份文件,只保留最新的 N 份
– 开服时会自动启动日志备份定时任务(默认1小时备份一次,保留10份)
常见问题:
1. 定时备份未生效
– 解决:重启 crond 服务(CentOS:systemctl restart crond,Debian/Ubuntu:service cron restart)或重启服务器
- 备份文件占用磁盘空间
- 解决:减少保留份数,或手动删除旧备份文件
网站管理命令
14. upgm – 配置在线GM网站
命令名称: upgm
命令作用: 配置在线GM网站,需要付费到网站购买GM源码,也算是对GS游享开源环境的支持。
运行条件:
– 需要从 https://gsgameshare.com/ 购买GM源码
– 购买后,上传到 /root 目录下
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无(交互式配置)
使用命令:
upgm
配置项说明:
1. GM后台登录账号:默认值可修改
2. GM后台登录密码:最少6个字符
3. 通讯密钥:最少6个字符
示例:
# 配置GM网站
upgm
结果:
– 解压GM源码到 /tlgame/www/gm 目录
– 生成数据库配置文件 DBConfig.php
– 配置Nginx虚拟主机(端口81)
– 重启 gsnginx、gsphp、gsredis 容器
– 访问地址:http://IP地址:81
常见问题:
1. 错误提示:请联系GS游享网购买在线GM软件包
– 解决:需要从 https://gsgameshare.com/ 购买GM源码,上传到 /root 目录
- 无法访问GM网站
- 解决:检查防火墙是否开放81端口,检查容器是否正常运行
15. upow – 配置开服网站
命令名称: upow
命令作用: 配置官方网站,游戏官网,首页 index.html、index.htm。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
upow
示例:
# 配置开服网站
upow
结果:
– 创建网站目录 /tlgame/www/ow
– 生成Nginx配置文件 /tlgame/conf.d/ow.conf(端口80)
– 重启 gsnginx 容器
– 需要将网站文件上传到 /tlgame/www/ow 目录
– 首页必须是 index.html、index.htm、default.html、default.htm 中的一种
常见问题:
1. 网站无法访问
– 解决:检查防火墙是否开放80端口,检查网站文件是否已上传到 /tlgame/www/ow 目录
- 首页不显示
- 解决:确保首页文件名为
index.html、index.htm、default.html或default.htm之一
- 解决:确保首页文件名为
调试命令
16. step – 分步调试开服
命令名称: step
命令作用: 分步调试命令脚本,需要配合参数使用。用来调试服务端,主要用于修改版本使用。可以即时发现问题。
运行条件:
– 需要复制或者克隆多个SSH容器
– 需要在容器内使用此命令
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:交互式选择步骤
– 参数:步骤编号(1、2、3、4、5等)或 b/billing(启动BILLING服务)
使用命令:
# 在容器内使用
link server
step [步骤编号]
步骤说明:
– 步骤1(如果有billing):启动 [BILLING] 服务
– 步骤2-N:根据 run.sh 文件动态解析出的启动命令,包括:
– ShareMemory
– Login
– World
– Server
– 等其他进程
示例:
# 进入容器
link server
# 交互式选择步骤
step
# 直接执行步骤1(启动BILLING)
step 1
step b
step billing
# 直接执行步骤2(启动ShareMemory)
step 2
# 直接执行步骤3(启动Login)
step 3
结果:
– 每个步骤在独立的SSH窗口中执行
– 可以即时查看每个进程的启动情况
– 如果某个步骤失败,可以单独调试该步骤
常见问题:
1. 错误提示:请进入容器里面使用此命令
– 解决:先使用 link server 进入容器,再执行 step 命令
- 步骤执行失败
- 解决:检查
run.sh文件是否正确,检查服务端文件是否完整
- 解决:检查
系统管理命令
13. upcmd – 更新全局命令
命令名称: upcmd
命令作用: 更新命令,更新上述所有命令,更新命令到最新版本。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
upcmd
示例:
# 更新命令
upcmd
结果:
– 从 Gitee 下载最新版本的命令脚本
– 更新 /usr/local/bin/ 目录下的所有命令
– 复制命令到容器内
– 设置命令执行权限
常见问题:
1. 更新失败
– 解决:检查网络连接,确保可以访问 Gitee,或手动下载更新
17. gstl – 环境安装初始化
命令名称: gstl
命令作用: [已废弃] 环境初始化命令,根据提示进行安装。如果已经安装过,则会自动检测退出。
运行条件: 无
运行环境: 未安装 GS 游享环境
命令参数: 无
使用命令:
gstl
说明: 此命令已废弃,请使用安装脚本进行环境安装:
curl -sSL https://gitee.com/yulinzhihou/gstlenv/raw/master/gsenv.sh | bash
19. close – 关服
命令名称: close
命令作用: 关闭服务端。因为之前close方式关闭服务端,会出现长时间进程卡死情况,无法完全关闭,所以直接使用 restart 命令替代。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
close
示例:
# 关闭服务端
close
结果:
– 停止 ShareMemory 进程
– 执行服务端停止脚本
– 停止 billing 服务
– 删除 core dump 文件
– 提示使用 runtop 查看进程是否完全退出
常见问题:
1. 进程无法完全关闭
– 解决:使用 restart 命令重启容器,或手动进入容器停止进程
22. curgs – 查看配置
命令名称: curgs
命令作用: 查看配置信息,包括端口号、账号密码等。请不要在大众面前使用,因为服务器的配置信息容易暴露。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数: 无
使用命令:
curgs
示例:
# 查看配置信息
curgs
结果:
– 显示环境版本信息
– 显示数据库端口和密码
– 显示服务端路径
– 显示验证服务端口
– 显示登录网关端口
– 显示游戏网关端口
– 显示网站对外端口
– 显示GM工具对外端口
– 显示是否单服务器
– 显示转发机器地址
– 显示备份目录路径
常见问题:
1. 配置信息不准确
– 解决:使用 setconfig 命令重新配置参数
28. gsfix – 修复环境安装
命令名称: gsfix
命令作用: 修复安装 docker 及 docker-compose 失败。
运行条件: 安装 docker 或 docker-compose 失败时使用
运行环境: 未安装或部分安装 GS 游享环境
命令参数: 无
使用命令:
gsfix
示例:
# 修复环境安装
gsfix
结果:
– 使用阿里云镜像安装 Docker
– 下载并安装 docker-compose v2.16.0
– 执行环境安装脚本
常见问题:
1. 修复后仍然失败
– 解决:检查系统是否满足 Docker 安装要求,或联系客服
transfer – 重新构建环境版本
命令名称: transfer
命令作用: 重新构建环境版本,可以在不同环境版本之间切换(751、757、980、651等)。数据不会清除,会先备份。
运行条件: 需要在不同环境版本之间切换
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:交互式选择环境版本
– 参数:环境版本编号(1、2、3、4)
环境版本说明:
– 1 或 01:Centos 6 + Mysql5.1(默认,老品种,没有改引擎和数据库)
– 2 或 02:Centos 7 + Mysql5.1(老品种,没有改引擎和数据库)
– 3 或 03:Centos 7 + Mysql5.7(大河马引擎,大背包,逍遥子引擎,有改引擎和数据库的)
– 4 或 04:Centos 9 + Mysql8.0(源端64位引擎专用)
使用命令:
transfer
# 或
transfer [环境版本编号]
示例:
# 交互式选择环境版本
transfer
# 直接切换到环境3(Centos 7 + Mysql5.7)
transfer 3
transfer 03
# 直接切换到环境4(Centos 9 + Mysql8.0)
transfer 4
transfer 04
结果:
– 备份数据库和版本数据
– 停止并删除所有容器
– 切换 docker-compose 配置文件
– 重新启动容器
– 还原备份的数据
– 初始化 MySQL 数据库
– 提示上传服务端并执行 untar、setini、runtlbb 进行开服
常见问题:
1. 切换环境后数据丢失
– 解决:切换前会自动备份,可在 /tlgame/backup 目录找到备份文件
- 切换环境失败
- 解决:检查磁盘空间是否充足,检查容器日志
帮助命令
gs – 获取命令帮助
命令名称: gs
命令作用: 获取命令帮助文档,不会直接执行命令。
运行条件: 无
运行环境: 已安装 GS 游享环境,容器已启动
命令参数:
– 无参数:显示所有命令列表
– 参数:命令编号(01-29)或命令名称
使用命令:
gs
# 或
gs [命令编号]
gs [命令名称]
示例:
# 显示所有命令列表
gs
# 获取第一个命令帮助(untar)
gs 01
gs 1
gs untar
# 获取第二个命令帮助(setini)
gs 02
gs 2
gs setini
# 获取第三个命令帮助(runtlbb)
gs 03
gs 3
gs runtlbb
命令列表:
– 01 或 untar:解压服务端
– 02 或 setini:配置ini文件
– 03 或 runtlbb:开启服务端
– 04 或 runtop:查看开服状态
– 05 或 link:连接容器
– 06 或 swap:增加虚拟缓存
– 07 或 rebuild:重构环境
– 08 或 remove:移除环境
– 09 或 setconfig:设置配置参数
– 10 或 change:换端
– 11 或 restart:重启容器
– 12 或 gsbak:备份数据
– 13 或 upcmd:更新全局命令
– 14 或 upgm:配置在线GM网站
– 15 或 upow:配置开服网站
– 16 或 step:分步调试开服
– 17 或 gstl:环境安装初始化
– 18 或 backup:手动备份数据库
– 19 或 close:关服
– 20 或 gslog:查看日志
– 21 或 rmlog:删除日志
– 22 或 curgs:查看配置
– 23 或 setpoint:设置默认充值点数
– 24 或 reset:删档数据库
– 25 或 setvalid:解/封号
– 26 或 restore:还原数据库
– 27 或 delbak:删除备份文件
– 28 或 gsfix:修复环境安装
– 29 或 logbak:定时备份日志文件
– 0 或 q 或 Q:退出
结果:
– 显示命令的详细帮助信息
– 显示命令的作用、用法、条件、参数、说明等
– 部分命令会直接执行(如 gs untar 会执行 untar 命令)
常见问题:
1. 无法获取帮助
– 解决:确保容器正在运行,使用 docker ps 检查容器状态
常见问题汇总
安装相关问题
- 系统不支持安装
- 解决:检查系统是否满足要求(64位、内核>=3.10、支持cgroup),或使用
gsfix命令修复安装
- 解决:检查系统是否满足要求(64位、内核>=3.10、支持cgroup),或使用
- Docker 安装失败
- 解决:检查网络连接,确保可以访问 Docker 镜像源,或使用
gsfix命令修复
- 解决:检查网络连接,确保可以访问 Docker 镜像源,或使用
服务端相关问题
- 服务端无法启动
- 解决:检查服务端文件是否完整,使用
step命令分步调试,查看日志gslog
- 解决:检查服务端文件是否完整,使用
- 服务端启动后无法连接
- 解决:检查防火墙是否开放端口,使用
curgs查看端口配置,使用setconfig修改端口
- 解决:检查防火墙是否开放端口,使用
- 数据库连接失败
- 解决:检查数据库容器是否运行,使用
curgs查看数据库密码,使用setconfig修改密码
- 解决:检查数据库容器是否运行,使用
数据相关问题
- 数据丢失
- 解决:检查
/tlgame/backup目录是否有备份,使用restore命令还原
- 解决:检查
- 备份失败
- 解决:检查磁盘空间是否充足,检查容器是否正常运行
日志相关问题
- 日志占用磁盘空间过大
- 解决:使用
rmlog删除日志,或使用logbak定时备份日志
- 解决:使用
- 无法查看日志
- 解决:确保服务端已启动,日志目录会自动创建
容器相关问题
- 容器无法启动
- 解决:检查 Docker 服务是否运行,查看容器日志
docker logs [容器名]
- 解决:检查 Docker 服务是否运行,查看容器日志
- 容器频繁重启
- 解决:检查容器日志,查看错误信息,或执行
rebuild重构环境
- 解决:检查容器日志,查看错误信息,或执行
网络相关问题
- 无法访问网站
- 解决:检查防火墙是否开放端口,检查容器是否正常运行,检查网站文件是否已上传
- 端口被占用
- 解决:使用
setconfig修改端口配置,或关闭占用端口的程序
- 解决:使用
联系支持
- 官方网站: https://gsgameshare.com
- 项目地址: https://github.com/yulinzhihou/gstlenv
- Gitee地址: https://gitee.com/yulinzhihou/gstlenv
- 问题反馈: https://gitee.com/yulinzhihou/gstlenv/issues
- 客服QQ: 1303588722
- 环境教程: https://gsgameshare.com/deploy/1.html
- 离线版本: https://gsgameshare.com/deploy/30.html
- 命令文档: https://gsgameshare.com/deploy/28.html
文档版本: v2.8.28
最后更新: 2026-01-15
维护者: GS游享网团队
