Garry's Mod (DarkRP/TTT) server on a VPS

calendar_month May 08, 2026 schedule 6 min read visibility 10 views
person
Valebyte Team
Garry's Mod (DarkRP/TTT) server on a VPS
To ensure stable performance for a 64-player Garry's Mod server running DarkRP or TTT, you need a VPS with a high single-core clock speed (at least 3.5 GHz), a minimum of 4 GB of RAM, and 50 GB of NVMe disk space — renting such a configuration costs an average of $15–25 per month, depending on the level of DDoS protection.

System Requirements and Choosing a GMod VPS

Garry's Mod is built on the Source engine, which, despite various updates, remains a primarily single-threaded application. This means that for a gmod server, the performance of one specific CPU core is critical, rather than the total number of cores. When choosing a host, you should look for modern processors like the AMD Ryzen 7000 series or Intel Core i9, operating at frequencies above 4.0 GHz in Turbo mode.

RAM and Disk Subsystem

The amount of RAM required directly depends on the number of Workshop addons and the chosen gamemode. A vanilla Sandbox server consumes about 500-800 MB, while heavy DarkRP builds with hundreds of car and furniture models can easily eat up 3-4 GB. Using NVMe drives is mandatory: the Source Engine frequently accesses model and texture files when new players connect, and a slow HDD will lead to "freezes" for the entire server while content is being uploaded to the client.

Garry's Mod VPS Specification Comparison Table

Configuration Players (Slots) vCPU (GHz) RAM (GB) NVMe (GB) Use Case
Starter 10-16 1 Core @ 3.0+ 2 GB 20 GB Sandbox for friends
Standard 32-48 2 Cores @ 3.6+ 4 GB 50 GB TTT or light DarkRP
Performance 64-100 4 Cores @ 4.0+ 8 GB 100 GB Heavy DarkRP / StarWars RP
When scaling a project, migration often becomes necessary. If your current provider cannot handle the load, migrating from Hetzner to Valebyte or another specialized host can help stabilize ping and increase uptime thanks to specialized protection against game-specific attacks.

Installing a Garry's Mod Server via SteamCMD

The process of deploying a gmod dedicated server on Linux (Ubuntu 22.04/24.04) begins with environment preparation. Since SRCDS (Source Dedicated Server) is a 32-bit application, you must install the corresponding libraries on a 64-bit system.
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 screen -y

Setting up SteamCMD and Downloading Files

It is recommended to create a separate user for security purposes so that the server process does not have root privileges. This is a standard practice, also applicable when setting up a Rust server on a VPS.
sudo useradd -m gmod
su - gmod
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
Starting the Garry's Mod server download (AppID 4020):
./steamcmd.sh +force_install_dir ../server +login anonymous +app_update 4020 validate +quit

Looking for a reliable server for your projects?

VPS from $10/mo and dedicated servers from $9/mo with NVMe, DDoS protection, and 24/7 support.

View Offers →

Choosing a Gamemode: DarkRP Hosting and TTT Server

After installing the base files, you need to decide on a game mode. Garry's Mod includes Sandbox and Trouble in Terrorist Town (TTT) by default, but the most popular mode — DarkRP — requires manual installation.

DarkRP Configuration Features

DarkRP is a complex framework for role-playing. Simply downloading the mod files is not enough. You will need:
  • DarkRP Modification: A special addon for configuring jobs, entities, and chat without changing the mod's core.
  • Database: To save player progress (money, inventory), it is better to use an external MySQL/MariaDB database. This is more reliable than the default SQLite.
  • CSS Content: Most DarkRP maps use textures from Counter-Strike: Source. These need to be "mounted" in the mount.cfg file.
Installing CS:S content on a gmod vps is done similarly to the main server via SteamCMD (AppID 232330). After downloading, the path to the cstrike folder is specified in /server/garrysmod/cfg/mount.cfg.

TTT Server Specifics

A TTT server is less demanding on CPU resources but sensitive to network latency (tickrate). In TTT, it is critical that hit registration is instantaneous. Unlike DarkRP, a complex economy is not required here, so the focus should be on weapon balance and optimizing the number of addons so that players don't have to download gigabytes of models every time they join.

Working with Workshop Addons and FastDL

One of the main problems with a Garry's Mod server is the long content loading time for players. There are two ways to transfer files: via Steam Workshop and via FastDL (HTTP server).

Using Workshop Collections

This is the easiest method. You create a collection on Steam, add the necessary mods, and specify the collection ID in the server startup parameters: +host_workshop_collection 123456789 -authkey YOUR_STEAM_API_KEY. However, if you have custom files (not from the Workshop), you will need FastDL. To do this, an Nginx web server is installed on the VPS. This speeds up the loading of models and sounds by 5-10 times compared to transferring files directly through the server port. Similar optimizations are often discussed in the context of other games, for example, when setting up a CS2 dedicated server, where map transfers also require high bandwidth.

Performance Optimization and Tickrate

By default, Garry's Mod runs at a tickrate of 33. This is sufficient for Sandbox, but for dynamic firefights in TTT or DarkRP, it is recommended to increase the value to 66. Setting a tickrate of 100 on GMod servers with a large number of players (over 40) is usually impractical, as it creates a massive load on the CPU and leads to physics "lag." Startup parameters for optimal performance in srcds_run:
./srcds_run -game garrysmod +maxplayers 64 +map rp_downtown_v4c_v2 +gamemode darkrp -tickrate 66 +host_workshop_collection ID -port 27015
Important variables in server.cfg:
  • net_maxfilesize 64 — increases the limit for transferred files.
  • sv_parallel_pack 1 — enables parallel packing of network packets.
  • gmod_physiterations 2 — reduces CPU load by simplifying physics calculations (relevant for servers with prop spam).
If you plan to host a server for a large audience, you should consider resource consumption similar to how it's done for a Minecraft Java server on a VPS, where the correct distribution of RAM between plugins and the core determines TPS stability.

DDoS Protection and GMod VPS Security

Source Engine game servers are vulnerable to specific attacks such as UDP Flood and Query Flood. A standard software firewall (iptables) cannot always handle the volume of traffic, so a gmod vps should have hardware filtering at the data center level.

Configuring the Built-in Firewall

Limit access to ports, leaving only the necessary ones open:
  • 27015 UDP/TCP — main game port.
  • 27005 UDP — client port.
  • 27020 UDP — SourceTV (if used).
  • 22 TCP — SSH (recommended to change to a non-standard port).
Using tools like fail2ban will help protect SSH from brute-force attacks, and regular backups of the garrysmod/data folder and the SQL database will prevent loss of player progress in case of failures or hacks.

Conclusions

To launch a successful Garry's Mod server in 2025, the optimal choice is a VPS with 4 GB of RAM and a high CPU frequency (3.6 GHz+), which will ensure a stable 66 tickrate for 40-60 players. Primary attention should be paid to the quality of the network channel and FastDL configuration to minimize content loading times, as this directly affects new player retention.

Ready to choose a server?

VPS and dedicated servers in 72+ countries with instant activation and full root access.

Start Now →

Share this post:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.