DarkRP is the most played game mode in Garry's Mod by a wide margin. Part sandbox, part economy simulator, part anarchic social experiment — it's a world where players take on jobs, accumulate currency, build bases, raid neighbours, get arrested, run drugs, and become the Mayor. Running a good DarkRP server means getting the foundation right before you open the doors. This guide covers everything from a fresh Octohost Medium plan to a server people actually want to come back to.

Requirements & Recommended Specs

DarkRP is more demanding than vanilla GMod multiplayer because it runs Lua hooks constantly — every job action, every money transaction, every door purchase triggers Lua callbacks. RAM requirements scale with player count and the number of addons you install.

Player CountRecommended PlanNotes
Up to 20Small (2 GB)Light addon load only
20–50Medium (4 GB)Recommended starting point
50–80Large (8 GB)Full addon suite, active play

Step 1 — Install the GMod Dedicated Server

In AMP, navigate to Update/Install and select Garry's Mod Dedicated Server. AMP uses SteamCMD to download the server files — expect 5–10 minutes depending on your region. Once complete, start the server and confirm in the AMP console that it boots without errors. Connect with GMod and verify you see the default sandbox map before proceeding.

⚠️ Common mistake Do not install DarkRP yet. Make sure the base GMod server works first. This saves significant debugging time if something goes wrong later.

Step 2 — Install uMod (Oxide for GMod)

DarkRP requires uMod (a community fork of Oxide) to function. From AMP's update manager, search for uMod Garry's Mod and install it. After installation, your server directory will gain a garrysmod/addons/ folder and the Oxide plugin infrastructure. Restart the server and confirm uMod loads in the console output — you'll see a line like [Oxide] Loading extensions....

Step 3 — Install DarkRP and DarkRPModification

DarkRP is split into two repositories for good reason:

  • DarkRP — the core game mode code. You should never edit files here. Download from the official GitHub and place the darkrp folder in garrysmod/gamemodes/.
  • DarkRPModification — the configuration layer. All your customisation (jobs, shipments, food, vehicles, settings) lives here. This is the only folder you edit. When DarkRP updates, your config is untouched. Download from GitHub and place it in garrysmod/addons/.

After placing both folders, edit garrysmod/cfg/server.cfg and add:

gamemode darkrp
map rp_downtown_v4c_v2
sv_maxplayers 64

Restart the server. You should now load into DarkRP on downtown.

Step 4 — server.cfg Essential Settings

Here's a complete recommended server.cfg for a new DarkRP server:

hostname "My DarkRP Server — New Players Welcome"
sv_password ""
gamemode darkrp
map rp_downtown_v4c_v2
sv_maxplayers 64
sbox_noclip 0
sbox_godmode 0
sbox_maxprops 100
sbox_maxragdolls 2
sbox_maxeffects 0
sv_allowupload 0
sv_allowdownload 1
net_maxfilesize 64
sv_kickerrornum 0

The sbox_maxprops 100 limit is important — without it, players can prop spam and crash the server. Adjust based on your preference.

Step 5 — Configuring Jobs

Open DarkRPModification/lua/darkrp_customthings/jobs.lua. Each job is defined with a Lua table specifying its name, description, model, salary, colour, and any special properties. Here's the structure you need to understand:

TEAM_CITIZEN = DarkRP.createJob("Citizen", {
    color = Color(20, 180, 20, 255),
    model = {"models/player/Group01/male_02.mdl"},
    description = [[The regular citizen of the city.]],
    weapons = {},
    command = "citizen",
    max = 0,
    salary = 45,
    admin = 0,
    vote = false,
    hasLicense = false,
})

Design your job economy carefully. Here are the five core roles every DarkRP server needs:

JobPurposeSalaryMax Players
CitizenDefault job, no special tools$45/minUnlimited
Police OfficerEnforce laws, can arrest$65/min3–5
MedicHeal players for a fee$50/min2
Gun DealerSells weapons via shipments$45/min2
MayorSets laws, controls PD$75/min1

Start small. A server with 8 jobs and 20 players feels full. A server with 40 jobs and 20 players feels empty because most roles are vacant.

Step 6 — DarkRP Settings (darkrp_config)

Open DarkRPModification/lua/darkrp_config/settings.lua for the primary settings. Key ones to configure:

  • GM.Config.notitlescreen = true — skips the title screen splash.
  • GM.Config.enablebuying = true — allows F4 buy menu.
  • GM.Config.AdminsSeeEverything = false — set true only for staff testing.
  • GM.Config.maxSecondsWithoutCrime = 120 — seconds before a warrant expires.
  • GM.Config.pickpocketTime = 10 — how long a pickpocket attempt takes.
  • GM.Config.lockpickingTime = 10 — door lockpick duration.
  • GM.Config.startingmoney = 500 — cash every player starts with.

Step 7 — Essential Addons

Create a Steam Workshop collection and add these must-have addons before going public:

Administration

  • ULX + ULib — the industry-standard GMod admin mod. Provides !kick, !ban, !freeze, !goto, !bring, spectate, and a full permission hierarchy. Non-negotiable for any public server.
  • Serverguard or FAdmin — lighter alternatives to ULX if you want a DarkRP-native admin system. FAdmin is integrated into DarkRP itself.

Anti-Cheat & Anti-Prop Spam

  • PropHunt Blocker / Prop Protection — prevents players from spawning props in unreachable areas or using them as weapons.
  • Falco's Prop Protection — one of the most trusted anti-grief tools. Logs who spawned what, prevents prop pushing.

Quality of Life

  • DarkRP Chat Bubbles — adds visible speech bubbles for /me, /it, and /ooc messages. Makes RP immersion much better.
  • Scoreboard (Enhanced) — a better-looking scoreboard showing jobs, hours, and steam profiles.
  • Motd Screen — shows your server rules when players first join. Essential for community servers.
💡 Workshop collection tip In server.cfg, add sv_workshopid [your_collection_id] and host_workshop_collection [your_collection_id]. Players auto-download your addons on connect. No manual FastDL setup required.

Step 8 — Setting Up the Law System

DarkRP's law system is central to the roleplay experience. The Mayor can set custom laws via the /addlaw command. As a server admin, you should pre-configure default laws in darkrp_config/settings.lua:

GM.Config.defaultLaws = {
    "1. No Random DeathMatch (RDM).",
    "2. No prop blocking public areas.",
    "3. Mugging limit: $1000 max.",
    "4. Raid timer: 20 minutes between raids on same base.",
}

These laws display when players press F1. The Mayor can override them during gameplay but your defaults provide the baseline.

Step 9 — Pre-Launch QA Checklist

Don't open the server to the public until you've tested every system yourself:

  • Join as each job and verify salary ticks correctly
  • Test the full arrest/unarrest cycle as a Police Officer
  • Test door purchase and KOS signs as a Citizen
  • Test the gun dealer buying and selling a shipment
  • Test the Mayor's law-setting functionality
  • Verify ULX admin menus work under your admin account
  • Try spawning 110 props — confirm prop limit kicks in at 100
  • Verify your Workshop addons download correctly for a fresh client

Step 10 — Growing Your Community

Technical setup is only half the battle. DarkRP servers live and die by their communities. Here's what works:

  • Create a Discord before launching. Link it in your server's MOTD. It becomes the hub for ban appeals, staff applications, and community discussion.
  • Post in server lists early — GameTracker, TopGModServers, and the Facepunch forums are all worth listing on.
  • Be present in the first week — log in daily, talk to players, run events. The first 20 regulars are your community's foundation.
  • Set clear rules — vague rules lead to drama. Specific rules ("Mugging limit: $500, 10 minute cooldown") are enforceable.

Need help with your DarkRP setup? We're active in our Discord and happy to troubleshoot configuration issues.