Garry's Mod Dedicated Server Setup
Facepunch's maintained guide uses SteamCMD app 4020 and the Source dedicated-server launcher srcds_run. This walkthrough keeps the startup flags, Workshop collection, Steam account token, and client connection checks in the order that makes failures diagnosable. If you want the files and process managed for you, see Garry's Mod server hosting.
Last verified: September 1, 2026. The official Facepunch dedicated-server guide is the source for app IDs, branch notes, GSLT, and launch parameters. It notes that macOS dedicated servers are no longer shipped.
Install with SteamCMD
Install SteamCMD for your operating system, choose an empty server directory, and download app 4020 anonymously:
steamcmd +login anonymous \
+force_install_dir /path/to/gmodds \
+app_update 4020 validate \
+quitRun the command again when updating. On Linux, install the 32-bit runtime libraries required by SteamCMD/Source and use the official troubleshooting notes if the launcher reports missing libraries.
Launch a test server
cd /path/to/gmodds
./srcds_run -game garrysmod -console \
+maxplayers 16 \
+gamemode sandbox \
+map gm_construct \
-port 27015Use a small player slot count and a stock map for the first boot. Keep the console output; it tells you whether the game, map, or an addon failed before anyone attempts to join.
Give the server a Steam account token
For a public server, create a Game Server Login Token (GSLT) for app 4000 and pass it at startup:
./srcds_run -game garrysmod -console \
+sv_setsteamaccount YOUR_GSLT \
+gamemode sandbox +map gm_constructKeep the token private. Do not paste it into a public article, repository, chat transcript, or support ticket.
Add a Workshop collection after vanilla works
Use a public or unlisted collection and add its ID to the startup command:
./srcds_run -game garrysmod -console \
+host_workshop_collection COLLECTION_ID \
+gamemode sandbox +map gm_constructThe server fetches and updates the collection at startup. Client-side content delivery is a separate concern; use the Workshop addons guide and download troubleshooting guide when players see missing content.
Connect and verify
- Start with the stock map and no custom addons.
- Open the GMod client console and use
connect YOUR_SERVER_IP:27015. - Run
statuson the server console after a successful join and record the map, gamemode, and player count. - Only then add the Workshop collection, custom map, and gamemode one change at a time.
If the client hangs on “retrieving server info,” or local players can join while external players cannot, use GMod connection troubleshooting before changing several network variables at once.
Branches and platform notes
- Facepunch documents an x86-64 beta branch for current server testing; record the branch so clients and operators know what is being tested.
- MacOS dedicated servers are no longer shipped according to the official guide.
- For LAN-only testing, review
sv_lanand the startup timing in the configuration guide. Do not assume setting it only inserver.cfgchanges the initial server state.
Related Garry's Mod guides
- Server requirements and sizing
- Startup flags and server.cfg
- Workshop collections and addons
- Connection troubleshooting
- Server cost and plan sizing
Prefer an always-on process, backups, and a managed Workshop directory? Launch a managed Garry's Mod server and keep this guide for flags and diagnostics.