Map Updater
GOKZ.TOP provides a map updater for server operators. It compares the validated map catalog with the BSP files on your server, downloads only missing or changed maps, and refreshes maplist.txt and mapcycle.txt.
Requirements
- Linux with
curl, Python 3, andflock - Write access to the server's
csgo/mapsdirectory - Optional:
7zor7zzfor faster large initial installations
Run every command as the Linux user that owns and runs the game server.
Test a manual update
Change to the server's csgo/ directory—not csgo/maps/—and run:
curl -fsSL https://gokz.top/install/maps.sh | sh
Confirm the detected directory when prompted and make sure the update finishes successfully before scheduling it.
Schedule hourly updates
Open the game-server user's crontab:
crontab -e
Add this line:
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
The job checks at the start of every hour, so a newly validated map may take up to one hour to arrive. The lock prevents overlapping runs, and unattended confirmation is enabled for the updater process.
Standard LinuxGSM installations at $HOME/serverfiles/csgo are detected automatically.
Use a custom server path
If your csgo directory is elsewhere, add an explicit cd before export:
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
Replace /path/to/serverfiles/csgo with the absolute path to your server's csgo/ directory.
Check logs or remove the schedule
View recent output with:
tail -n 100 "$HOME/map-update.log"
To stop automatic updates, run crontab -e, delete the GOKZ map updater line, and save the file. The lock and log files can remain safely; they do not run anything by themselves.