Skip to content

地图更新工具

GOKZ.TOP 为服务器运营者提供地图更新工具。它会比较已验证地图目录与服务器上的 BSP 文件,仅下载缺失或已有更新的地图,并刷新 maplist.txtmapcycle.txt

环境要求

  • 安装了 curl、Python 3 和 flock 的 Linux 系统
  • 对服务器 csgo/maps 目录的写入权限
  • 可选:安装 7z7zz,以加快较大规模的首次安装

请始终使用拥有并运行游戏服务器的 Linux 用户执行这些命令。

测试手动更新

进入服务器的 csgo/ 目录(不是 csgo/maps/)并运行:

curl -fsSL https://gokz.top/install/maps.sh | sh

按提示确认检测到的目录,并在设置定时任务前确认更新已成功完成。

设置每小时更新

打开游戏服务器用户的 crontab:

crontab -e

添加以下一行:

0 * * * * /usr/bin/flock -n "$HOME/.gokz-map-update.lock" /bin/sh -c 'export GOKZ_MAPS_YES=1; /usr/bin/curl -fsSL https://gokz.top/install/maps.sh | /bin/sh' >> "$HOME/map-update.log" 2>&1

任务会在每个整点检查一次,因此新验证的地图最多可能需要一小时才会下载。锁文件可避免任务重叠运行,同时更新工具已启用无人值守确认。

位于 $HOME/serverfiles/csgo 的标准 LinuxGSM 安装会被自动检测。

使用自定义服务器路径

如果 csgo 目录位于其他位置,请在 export 前添加明确的 cd

0 * * * * /usr/bin/flock -n "$HOME/.gokz-map-update.lock" /bin/sh -c 'cd /path/to/serverfiles/csgo || exit 1; export GOKZ_MAPS_YES=1; /usr/bin/curl -fsSL https://gokz.top/install/maps.sh | /bin/sh' >> "$HOME/map-update.log" 2>&1

请将 /path/to/serverfiles/csgo 替换为服务器 csgo/ 目录的绝对路径。

查看日志或移除定时任务

使用以下命令查看最近的输出:

tail -n 100 "$HOME/map-update.log"

如需停止自动更新,请运行 crontab -e,删除 GOKZ 地图更新任务所在行,然后保存文件。锁文件和日志文件可以安全保留;它们本身不会执行任何任务。