Garry's Mod ยท Server setup

How to set up a Garry's Mod server from scratch

Full setup walkthrough for a Garry's Mod 13 dedicated server: deploy via SteamCMD, configure server.cfg, set launch options for Sandbox / DarkRP / TTT / Murder / Prop Hunt, install gamemodes and Workshop addons (via collection IDs), set up ULX admin + groups, stand up a FastDL mirror so clients don't wait on 50 KB/s downloads, and fix the common GMod errors.

What you need first

  • An active Garry's Mod plan on Fatality Servers. See our Garry's Mod hosting plans.
  • A Steam copy of Garry's Mod for each player โ€” server doesn't need a license.
  • Optional but useful: CS:S / HL2 / TF2 mounted content โ€” tons of GMod maps and addons reference textures from those games. Missing mounted content shows up as purple-and-black checkerboards.
  • A basic SFTP client (FileZilla, WinSCP).
  • For DarkRP or TTT specifically: a plan with at least 2 GB RAM and 2 cores. Sandbox is lighter.
๐Ÿ’ก

Sizing note: vanilla Sandbox on gm_construct with 8 people is hilariously light โ€” under 300 MB RAM. DarkRP with 40+ addons, custom jobs, entities, and a persistent base-building plugin can push 4-6 GB per server. Workshop-heavy servers hit disk hard during boot and map-change, so SSD matters more than raw CPU on GMod.

Deploy the server (1-click)

Our GMod template runs SteamCMD to pull the latest GMod dedicated server (App ID 4020), writes a starter server.cfg, and opens UDP 27015 on your plan's IP.

  1. Pick the GMod template at checkout

    On the Garry's Mod hosting page, pick a plan sized for slot count and gamemode:

    • Sandbox / small Prop Hunt: 12-24 slots, Starter plan
    • TTT / Murder: 16-32 slots, Community plan
    • DarkRP with 40+ addons: 48-128 slots, Community/Flagship plan
  2. Pick or skip the gamemode preset

    Wizard asks: Sandbox / DarkRP / TTT / Murder / Prop Hunt / None. If you pick a preset, the panel pre-installs the matching Workshop collection + config; if "None", you get a clean server to configure manually.

  3. Wait for SteamCMD

    GMod server is ~2.5 GB. First install takes ~3-6 minutes.

  4. Confirm the server is listening

    Unknown command "r_decal_cullsize"
    Server logging data to file logs/L0418001.log
    L 04/18/2026 - 12:34:56: Log file started
    Network: IP YOUR-IP, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
    VAC secure mode is activated.

File layout & where things go

garrysmod/                       โ€” main game content folder
โ”œโ”€โ”€ cfg/
โ”‚   โ”œโ”€โ”€ server.cfg               โ€” main server config
โ”‚   โ”œโ”€โ”€ autoexec.cfg             โ€” runs at server start
โ”‚   โ””โ”€โ”€ <gamemode>.cfg           โ€” gamemode-specific overrides
โ”œโ”€โ”€ addons/                      โ€” server-side addons (uploaded, NOT Workshop)
โ”‚   โ””โ”€โ”€ <addon>/                 โ€” each addon is a folder
โ”‚       โ”œโ”€โ”€ addon.json (Workshop) or info.txt
โ”‚       โ”œโ”€โ”€ lua/
โ”‚       โ”œโ”€โ”€ materials/
โ”‚       โ””โ”€โ”€ models/
โ”œโ”€โ”€ gamemodes/                   โ€” gamemodes live here
โ”‚   โ”œโ”€โ”€ sandbox/
โ”‚   โ”œโ”€โ”€ terrortown/              โ€” TTT
โ”‚   โ”œโ”€โ”€ darkrp/
โ”‚   โ””โ”€โ”€ prop_hunt/
โ”œโ”€โ”€ maps/                        โ€” .bsp map files
โ”œโ”€โ”€ materials/, models/, sound/  โ€” shared content
โ”œโ”€โ”€ data/                        โ€” persistent data written at runtime (Sboxes, PointShop, etc.)
โ””โ”€โ”€ backups/                     โ€” logs, autosaves
โš ๏ธ

Two ways to install addons. Workshop addons โ€” listed by ID in a collection, downloaded from Steam Workshop automatically by the server, clients re-download via Workshop. Legacy addons โ€” folders uploaded via SFTP to garrysmod/addons/, content served via FastDL. Workshop is simpler; legacy is for private / custom addons you don't want on Steam.

Launch options

GMod settings come from both the launch command line (+cvar value) and server.cfg. Launch line wins on conflict.

A typical DarkRP launch line:

./srcds_run -game garrysmod -console -usercon
  +gamemode darkrp
  +map rp_downtown_v4c_v2
  +hostport 27015
  +maxplayers 48
  +host_workshop_collection 123456789
  +sv_setsteamaccount YOUR-GSLT-TOKEN
  +exec server.cfg

Options to know:

  • -game garrysmod โ€” required. Selects the GMod mod inside SRCDS.
  • -console / -usercon โ€” headless + enables RCON. Always both.
  • +gamemode โ€” folder name under garrysmod/gamemodes/. sandbox, darkrp, terrortown, murder, prop_hunt, etc.
  • +map โ€” starting map. Must exist in garrysmod/maps/ (either shipped or installed via Workshop collection).
  • +maxplayers โ€” slot count. Match your plan.
  • +host_workshop_collection โ€” single Workshop collection ID to auto-download. See Workshop section below.
  • +sv_setsteamaccount โ€” GSLT token. Like CS:GO/CS2, required for the server to show on the public list.

Get a GSLT

Visit steamcommunity.com/dev/managegameservers from an account that owns GMod. App ID for GMod is 4000 (not 4020, which is the server). Paste the 32-char token into the Startup field.

Core server.cfg settings

server.cfg sits at garrysmod/cfg/server.cfg. Flat list of cvar "value":

// --- Server identity ---
hostname "My GMod Server [EU] - DarkRP"
sv_region 3                      // 0=US-E 1=US-W 2=SA 3=EU 4=Asia 5=AU 6=ME 7=Africa

// --- Passwords / auth ---
sv_password ""
rcon_password "change-me-strong"
sv_cheats 0
sv_lan 0

// --- Download settings (FastDL) ---
sv_allowdownload 1
sv_allowupload 1
sv_downloadurl "https://fastdl.example.com/gmod/"
net_maxfilesize 256

// --- Network rates ---
sv_maxrate 786432
sv_minrate 131072
sv_maxupdaterate 66
sv_minupdaterate 33
sv_maxcmdrate 66
sv_mincmdrate 33
sv_timeout 90

// --- Voice / chat ---
sv_voiceenable 1
sv_alltalk 0

// --- Spam / abuse protection ---
sv_noclipaccelerate 5
sv_noclipspeed 5
sv_region 3
sv_loadingurl ""                 // optional: your community's loading screen URL

// --- Logging ---
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1

// --- Workshop auth (for +host_workshop_collection) ---
// sv_setsteamaccount set via launch line only, not here

The values most people tweak:

  • hostname โ€” 64 chars. No color codes in GMod.
  • sv_downloadurl โ€” your FastDL mirror (see FastDL section).
  • sv_maxupdaterate / sv_maxcmdrate โ€” 66 is GMod's internal tickrate cap. Higher values do nothing; lower values make players feel laggy.
  • sv_loadingurl โ€” URL to a custom loading screen (popular for DarkRP / community servers). Must be a live HTTPS page, max 64 KB for the HTML.

Gamemodes โ€” Sandbox, DarkRP, TTT, Murder, Prop Hunt

Sandbox

Shipped with GMod. No extra install needed.

+gamemode sandbox +map gm_construct

DarkRP

Install from github.com/FPtje/DarkRP. Two parts:

  1. Install the gamemode

    Upload the DarkRP folder into garrysmod/gamemodes/darkrp/. Or use our panel's gamemode installer.

  2. Install DarkRPModification

    The customization layer โ€” custom jobs, shipments, weapons, entities. Download DarkRPModification, upload to garrysmod/addons/DarkRPModification/. Edit its config files:

    garrysmod/addons/DarkRPModification/lua/darkrp_customthings/
      โ”œโ”€โ”€ jobs.lua          โ€” custom jobs
      โ”œโ”€โ”€ shipments.lua     โ€” weapon shipments
      โ”œโ”€โ”€ entities.lua      โ€” custom entities (printers, drugs)
      โ””โ”€โ”€ vehicles.lua
  3. Pick an RP map

    Popular: rp_downtown_v4c_v2 (vanilla favorite), rp_rockford_v2b, rp_bangclaw, rp_evocity_v33x. Add to Workshop collection.

TTT (Trouble in Terrorist Town)

Shipped with GMod, folder name terrortown.

+gamemode terrortown +map ttt_minecraft_b5

Popular community add-ons: Custom Roles for TTT, TTT Pointshop 2, TTT Damagelogs.

Murder

Workshop gamemode. Subscribe to MattJeanes's Murder gamemode, put in Workshop collection.

+gamemode murder +map mu_motel_v2

Prop Hunt

Popular fork: PropHunt Enhanced. Upload to garrysmod/gamemodes/prop_hunt/.

+gamemode prop_hunt +map ph_office
๐Ÿ’ก

Each gamemode has its own .cfg. cfg/darkrp.cfg, cfg/terrortown.cfg, etc. run on top of server.cfg and let you override values only for that gamemode. Put universal settings in server.cfg, gamemode-specifics in the matching file.

Workshop addons & collections

Workshop is the standard way to ship addons to clients โ€” they get auto-downloaded via Steam, no FastDL needed.

  1. Create a Workshop collection

    Log in to Steam โ†’ GMod Workshop โ†’ top right "Create Collection" โ†’ add every addon you want on your server. The collection gets a numeric ID in the URL (?id=123456789).

  2. Set the collection ID in the launch line

    +host_workshop_collection 123456789

    On first boot, the server downloads every addon in the collection. Subsequent boots only re-download items that changed.

  3. Mount content-only addons

    Addons that only ship materials/models/sounds (e.g. CS:S content pack replacements) work out of the box. Gamemode-script addons (SWEPs, SENTs, entities) also work, but some require configuration in an autorun/ Lua file.

  4. Exclude client-only or optional addons

    If an addon should NOT be forced to clients (e.g. admin-only tools), upload to garrysmod/addons/ via SFTP instead โ€” server uses it, clients don't need to download.

โš ๏ธ

GSLT required for Workshop downloads. Without +sv_setsteamaccount in the launch line, the server can't authenticate to the Workshop CDN and your collection won't download. Symptom: console logs Failed to get Workshop addon info on boot.

ULX admin + groups

ULX is the de-facto admin mod for GMod. Ships as two Workshop addons:

  1. Add ULib + ULX to your Workshop collection

    Restart. On boot, ULX creates data/ulx/ with default configs.

  2. Set yourself as super-admin

    First join the server, find your Steam ID (press ~, type status, look for STEAM_0:X:YYYYYYY). Then in RCON:

    ulx adduser "STEAM_0:X:YYYYYYY" superadmin

    Or edit garrysmod/data/ulib/users.txt directly and restart.

  3. Create custom groups

    In-game as superadmin: !xgui opens the ULX GUI. Create groups like "moderator", "trusted", "vip" and assign commands (kick/ban/slay/etc.).

  4. Add complementary plugins

    • ULX Ranks โ€” streamlined rank + permission system
    • ServerGuard โ€” alternative admin mod (GUI-centric, popular for DarkRP)
    • SAM โ€” premium but fast admin mod; pay once, use forever

FastDL โ€” fast client downloads

Without FastDL, clients download addon content from the GMod server itself at a capped 50-100 KB/s. Large addon collections (200 MB+) take 20+ minutes to join โ€” players give up.

FastDL is a plain HTTP(S) mirror that serves gzipped copies of your addon files. Our panel has a one-click FastDL on your plan's CDN โ€” if you're on our hosting, it's already done. For reference, the manual setup is:

  1. Generate the bz2-compressed files

    Every .bsp, .mdl, .vtx, .phy, .vvd, .vtf, .vmt, .wav, .mp3, .ogg must be recompressed to .bz2. Run the panel's "Build FastDL" action โ€” it walks your addon tree and builds the .bz2 mirror.

  2. Serve the mirror over HTTPS

    Upload to any static HTTPS host (Cloudflare R2, S3 + CloudFront, even nginx on the same box). Our panel points this at our built-in CDN automatically.

  3. Set sv_downloadurl

    sv_downloadurl "https://fastdl.example.com/gmod/"
    sv_allowdownload 1
    net_maxfilesize 256

    Trailing slash on the URL. File layout on the mirror must mirror garrysmod/ โ€” i.e. garrysmod/addons/myaddon/materials/foo.vtf.bz2.

๐Ÿ’ก

Workshop addons don't need FastDL. If all your content ships via a Workshop collection, clients download it from Steam's CDN (hundreds of MB/s). You only need FastDL for legacy addons uploaded to garrysmod/addons/.

Connect and test

  1. Launch Garry's Mod on your PC

    Main menu โ†’ Find a Game.

  2. Find your server

    Server browser โ†’ filter by name or map. First registration takes 2-5 minutes after first boot with GSLT.

  3. Or direct connect

    Press ~ in main menu (enable developer console in settings first) and run:

    connect YOUR-SERVER-IP:27015
  4. Authenticate as admin

    rcon_password <your-rcon>
    rcon status
    rcon changelevel rp_downtown_v4c_v2
    ulx help                    // ULX admin help

Common errors and fixes

Server doesn't appear in the browser

  • Missing GSLT โ€” add +sv_setsteamaccount YOUR-TOKEN to launch line
  • sv_region wrong โ€” set to match your location
  • sv_lan 1 accidentally โ€” flip to 0
  • Wait 2-5 minutes for master-list indexing

Purple/black checkerboard textures in-game

Missing content. Either:

  • Addon's texture files aren't on the FastDL mirror โ€” rebuild FastDL
  • Addon requires CS:S or HL2 mounted content that the server doesn't have โ€” install cstrike/ and hl2/ folders or mount via garrysmod/cfg/mount.cfg
  • Client has a different version of the addon than the server โ€” have them unsubscribe + resubscribe on Workshop

Clients download addons at 50 KB/s

No FastDL. Set sv_downloadurl to a fast HTTPS mirror (our panel provides this; details in FastDL section).

"Your server is too busy to receive your connection"

Server is maxed on a resource. Check:

  • CPU pegged โ€” trim addons or upgrade plan
  • Memory limit hit โ€” GMod runs in a 32-bit binary (still, in 2026), so it hard-caps around 3.5 GB per instance. If you're close to that limit, you need to split across multiple instances.
  • Disk full โ€” check the panel disk graph

"CBaseAnimating::LookupPoseParameter..." spam in console

Model addon has missing bone / pose parameters. Harmless log spam, but means some model is misreferencing animations. Disable the offending addon to clean up logs.

Workshop addons not downloading on server boot

  • GSLT missing or invalid โ€” Workshop CDN auth fails without it
  • Collection ID typo in +host_workshop_collection
  • Collection set to Private/Friends-only on Steam โ€” must be Public
  • Workshop server-side outage (rare) โ€” check steamstat.us

DarkRP: "Couldn't find darkrp_customthings"

Path mismatch. DarkRPModification addon must live at exactly:

garrysmod/addons/darkrpmodification/lua/darkrp_customthings/...

Not darkrp-modification-master or a subfolder of a zip. Rename to lowercase darkrpmodification and restart.

TTT: "Roles not rolling" / round doesn't start

Usually a Custom Roles plugin conflict. Disable Custom Roles, reboot, check if rounds work. Then re-add one role pack at a time until you find the offender.

Server crashes on map change

  • Memory hit 3.5 GB limit โ€” reduce addon count or pool multiple smaller servers instead
  • Map has a missing dependency (water material, custom texture) โ€” check panel's console for what it was loading when it crashed
  • Corrupt map file โ€” re-download or remove

"Missing map_name, disconnecting"

Player doesn't have the map. Two fixes:

  • Add the map to your Workshop collection so clients auto-download it
  • Add to FastDL mirror so clients download from your HTTPS mirror on join

Stuck on something specific? Email support with your server IP, the last 100 lines of console, and your launch line โ€” we'll usually have an answer within the hour.