Gmod Dedicated Server: Free Self-Hosting or 24/7 Hosting
Run a Garry's Mod server for free with SteamCMD or host it 24/7: the srcds launch line, GSLT, server.cfg, ports, Workshop collections, gamemodes and the 1up panel.

A Gmod dedicated server is free if you run it yourself: Valve's SteamCMD downloads it with an anonymous login, and your own PC or VPS does the rest. This guide covers that route step by step, then what our Garry's Mod server hosting adds when you would rather not keep a machine on.
- Free route: SteamCMD, app 4020, anonymous login. The server runs on Windows and Linux; macOS builds are no longer shipped.
- Launch line:
+gamemode,+map,+maxplayers,+host_workshop_collectionand+sv_setsteamaccount(your GSLT) cover a typical server. - GSLT: Facepunch calls it mandatory. Without one, your server sinks in the server list ranking.
- Gamemodes: Sandbox and Trouble in Terrorist Town ship with the game. DarkRP and the rest come from the Workshop.
- On 1up: Garry's Mod runs on Free with the hourglass at ×1.5, because its 20 GB install is bigger than Free's disk. Casual (€3/month, 2 GB of RAM, 6 slots) keeps it online 24/7.
1. Free self-hosting or a hosted server?
Garry's Mod gives you three ways to play together:
- Host from the game: a listen server started from the menu. Free, but the session ends when the host quits.
- Self-host a dedicated server: free software, full control, but your PC or a rented VPS stays on, and you handle updates, ports and crashes.
- A hosted server: the server runs in a data centre and you manage it from a web panel.
If you searched for "free gmod hosting", the honest answer is the second option. The server software costs nothing; the machine, the electricity and your time are the price. The rest of this section and the next three cover that route, and they apply to any Linux or Windows box.
2. Install the server with SteamCMD
The Facepunch wiki documents the install. Download SteamCMD from Valve, log in anonymously and update app 4020. On Windows, in one line:
steamcmd.exe +login anonymous +force_install_dir c:\my_garrysmod_server\ +app_update 4020 validate +quitOn Linux, the same page gives:
steamcmd +login anonymous +force_install_dir ../gmodds +app_update 4020 validate +quitTwo notes from the wiki worth knowing before you start:
force_install_dir"is known to cause problems when updating". If an update fails, reinstall into another folder or typeforce_install_dirbeforelogin.- On 64-bit Linux, SteamCMD needs 32-bit libraries. The Linux hosting page shows the error and the packages.
Run the same SteamCMD line again to update. Since the September 2026 Update, Windows dedicated servers also ship 64-bit binaries, which lowers the risk of running out of 32-bit address space on servers heavy with addons.
3. Start it: the srcds launch line
On Windows you run srcds.exe; on Linux, srcds_run from the install folder. The wiki's Windows example:
srcds.exe +maxplayers 20 -console +gamemode sandbox +map gm_construct +sv_setsteamaccount <your token>What each piece does:
| Parameter | What it does |
|---|---|
+gamemode sandbox | The gamemode folder name, from garrysmod/gamemodes/ or from an addon |
+map gm_construct | The map file name without .bsp |
+maxplayers 20 | Player slots |
+host_workshop_collection <id> | Downloads and mounts a Workshop collection at every start |
+sv_setsteamaccount <token> | Your Game Server Login Token (GSLT) |
-port <n> | The port the server uses, 27015 by default (Valve Developer Community) |
Get a GSLT. The wiki's Steam Game Server Accounts page says that since May 2020 every Garry's Mod server should have one, and that servers without it "will suffer a severe penalty in server list ranking". Create it at steamcommunity.com/dev/managegameservers with app ID 4000 (the game, not the server's 4020). Each server needs its own token: one token on two servers ends in Steam error code 6 disconnects. An invalid or expired token stops the server from starting, and changing your Steam password invalidates all your tokens.
Ports. Players connect over UDP on the game port, 27015 by default. Source's remote console (RCON) listens on TCP on that same port, and -port moves both together, according to Valve's RCON protocol page. Forward UDP 27015 on your router; forward TCP only if you really need RCON from outside.
4. server.cfg: name, password and RCON
Console variables live in garrysmod/cfg/server.cfg. A minimal file:
hostname "Friday Build Night"
sv_password "pickles42"
rcon_password "a-long-random-string"
sv_location "eu"hostnameis the name in the server browser.sv_passwordlocks the server. Players set it withpassword "pickles42"in the developer console before theyconnect.rcon_passwordprotects the remote console. The engine bans addresses after failed attempts; the ConVar list defaults tosv_rcon_maxfailures 10, andsv_rcon_banpenaltysets the ban length in minutes. Use a long password and keep TCP closed if you do not need it.sv_locationshows a flag in the browser. Facepunch's server operator rules ask for a correct value;euis the European Union flag.
Two Sandbox convars change the feel of a build server: sbox_noclip (on by default) and sbox_playershurtplayers (on by default). Admins go in garrysmod/settings/users.txt, which ships with superadmin and admin sections, each holding "name" "STEAM_0:x:y" lines (the default file).
5. Workshop collections and client downloads
The easiest way to add addons is a Steam Workshop collection. From the Workshop for Dedicated Servers page:
- Create a collection for Garry's Mod on the Workshop and add your addons. Make it public or unlisted; a private collection cannot be read by srcds.
- Copy the number at the end of its URL.
- Add
+host_workshop_collection <id>to the launch line. The server downloads and mounts the whole collection at every start, nested collections included, and updates the addons each time.
The server downloading an addon is half the job: players need its models and materials too, or they see errors. The Serving Content page ranks the options:
- WorkshopDL: the fastest. A server-side Lua file calls
resource.AddWorkshop("<id>")for each addon with content. The wiki showsgarrysmod/lua/autorun/server/workshop.luaor a legacy addon folder. The current map is marked automatically when it is in the collection, and so is the gamemode when its.txtfile carries aworkshopid. - FastDL: your own web server, set in
sv_downloadurl, with files marked byresource.AddFile. - ServerDL:
sv_allowdownload, capped at about 64 KB/s and open to abuse. Avoid it.
Lua files themselves are not "content" and download without setup. To freeze addon versions, host_workshop_autoupdate 0 stops the update at start, at the cost of map mismatches when an author updates.
6. Gamemodes: Sandbox, TTT and DarkRP
The game's own repository ships three gamemode folders: base, sandbox and terrortown (Facepunch/garrysmod on GitHub).
- Sandbox:
+gamemode sandbox, withgm_constructorgm_flatgrass. - Trouble in Terrorist Town:
+gamemode terrortown. Its descriptor lists maps that start withttt_, so add a few TTT maps to your collection. - DarkRP: a community roleplay gamemode. Its repository carries the MIT licence and asks you to install it from git or its Workshop item 248302805; its
darkrp.txtnames the gamemodedarkrp. Settings go in the separate DarkRPModification addon, and the README warns: "don't touch DarkRP's core files". Paid add-ons for DarkRP come with their own terms; read them before you upload anything.
Whatever you run, the operator rules apply: no faked player counts or server information, no malicious actions against players, and adult content behind a real consent prompt. Breaking them gets a server blacklisted.
7. Create a Garry's Mod server on 1up
This is the route for groups that want the server online 24/7 without a machine left on.
- Create an account and press + Create server.
- Choose Garry's Mod. On Free it runs with the hourglass at ×1.5 (your free time drains 1.5 times faster); Casual and up keep it online 24/7.
- Pick a region, London or Paris. The wizard measures your ping and suggests the nearer one.
- On the configure step, paste your GSLT in Steam GSLT token (optional). You can add it, and a password, later in the Game tab.
- Create the server. It installs the current public build from Steam (app 4020) at every start, so it stays up to date.
- When it is online, the Overview shows a Subdomain and an IP line. Share the IP line: friends type
connect <ip>:<port>in the game's developer console.
8. The panel settings
The Game tab holds the launch line and server.cfg keys. Every one applies on restart.
| Setting | Maps to | Notes |
|---|---|---|
| Game mode | +gamemode | sandbox by default; lowercase folder names such as terrortown |
| Starting map | +map | gm_construct by default |
| Max players | +maxplayers | 16 by default, 2 to 128, capped by your plan's slots |
| Server password | sv_password | 4 to 64 characters, not part of the server name; empty means open |
| Server name | hostname | Empty uses your 1up server name |
| Workshop collection | +host_workshop_collection | The numeric collection ID |
| Steam GSLT token | +sv_setsteamaccount | 32 characters, never shown in logs |
A Generated file section shows, read only, the launch arguments and server.cfg lines the panel writes.
Things that work differently from a self-hosted box:
server.cfgis rewritten at every start. Files warns about it when you open the file. Change the name and password in the Game tab instead. Convars the panel does not offer, such assv_locationorsv_downloadurl, cannot be kept there today.- RCON stays inside. We set a random RCON password, and TCP on the game port is not reachable from the internet. Admin commands go through the Console tab.
- Noclip is off and client Lua is blocked (
sbox_noclip 0,sv_allowcslua 0) in the file we write.
9. Console, admins and addons on 1up
The Console tab shows the server log, a command builder and a command line. Its quick commands are say, kick, banid (minutes and a SteamID, followed by writeid so the ban is saved), status and changelevel. The builder also offers kickid, removeid, gamemode and writeid.
Admins live in the Players tab: its Operators list edits garrysmod/settings/users.txt for you. Paste a SteamID64 or a STEAM_0:x:y ID and pick admin or superadmin. Changes apply the next time the server starts.
For addons outside the Workshop, Files uploads into garrysmod/addons, creates folders and edits .lua, .cfg and .txt files. That is also where a WorkshopDL file such as addons/workshop/lua/autorun/server/workshop.lua goes. We have not tested a full DarkRP install on our servers yet; take a backup in Backups before you try one.
Sizing: our catalogue gives Garry's Mod a 2 GB minimum and recommends 4 GB. From our pricing page: Casual (€3/month) has 2 GB, 6 slots and 1 backup, enough for Sandbox or TTT with a light collection; Starter (€5) has the recommended 4 GB and 10 slots; Pro (€10) has 8 GB and 30 slots for DarkRP with a big collection.
Running other Steam games too? Our guides to a free Unturned server (another game that uses a GSLT) and a Core Keeper dedicated server follow the same steps. Our guide to free vs paid game server hosting compares the routes in more depth.
Tested on Garry's Mod Dedicated Server build 25375525 (public branch, September 2026 Update), 2026-10-06: launch line, settings and files checked against our image on 1up v0.258.0. No game client has joined a Garry's Mod server on our cluster for this guide.
Change log
- 2026-10-06: first version.
- 2026-10-20: Free now runs Garry's Mod with the hourglass at ×1.5; Casual is €3.
- 2026-10-26: current Starter and Pro figures (€5/4 GB, €10/8 GB/30 slots).