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.gztlbb.zip 两种格式。

运行条件:
– 服务端压缩包必须上传到 /root 目录下
– 压缩包名称必须为 tlbb.tar.gztlbb.zip

运行环境: 已安装 GS 游享环境,容器已启动

命令参数: 无

使用命令:

untar

示例:

# 解压服务端
untar

结果:
– 如果存在 /root/tlbb.tar.gz,会解压到 /tlgame/tlbb/ 目录
– 如果存在 /root/tlbb.zip,会解压到 /tlgame/tlbb/ 目录
– 原压缩包会被重命名为带时间戳的文件并保留在 /root 目录
– 如果之前存在服务端,会先备份为 tlgame-YYYYMMDDHHMMSS.tar.gz

常见问题:
1. 错误提示:服务端文件不存在
– 解决:确保压缩包已上传到 /root 目录,文件名必须为 tlbb.tar.gztlbb.zip

  1. 解压后找不到服务端文件
    • 解决:检查解压后的目录结构,确保服务端在 /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/

  1. 配置文件写入失败
    • 解决:检查容器是否正常运行,执行 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

  1. 服务端启动失败
    • 解决:检查服务端 run.sh 脚本是否有问题,或使用 step 命令分步调试
  2. 环境未被初始化成功
    • 解决:执行 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 容器
gsserverservergss:进入主服务器容器
gsmysqlmysqlsqlmym:进入数据库容器
gsnginxnginxn:进入网站容器
gsphpphpp:进入 PHP 容器
gsredisredisr:进入 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 检查容器状态

  1. 在容器内无法使用命令
    • 解决:这是正常现象,环境命令只能在宿主机使用,需要 exit 退出容器后使用

06. swap – 增加虚拟内存

命令名称: swap

命令作用: 为云服务器或虚拟机系统增加虚拟内存,默认增加 4GB。只占用硬盘空间,不需要多次执行,但此命令是临时生效,重启服务器后需要再次执行。

运行条件:
– 小于或等于 5GB 内存的虚拟机或服务器配置
– 需要至少 4GB 可用磁盘空间

运行环境: 已安装 GS 游享环境

命令参数: 无

使用命令:

swap

示例:

# 增加虚拟内存
swap

结果:
– 创建 /usr/swap/swapfile 文件(4GB)
– 启用虚拟内存
– 添加到开机自动加载(/etc/fstab
– 显示当前内存+虚拟内存总容量

常见问题:
1. 提示虚拟内存已存在
– 解决:虚拟内存已创建,无需重复执行

  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文件

  1. 密码修改失败
    • 解决:检查数据库容器日志 docker logs gsmysql

10. change – 换端

命令名称: change

命令作用: 执行换端操作,数据库不会清除,原服务端版本的数据还会存在。建议不要使用相同账号进入,可能会报错。

运行条件:
– 新的服务端压缩包 tlbb.tar.gztlbb.zip 必须上传到 /root 目录下

运行环境: 已安装 GS 游享环境,容器已启动

命令参数: 无

使用命令:

change

示例:

# 换端操作
change

结果:
– 自动备份数据库和服务端版本到 /tlgame/backup 目录
– 停止容器
– 删除 /tlgame/gsmysql/*/tlgame/tlbb/* 目录
– 重新启动容器
– 解压新服务端(untar
– 初始化 MySQL(init_mysql
– 配置INI文件(setini
– 启动服务端(runtlbb

常见问题:
1. 错误提示:新服务端版本文件不存在
– 解决:确保新服务端压缩包已上传到 /root 目录,文件名为 tlbb.tar.gztlbb.zip

  1. 换端后数据丢失
    • 解决:换端前会自动备份,可在 /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 重新开服

  1. 重启数据库导致数据丢失
    • 解决:谨慎选择重启数据库,建议先备份数据

数据管理命令

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)或重启服务器

  1. 备份文件过多占用磁盘
    • 解决:使用 delbak 命令清理旧备份文件

18. backup – 手动备份数据库

命令名称: backup

命令作用: 手动执行备份服务端版本和数据库。备份目录在 /tlgame/backup 目录下。

运行条件: 无

运行环境: 已安装 GS 游享环境,容器已启动

命令参数:
– 无参数:交互式选择备份类型
all0:备份版本+数据库
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.sqltlbbdb-YYYY-MM-DD-HH-MM-SS.sql
– 备份文件保存在 /tlgame/backup 目录
– 生成备份日志文件 backup-YYYY-MM-DD.log

常见问题:
1. 备份失败
– 解决:检查磁盘空间是否充足,检查容器是否正常运行

  1. 备份文件找不到
    • 解决:检查 /tlgame/backup 目录,确认备份是否成功

26. restore – 还原数据库

命令名称: restore

命令作用: 使用命令行进行数据库还原操作。

运行条件: 前提是服务端开启状态中

运行环境: 已安装 GS 游享环境,容器已启动

命令参数:
– 参数1:需要还原的数据库名称(webtlbbdb
– 参数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个参数,第一个是 webtlbbdb,第二个是数据库文件的绝对路径

  1. 错误提示:数据库文件不存在
    • 解决:检查文件路径是否正确,使用绝对路径
  2. 还原失败
    • 解决:检查数据库文件格式是否正确,查看容器日志 docker logs gsmysql

27. delbak – 删除备份文件

命令名称: delbak

命令作用: 删除备份文件,默认保留最新的文件各10份。主要清理 web.sqltlbbdb.sqltlbb.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 命令还原

  1. 删档失败
    • 解决:检查容器是否正常运行,查看容器日志

23. setpoint – 设置默认充值点数

命令名称: setpoint

命令作用: 修复注册账号送默认充值点,离线给账号刷充值点、元宝、赠点、帮贡、门贡、潜能、金币,也可以单独为某个账号或者某个角色设置。

运行条件: 设置默认充值点,从即刻起,注册新账号会有默认的充值点

运行环境: 已安装 GS 游享环境,容器已启动

命令参数:
– 无参数:还原所有默认充值点数为0
– 2个参数:setpoint [类型] [数量] – 设置成功后,所有角色有效果
– 3个参数:setpoint [类型] [数量] [账号] – 设置单个账号的第一个角色
– 4个参数:setpoint [类型] [数量] [账号] [角色序号] – 设置单个账号的指定角色

参数1(类型)说明:
pointpPOINTP充值点:充值点
yuanbaoyYUANBAOY元宝:元宝
zengdianzZENGDIANZ赠点:赠点
menpaipointmMENPAIPOINTM门贡:门贡
guildpointgGUILDPOINTG帮贡:帮贡
pointspoPOINTSPO潜能:潜能
vmoneyvVMONEYV金币:金币

参数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 范围内,且为整数

  1. 错误提示:用户账号不需要加后缀
    • 解决:账号参数只需要账号名,不需要 @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

  1. 封号/解封未生效
    • 解决:退出游戏后重新登录,或再次执行命令

日志管理命令

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. 日志文件不存在
– 解决:确保服务端已启动,日志目录会自动创建

  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份)
cronsetup:设置定时任务
– 参数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)或重启服务器

  1. 备份文件占用磁盘空间
    • 解决:减少保留份数,或手动删除旧备份文件

网站管理命令

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 目录

  1. 无法访问GM网站
    • 解决:检查防火墙是否开放81端口,检查容器是否正常运行

15. upow – 配置开服网站

命令名称: upow

命令作用: 配置官方网站,游戏官网,首页 index.htmlindex.htm

运行条件: 无

运行环境: 已安装 GS 游享环境,容器已启动

命令参数: 无

使用命令:

upow

示例:

# 配置开服网站
upow

结果:
– 创建网站目录 /tlgame/www/ow
– 生成Nginx配置文件 /tlgame/conf.d/ow.conf(端口80)
– 重启 gsnginx 容器
– 需要将网站文件上传到 /tlgame/www/ow 目录
– 首页必须是 index.htmlindex.htmdefault.htmldefault.htm 中的一种

常见问题:
1. 网站无法访问
– 解决:检查防火墙是否开放80端口,检查网站文件是否已上传到 /tlgame/www/ow 目录

  1. 首页不显示
    • 解决:确保首页文件名为 index.htmlindex.htmdefault.htmldefault.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 命令

  1. 步骤执行失败
    • 解决:检查 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)

环境版本说明:
101:Centos 6 + Mysql5.1(默认,老品种,没有改引擎和数据库)
202:Centos 7 + Mysql5.1(老品种,没有改引擎和数据库)
303:Centos 7 + Mysql5.7(大河马引擎,大背包,逍遥子引擎,有改引擎和数据库的)
404: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 数据库
– 提示上传服务端并执行 untarsetiniruntlbb 进行开服

常见问题:
1. 切换环境后数据丢失
– 解决:切换前会自动备份,可在 /tlgame/backup 目录找到备份文件

  1. 切换环境失败
    • 解决:检查磁盘空间是否充足,检查容器日志

帮助命令

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

命令列表:
01untar:解压服务端
02setini:配置ini文件
03runtlbb:开启服务端
04runtop:查看开服状态
05link:连接容器
06swap:增加虚拟缓存
07rebuild:重构环境
08remove:移除环境
09setconfig:设置配置参数
10change:换端
11restart:重启容器
12gsbak:备份数据
13upcmd:更新全局命令
14upgm:配置在线GM网站
15upow:配置开服网站
16step:分步调试开服
17gstl:环境安装初始化
18backup:手动备份数据库
19close:关服
20gslog:查看日志
21rmlog:删除日志
22curgs:查看配置
23setpoint:设置默认充值点数
24reset:删档数据库
25setvalid:解/封号
26restore:还原数据库
27delbak:删除备份文件
28gsfix:修复环境安装
29logbak:定时备份日志文件
0qQ:退出

结果:
– 显示命令的详细帮助信息
– 显示命令的作用、用法、条件、参数、说明等
– 部分命令会直接执行(如 gs untar 会执行 untar 命令)

常见问题:
1. 无法获取帮助
– 解决:确保容器正在运行,使用 docker ps 检查容器状态


常见问题汇总

安装相关问题

  1. 系统不支持安装
    • 解决:检查系统是否满足要求(64位、内核>=3.10、支持cgroup),或使用 gsfix 命令修复安装
  2. Docker 安装失败
    • 解决:检查网络连接,确保可以访问 Docker 镜像源,或使用 gsfix 命令修复

服务端相关问题

  1. 服务端无法启动
    • 解决:检查服务端文件是否完整,使用 step 命令分步调试,查看日志 gslog
  2. 服务端启动后无法连接
    • 解决:检查防火墙是否开放端口,使用 curgs 查看端口配置,使用 setconfig 修改端口
  3. 数据库连接失败
    • 解决:检查数据库容器是否运行,使用 curgs 查看数据库密码,使用 setconfig 修改密码

数据相关问题

  1. 数据丢失
    • 解决:检查 /tlgame/backup 目录是否有备份,使用 restore 命令还原
  2. 备份失败
    • 解决:检查磁盘空间是否充足,检查容器是否正常运行

日志相关问题

  1. 日志占用磁盘空间过大
    • 解决:使用 rmlog 删除日志,或使用 logbak 定时备份日志
  2. 无法查看日志
    • 解决:确保服务端已启动,日志目录会自动创建

容器相关问题

  1. 容器无法启动
    • 解决:检查 Docker 服务是否运行,查看容器日志 docker logs [容器名]
  2. 容器频繁重启
    • 解决:检查容器日志,查看错误信息,或执行 rebuild 重构环境

网络相关问题

  1. 无法访问网站
    • 解决:检查防火墙是否开放端口,检查容器是否正常运行,检查网站文件是否已上传
  2. 端口被占用
    • 解决:使用 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游享网团队

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。