Keeping Your GMod Server Up to Date
How to update your GMod server using SteamCMD, handle Workshop addon updates, and safely apply updates with minimal downtime.
When to Update
Garry's Mod releases updates periodically. When Valve pushes a client update, servers running an older version display a "server is outdated" message to connecting clients, who are unable to join until the server is updated. Monitor the GMod update news or Steam DB for update notifications.
Staying current also ensures compatibility with Workshop addons, which may update to require newer GMod API versions.
Stopping the Server Before Updating
The server must be fully stopped before running SteamCMD. Attempting to update a running server can corrupt files.
In Pterodactyl, click Stop and wait for the server status to show Offline before proceeding.
Running the Update
./steamcmd.sh +force_install_dir /home/container +login anonymous +app_update 4020 validate +quit
The validate flag is important. It checksums every installed file against Steam's manifest and re-downloads any that are missing or corrupted. Always use validate on updates — it adds only a few seconds for unchanged files but catches issues that a non-validating update misses.
AppID 4020 is the dedicated server. Do not use 4000 (the client AppID) for server updates.
Pterodactyl Update Process
On Pterodactyl, the egg typically exposes a reinstall or update button that runs SteamCMD automatically. The process:
- Stop the server in the panel
- Use the panel's "Reinstall" function, or trigger SteamCMD manually via the console
- Wait for SteamCMD to complete — watch the console for
Success! App '4020' fully installed. - Start the server
If your egg does not have an update button, open the panel console while the server is stopped and run:
steamcmd +force_install_dir /home/container +login anonymous +app_update 4020 validate +quit
Workshop Addon Updates
Workshop addons update automatically on each server restart. When the server starts, it checks each addon in the collection against the latest Workshop version and downloads any updates.
This means a routine restart is all that is needed to apply Workshop addon updates. However, if an addon update breaks something:
- Identify the problematic addon from error messages in console
- Temporarily remove it from your Workshop collection on Steam
- Restart the server — the old cached version will no longer be used
- Test the server
- Check the addon's Workshop page for known issues or newer versions
Workshop cache files are stored at garrysmod/cache/workshop/. You can delete individual cached files by addon ID to force a fresh download.
Post-Update Checklist
After every GMod server update:
- Verify the server starts and reaches
VAC secure mode is activated - Test that players can connect
- Run
versionin the console and confirm the build number matches the latest release - Check
statusor connect in-game to confirm gamemodes and Workshop addons loaded correctly
Updating CSS or Other Mounted Games
If you have CSS or TF2 mounted, update those separately when their own updates release:
# Update CSS
./steamcmd.sh +force_install_dir /home/container/css +login anonymous +app_update 232330 validate +quit
# Update TF2
./steamcmd.sh +force_install_dir /home/container/tf2 +login anonymous +app_update 232250 validate +quit
Mounted game updates rarely break GMod compatibility, but staying current is still good practice.
Automating Updates
Pterodactyl does not natively schedule automatic updates. Options for automation:
- Schedule a server restart during low-traffic hours; configure the egg to run SteamCMD before starting
- Use a cron job in the container (if your egg supports it) to run the SteamCMD update command
Unattended updates carry risk — a bad GMod update could break your server until you manually intervene. Review update changelogs before automatically applying them to production servers.