How to Host a Gmod Server for Free in 2026
Par Benjamin D. · PDG
· Mis à jour le August 11, 2026 · Lecture 11 min

Contents
Gmod server hosting is one of those things every Garry's Mod community eventually faces: you want your own map rotation, your own addons, your own admin rules — without paying for it first. Hosting a Garry's Mod server for free is genuinely possible in 2026, but only under specific conditions. Here's the complete technical tutorial, plus the limits you'll hit.
Gmod server hosting for free: what actually works in 2026
There are three realistic ways to run a Garry's Mod server without paying a hosting bill, and they are not equivalent.
1. The listen server (P2P, inside the game)
You launch Garry's Mod, go to Start New Game, pick a map and a gamemode, and open it to friends via Steam. It costs nothing and takes 30 seconds.
- Pros: zero setup, uses your existing Steam copy, addons already subscribed load automatically.
- Cons: the server dies when you close the game, your own PC handles both rendering and simulation, and everyone's latency depends on your home upload bandwidth. Above 6–8 players with physics-heavy addons, tick rate collapses.
2. A self-hosted dedicated server on your own machine
This is the real free route. You install SteamCMD, download the Garry's Mod Dedicated Server (AppID 4020), configure server.cfg, forward port 27015, and you have a persistent server. No license fee, no subscription. You pay in electricity, uptime, and router configuration.
3. Free trial or "free tier" hosting offers
Some hosts offer short trials or heavily limited free slots. In practice these come with shared CPU, capped RAM (often under 2 GB), no Workshop collection support, forced restarts, and no DDoS protection. They're fine for testing a gamemode for an afternoon, useless for a community you want to grow.
Reality check: Garry's Mod is single-thread hungry. A DarkRP server with 40 players, 300 props and a full addon stack is limited by per-core CPU performance, not by the number of cores. Free hosting almost never gives you good single-thread performance.
What free Gmod server hosting cannot give you
| Requirement | Free / self-hosted at home | Managed game hosting |
|---|---|---|
| Public IP + open ports | Depends on your ISP (CGNAT often blocks it) | Included, static |
| 24/7 uptime | Your PC must stay on | Yes |
| Volumetric DDoS filtering | None — your home line gets knocked offline | Anti-DDoS included |
| Latency for distant players | Home upload, usually 10–50 Mbps | Datacenter uplink |
| Automatic backups | Manual scripts | Automated |
| Cost | 0 € + electricity | Monthly fee |
If your goal is learn how the server works and play with 5 friends, self-hosting is the right answer. If your goal is run a public DarkRP, TTT or Prop Hunt community, you'll move to a hosted Serveur Garry's Mod quickly — mostly because of DDoS and CGNAT, not raw power.
Free Gmod server hosting tutorial: install a dedicated server step by step
This section covers a real dedicated server, not a listen server. Same procedure whether you run it on your gaming PC, an old tower, or a Linux VPS Linux later on.
Hardware and system requirements
- CPU: strong single-thread performance. 2 cores minimum for a sandbox server, 4 for DarkRP.
- RAM: 2 GB for vanilla sandbox, 4–6 GB with a large Workshop collection and Lua addons.
- Disk: 15 GB for the base server, plus 5–30 GB for addons. SSD strongly recommended — map and addon loading is disk-bound.
- Bandwidth: roughly 30–60 kbps upload per player at default rates, more with heavy prop spam and downloads.
Step 1 — Install SteamCMD
On Debian/Ubuntu:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl tar screen
sudo useradd -m -s /bin/bash gmod
sudo su - gmod
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
On Windows, download steamcmd.zip, extract it to C:\steamcmd, and run steamcmd.exe once to let it self-update.
Step 2 — Download the Garry's Mod Dedicated Server
Garry's Mod DS is AppID 4020 and requires the -beta branch on Linux (x86-64 for the 64-bit binaries):
./steamcmd.sh +force_install_dir /home/gmod/gmodds \
+login anonymous \
+app_update 4020 -beta x86-64 validate \
+quit
Garry's Mod needs Counter-Strike: Source content for most maps and textures (the infamous missing-texture checkerboard). Mount CS:S content by downloading AppID 232330:
./steamcmd.sh +force_install_dir /home/gmod/css \
+login anonymous \
+app_update 232330 validate \
+quit
Then declare it in garrysmod/cfg/mount.cfg:
"mountcfg"
{
"cstrike" "/home/gmod/css/cstrike"
}
Step 3 — Write your server.cfg
Create gmodds/garrysmod/cfg/server.cfg. This is a solid baseline for a sandbox or DarkRP server:
hostname "My Gmod Server | Sandbox FR"
sv_password ""
rcon_password "CHANGE_ME_LONG_RANDOM_STRING"
sv_lan 0
sv_region 3
// Networking / tick
sv_maxrate 0
sv_minrate 100000
sv_maxupdaterate 66
sv_minupdaterate 33
sv_maxcmdrate 66
sv_mincmdrate 33
// Gameplay
sbox_maxprops 150
sbox_maxragdolls 5
sbox_maxvehicles 4
sbox_maxeffects 50
sbox_godmode 0
sbox_noclip 1
// Downloads
sv_allowdownload 1
sv_allowupload 0
sv_downloadurl ""
// Logs
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
Step 4 — Launch the server
Linux, inside a screen session so it survives your SSH disconnect:
cd /home/gmod/gmodds
screen -S gmod ./srcds_run -game garrysmod \
-console -port 27015 \
+maxplayers 24 \
+gamemode sandbox \
+map gm_construct \
+host_workshop_collection 123456789 \
-authkey YOUR_STEAM_WEB_API_KEY
Windows equivalent:
srcds.exe -game garrysmod -console -port 27015 +maxplayers 24 +gamemode sandbox +map gm_construct
Detach from screen with Ctrl+A then D, reattach with screen -r gmod.
Step 5 — Run it as a service (proper uptime)
Create /etc/systemd/system/gmod.service:
[Unit]
Description=Garry's Mod Dedicated Server
After=network-online.target
[Service]
User=gmod
WorkingDirectory=/home/gmod/gmodds
ExecStart=/home/gmod/gmodds/srcds_run -game garrysmod -console -port 27015 +maxplayers 24 +gamemode sandbox +map gm_construct
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now gmod
sudo systemctl status gmod
journalctl -u gmod -f
Step 6 — Ports and firewall
Garry's Mod uses the Source engine port set. Forward these from your router to the machine's local IP:
| Port | Protocol | Role |
|---|---|---|
| 27015 | UDP | Game traffic + Steam query |
| 27015 | TCP | RCON |
| 27005 | UDP | Client outbound |
| 27020 | UDP | SourceTV (optional) |
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27020/udp
sudo ufw enable
If your ISP puts you behind CGNAT (very common on 4G/5G boxes and some fiber plans), port forwarding will not work at all and no configuration will fix it. That's the single most common reason people abandon free home hosting.
Step 7 — Addons, Workshop collection and gamemodes
Two ways to load content:
- Workshop collection (recommended): create a collection on Steam, grab its ID, generate a Steam Web API key, and pass
+host_workshop_collection ID -authkey KEY. Clients download the addons automatically. - Manual addons: drop extracted addons or
.gmafiles intogarrysmod/addons/. Needed for server-side Lua like ULX/ULib, DarkRP, or custom scripts.
For admin tools, ULX + ULib is still the standard. Install both in garrysmod/addons/, restart, then in console:
ulx adduser "STEAM_0:1:XXXXXXX" superadmin
For DarkRP, place the gamemode in garrysmod/gamemodes/darkrp/, add DarkRPModification as an addon (never edit the gamemode files directly), and launch with +gamemode darkrp. Official Lua and gamemode documentation lives on the Garry's Mod developer wiki.
Step 8 — FastDL so players don't wait five minutes
Without FastDL, custom content trickles over the game channel. With it, clients pull compressed files over HTTP. You need a web server, then:
sv_downloadurl "https://cdn.example.com/gmod/"
sv_allowdownload 1
net_maxfilesize 64
Files must be bzip2-compressed and mirror the server's folder structure (maps/, materials/, models/, sound/).
When free stops being enough: managed Gmod server hosting
Free self-hosting teaches you the engine. It breaks down for four concrete reasons.
1. DDoS attacks are a Gmod reality
Public Garry's Mod servers get attacked. It's not theoretical — a rival DarkRP community or a banned player with a booter subscription is enough. On a home connection, a 5 Gbps UDP flood takes down your whole household, not just the server. Volumetric filtering has to happen upstream, at network level. On Nexus Games, anti-DDoS is included by default on every game server, which removes that entire problem class from your to-do list.
2. Single-thread CPU performance
Gmod's main loop is single-threaded. Prop spam, physics constraints and Lua hooks all fight for one core. This is where Ryzen 9 CPUs paired with DDR5 ECC memory and NVMe SSD storage change the experience: fewer tick drops during entity-heavy moments, faster map changes, faster Workshop mounting. No magic — just per-core headroom and low storage latency.
3. Management without SSH gymnastics
Running a community means editing configs at 1 AM, checking a Lua error, restarting after an addon update, and giving a moderator limited access without handing over root. That's what NexusPanel handles: live console, file manager, one-click restart, mod and plugin installation, sub-users with scoped permissions, and automatic backups. Instant server deployment means you can spin up a test instance for a gamemode migration instead of experimenting on production.
4. Backups you don't have to remember
A corrupted DarkRP SQLite database or a bad addon update can erase weeks of player progress. Manual backups get skipped. Automated ones don't.
Comparison on neutral criteria
| Criterion | Home / free hosting | Managed game server |
|---|---|---|
| CPU allocation | Shared with your desktop workload | Dedicated resources, Ryzen 9 class |
| Storage | Whatever you have | NVMe SSD |
| Memory | Consumer DDR4/DDR5 | DDR5 ECC |
| DDoS mitigation | None | Included by default |
| Panel | SSH / RDP, manual | NexusPanel (console, files, mods, sub-users) |
| Backups | Your own cron jobs | Automatic |
| Deployment time | 1–3 hours first time | Instant |
| Support | Forums | French-speaking support |
The middle ground: VPS and Pterodactyl
If you want full root control but a datacenter network, a VPS sits between the two models. A VPS Linux lets you run srcds exactly as described above with a real public IP. A VPS Pterodactyl gives you a panel to manage multiple Gmod instances, plus other games, from one interface — useful if you also run a Serveur Rust or a Serveur Minecraft alongside. Windows users who need GUI tooling can look at a VPS Windows. The full catalogue is on Tous nos serveurs de jeux.
Securing and optimizing your Garry's Mod server
Server-side security basics
- RCON password: long, random, unique. Never reuse your Steam or panel password. If RCON is exposed with a weak password, your server is someone else's.
- Restrict RCON: if possible, only allow RCON from your own IP at firewall level rather than the whole internet.
- Whitelist during development:
sv_password "yourpass"while you're testing addons keeps randoms out. - Prop limits:
sbox_maxprops,sbox_maxragdollsandsbox_maxeffectsare anti-crash settings as much as gameplay settings. - Audit addons: Workshop addons run Lua on your server. A malicious or abandoned addon can open a backdoor. Stick to maintained addons with visible source.
- Update regularly: re-run
app_update 4020after every Gmod patch, or clients get version-mismatch errors.
If you self-host on a VPS: hardening checklist
# SSH keys instead of passwords
ssh-keygen -t ed25519 -C "gmod-admin"
ssh-copy-id -i ~/.ssh/id_ed25519.pub gmod@YOUR_SERVER_IP
# Disable password + root login
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart ssh
# Firewall: SSH + game ports only
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 27015
sudo ufw enable
# Brute-force protection
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Volumetric DDoS filtering is handled at infrastructure level on Nexus Games, so your job on the machine is limited to access control, patching, and backups.
Backups that actually restore
What matters in a Gmod backup: garrysmod/data/ (addon data, DarkRP saves), garrysmod/cfg/, garrysmod/addons/, and your SQLite/MySQL database. A simple cron job:
0 4 * * * tar czf /home/gmod/backups/gmod-$(date +\%F).tar.gz \
/home/gmod/gmodds/garrysmod/data \
/home/gmod/gmodds/garrysmod/cfg \
/home/gmod/gmodds/garrysmod/addons \
&& find /home/gmod/backups -type f -mtime +14 -delete
Test a restore once. A backup you've never restored is a hypothesis.
Performance tuning that actually moves the needle
- Trim the Workshop collection. Every addon adds mount time, RAM, and Lua hooks. 400 addons is a liability, not a feature.
- Profile your Lua. Use a server profiler to find hooks eating frame time; a single badly written
Thinkhook can cost more than 50 players. - Set rates properly.
sv_maxupdaterate 66/sv_maxcmdrate 66is the sweet spot for most communities; higher rates cost CPU and bandwidth for marginal gain. - Use FastDL. First-join download time is the number one reason players leave before spawning.
- Schedule restarts. Source servers leak memory over long uptimes. A nightly restart is standard practice.
- Clean up entities. Automatic prop cleanup on map change and idle-player kicks keep tick rate stable.
More tutorials on server administration, optimization and mod stacks are collected on the Blog Nexus Games.
Conclusion
Free Gmod server hosting is real: SteamCMD, a config file, an open port, and you're running. It's the best way to learn the engine and play with a small group. The moment you want stable uptime, low latency for distant players, DDoS protection and backups you don't manage yourself, the calculation changes — and that's a deliberate choice, not a defeat.
FAQ
Can I really host a Garry's Mod server for free without buying anything?Yes. The Garry's Mod Dedicated Server (AppID 4020) is downloadable through SteamCMD with an anonymous login — no second game licence required. You only need a machine, ~20 GB of disk, and the ability to forward UDP/TCP 27015 on your router. The blocker is usually CGNAT from your ISP, which prevents port forwarding entirely; in that case a VPS or a hosted server is the only way to get a reachable public address.
Why do players see missing textures (pink and black checkerboard) on my server?That's missing Counter-Strike: Source content. Download AppID 232330 with SteamCMD, then mount it in garrysmod/cfg/mount.cfg pointing to the cstrike folder. Restart the server afterwards. Note that clients also need CS:S installed to see the textures locally on maps that use them — server-side mounting fixes collisions and server logic, not the client's own asset library.
Plan on 6 GB of RAM and a CPU with strong single-core performance — Gmod's main loop is single-threaded, so clock speed and IPC matter far more than core count. A large Workshop collection plus DarkRP entities can push memory past 5 GB during peak hours. NVMe storage cuts map-change and addon-mount times noticeably. Add scheduled nightly restarts to counter Source engine memory drift.