NEW 📢 Limited launch offer: up to 70% off your first month on every game!See plans

How to host a Garry's Mod server (2026)

Garry's ModUpdated Nov 5, 202610 min read

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.

Install the server

  1. Install the 32-bit libraries.
    sudo dpkg --add-architecture i386
    sudo apt update
    sudo apt install wget tar lib32gcc-s1 lib32z1 libc6:i386 libstdc++6:i386 -y
    This is the 32-bit base. If SteamCMD or the server later reports a missing .so file, install that library's :i386 package.
  2. Create a user for the server and switch to it.
    sudo useradd -m -s /bin/bash -U gmod
    sudo su - gmod
  3. Install SteamCMD and let it update itself once.
    mkdir -p ~/steamcmd ~/gmodds
    cd ~/steamcmd
    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
    tar -xf steamcmd_linux.tar.gz
    ./steamcmd.sh +quit
  4. Download the server.
    ~/steamcmd/steamcmd.sh +force_install_dir /home/gmod/gmodds +login anonymous +app_update 4020 validate +quit
    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.
  5. Copy the Steam client library from SteamCMD to where the server looks for it, as our install does:
    mkdir -p ~/.steam/sdk32 ~/.steam/sdk64
    cp ~/steamcmd/linux32/steamclient.so ~/.steam/sdk32/
    cp ~/steamcmd/linux64/steamclient.so ~/.steam/sdk64/

Get a Steam game server token

  1. Open the Steam game server account page (steamcommunity.com/dev/managegameservers) while signed in to the account that owns Garry's Mod.
  2. 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.
  3. Keep it for the launch command below as +sv_setsteamaccount.

Start it

  1. Start the server from the server folder. This is the launch line our servers use, trimmed to the essentials:
    cd ~/gmodds
    ./srcds_run -game garrysmod -console -port 27016 +ip 0.0.0.0 -strictportbind -norestart \
      +map gm_flatgrass +gamemode sandbox +maxplayers 32 \
      +hostname "My GMod server" +rcon_password "change-me" \
      +sv_setsteamaccount YOUR_TOKEN
    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.
  2. Open the port. Allow it on the machine's firewall and forward it on your router to the machine.
  3. Join it. Open Garry's Mod, then the server browser, or use the console to connect to your public address and port.
  4. 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.

  1. 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.
  2. Wait for the install. The server appears in the panel. Its Console prints gameserver Steam ID when it is ready.
  3. 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.
  4. 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.
  5. Invite your players. How to join your Garry's Mod server shows what to send them.

What the panel does for you

  • 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.

Ready to skip the setup? See the Garry's Mod server plans. Already have a server? Start with Garry's Mod server problems and fixes.

Already hosting it somewhere else? Move your server to us

OUR LATEST BLOGS