Short answer. You can host a Garry's Mod server yourself for free: install the Garry's Mod Dedicated Server (Steam app 4020) with SteamCMD, create a Steam game server token, and start srcds_run with the -port you chose, opened in your firewall and router. Or rent a Garry's Mod server and skip the install and the networking.
Players find your server in the in-game server browser, or connect to its address and port from the console.
Checked on 5 November 2026 against the September 2026 Update and its 17 September 2026 hotfix, the newest release Facepunch had announced on Steam.
This guide uses three sources: the Facepunch wiki's dedicated server pages, Steam's game server account page, and what we run on every Garry's Mod server we host. To skip to the rental route, go to Option 2.
What you need
The server software: "Garry's Mod Dedicated Server", Steam app 4020. It is free and downloads with an anonymous Steam login.
A machine that stays on: a spare PC, a home server or a cloud virtual machine. This guide uses 64-bit Linux, which is what we run. The Facepunch wiki also documents Windows with steamcmd.exe and srcds.exe.
32-bit libraries: the Facepunch wiki says a 64-bit Linux system needs 32-bit libraries, because SteamCMD is only available as 32-bit. The install step below adds them.
A Steam game server token: the wiki calls it mandatory and says a server without one has its ranking penalized. You create it with your own Steam account, which must own the game, must not be limited, community banned or locked, and must have a qualifying phone number registered.
Network: the port you pass with -port must be reachable from the internet.
RAM and CPU: the Facepunch wiki's hosting pages list no server requirements. Treat any figure you read elsewhere as an estimate. Our own notes are in How much RAM does a Garry's Mod server need?
Option 1: host it yourself
These steps are for Debian or Ubuntu. The app id and the launch options are the ones our servers use.
SteamCMD sometimes answers "Missing configuration" and leaves no game files, yet still ends as if it worked. We see this come and go on fresh installs. Check that steamapps/appmanifest_4020.acf exists in the server folder, and run the command again if it does not. The Facepunch wiki adds that force_install_dir can cause update failures; if yours does, put it before login as above or install into a different folder.
Copy the Steam client library from SteamCMD to where the server looks for it, as our install does:
Open the Steam game server account page (steamcommunity.com/dev/managegameservers) while signed in to the account that owns Garry's Mod.
Enter 4000 as the App ID of the base game (the Facepunch wiki gives this value for Garry's Mod) and a memo that names the server, then create the token. Each server needs its own token. Steam says you are solely responsible for your tokens, that you should not give them to third parties (and should delete any token you have given out), and that a token the server never logs in with for a long time expires.
Keep it for the launch command below as +sv_setsteamaccount.
Start it
Start the server from the server folder. This is the launch line our servers use, trimmed to the essentials:
Replace 27016 with the port you opened and YOUR_TOKEN with your token. The Facepunch wiki lists -tickrate with a default of 66.6666 and a recommended range of 30 to 128; add it only to change that. The Facepunch wiki also warns that an invalid or expired token stops the server from starting. Our panel takes the log line gameserver Steam ID as the sign that the server is up. Run it under a service manager such as systemd so it restarts after a crash.
Open the port. Allow it on the machine's firewall and forward it on your router to the machine.
Join it. Open Garry's Mod, then the server browser, or use the console to connect to your public address and port.
Update by stopping the server and running the step 4 download command again. Players and server need to be on compatible builds: Facepunch's April 2026 announcement said that update required existing servers to update before they could be joined, while the September 2026 one was backwards compatible with existing servers.
Settings, workshop addons and a trap in server.cfg
Workshop collection: add +host_workshop_collection <collection ID> to the launch line. The server downloads the collection at startup and mounts its addons. The wiki says the collection must be public or unlisted.
Settings file: put your options in garrysmod/cfg/server.cfg. Do not put hostname or rcon_password there if you also pass them on the command line. The Facepunch wiki notes that server.cfg runs late in startup, and our install leaves a comment at the top of the file warning that a value in it silently overrules the one from the command line.
Hide it: the wiki documents hide_server 1 to keep a server out of the server browser.
Option 2: host it on PlayNHost
Renting removes the install, the token-in-a-command-line routine, the port forwarding and the update routine. You still choose a name, a map, a gamemode and your addons.
Pick a plan. Open the Garry's Mod server hosting page and compare the plans: DOG BALLON (4 players), STAR BALLON (8) and GMAN BALLON (15) at the time of writing. Press Create Server (Customize Plan on GMAN BALLON) and finish the order. Prices change, so check them on that page.
Wait for the install. The server appears in the panel. Its Console prints gameserver Steam ID when it is ready.
Set it up. On the Settings tab, under Game Settings, set the Server name (no spaces: join words with - or _), the Gamemode (its folder name, such as sandbox), the Map, and your Steam Game Server Token. The token is optional on our servers: without one the server still starts, but the Facepunch wiki says its server list ranking is penalized. A wrong or expired token is worse than none, because the wiki says it prevents the server from starting. Then restart. Keys and steps are in How to set up your Garry's Mod server: key settings.
Add addons. Paste your Steam Workshop collection ID into Workshop Collection and restart. Use a collection ID, as the Facepunch wiki describes; to add a single addon, put it in a collection of your own and use that collection's ID. See How to add mods to your Garry's Mod server.
It installs app 4020 and makes up to three attempts when SteamCMD answers "Missing configuration", counting the app manifest, not the exit code, as proof that the files arrived.
Your port is assigned for you and passed with -port, so there is no router or firewall to set up.
It writes a server.cfg once, at install, with the limits (for example sbox_maxprops 100), the network defaults and exec lines for the ban files. Because the panel does not rewrite it at each start, your edits to it stay; a reinstall writes it again. Hostname and RCON password come from the panel settings, not from this file.
With Auto Update on (the default, under Show advanced), the server installs the newest build each time it starts, so a restart is an update.
Lua Refresh is off by default: the server starts with -disableluarefresh unless you turn it on.
The player limit follows the plan you pick and is not a setting you can change in the panel. The Tickrate setting starts at 22 on our servers, below the 30 to 128 range the Facepunch wiki recommends; you can change it in Game Settings.
Self-hosting or renting: an honest comparison
Cost: the server software is free. Self-hosting costs power, hardware and bandwidth, or a cloud machine. Renting is a recurring fee set by the plan.
Uptime: a home server is only up while your PC, power and internet are. A rented server runs on the host's hardware.
Exposure: at home, players connect to your public IP address and you look after the firewall and router. A rented server keeps your home IP out of it.
Setup: self-hosting needs the command line, 32-bit libraries, a Steam token and port forwarding. Renting needs a name, a gamemode and, ideally, your token.
Control: self-hosting gives you every file. On our servers you change settings in the panel and still have the Files tab for your own configs and addons.
We use cookies to keep the site working, to understand how it is used, and to measure our marketing. You can accept all, accept essential cookies only, or choose per category.We use cookies to keep the site working, to understand how it is used, and to measure our marketing. They are on by default here. You can switch off anything you do not want.Read our privacy policy