Menu
 

Garry's Mod DarkRP Server: How to Install and Configure DarkRP

Garry's Mod DarkRP Server Setup

DarkRP is a roleplay gamemode: players take a job, earn money, buy or rent property, and the server runs one persistent city rather than a series of rounds. It is also the thing people most often fail to install, because DarkRP is not part of the game. A fresh dedicated server install from Steam app 4020 ships exactly three gamemodes in garrysmod/gamemodes/: base, sandbox and terrortown. DarkRP is community software you add yourself, from the DarkRP project.

Last verified: September 17, 2026. The September 2026 update went live on September 16 and brought 64-bit binaries on Windows. Server installation is still app 4020. Check your DarkRP build against the gamemode version you are actually running before copying any configuration from an older guide.

Install DarkRP into gamemodes, not addons

Garry's Mod loads every directory under garrysmod/addons/, which is why almost everything you install goes there. DarkRP is the exception. A gamemode is a directory under garrysmod/gamemodes/ containing a gamemode/ subdirectory, and that directory's name is the name you pass to the server. Dropping DarkRP in addons/ will not make it selectable.

garrysmod/gamemodes/base/
garrysmod/gamemodes/sandbox/
garrysmod/gamemodes/terrortown/
garrysmod/gamemodes/darkrp/gamemode/     <- correct
garrysmod/gamemodes/darkrp/darkrp/gamemode/   <- one level too deep, will not load

That second line is the most common install failure. Archives and Git clones expand into a folder carrying a branch or version suffix, and people copy the whole thing across, leaving a darkrp directory whose only child is another directory. Open the folder you just placed and confirm gamemode/ is immediately inside it. If you see another folder with the same name instead, move the inner one up and delete the wrapper.

When you later update DarkRP, remove the old darkrp folder before placing the new one. Merging versions leaves orphaned files the new code does not expect.

Start the server on DarkRP

srcds_run defaults to DEFAULT_GAME="garrysmod" and DEFAULT_MAP="gm_construct", so a server you do not tell otherwise boots sandbox on a construct map. Pass the gamemode and a map explicitly:

./srcds_run -game garrysmod +gamemode darkrp +map rp_yourmapname +maxplayers 32

The gamemode argument is the folder name, lowercase, with no path. Only gm_construct and gm_flatgrass ship with the game, so every rp_ map is community content you must install on the server and deliver to the players who connect. Booting DarkRP on gm_construct is a useful first test that the gamemode loaded at all, but it is not a playable roleplay server: job spawns, doors and property all assume a map built for it.

Once running, gamemode reports what is loaded, changelevel and host_map move you between maps, and gamemode_reload reloads the gamemode in place while you iterate on configuration.

Customise DarkRP without losing it on the next update

Do this before you write your first job, not after. DarkRP is configured largely through its own Lua configuration files rather than through server.cfg, and updating the gamemode means replacing the whole garrysmod/gamemodes/darkrp folder. Anything you typed inside that folder goes with it.

The established practice, and the one the project itself pushes, is to never edit files under gamemodes/darkrp/. Custom jobs, custom entities, shipments, vehicles, agendas, group chats and your settings overrides all live in a separate addon of your own under garrysmod/addons/. The game loads it automatically, DarkRP reads it, and a gamemode update cannot touch it.

The project publishes a modification addon built for exactly this. Its Lua tree is split into a customisation folder holding one file per category of thing you add (jobs, shipments, entities, vehicles, agendas, ammo, group chats, door groups) and a configuration folder holding the settings overrides, the disabled defaults list, licensed weapons and database settings. You install that addon once, then only ever edit files inside it.

  1. Install DarkRP into gamemodes/, boot it on a stock map, confirm it loads.
  2. Install your modification addon into addons/ before adding anything.
  3. Put every job, shipment and entity you write into that addon, never into the gamemode folder.
  4. Keep the addon in version control. It is the part of the server that is genuinely yours.
  5. Update DarkRP by replacing the gamemode folder only, then restart and verify your jobs are still listed.

If you have already edited the gamemode in place, move those edits out now. The migration is tedious once; losing a year of custom jobs to a routine update is worse.

Server settings that matter on DarkRP

SettingWhy it matters here
gamemodeMust be the DarkRP folder name. Set it as a startup argument, not only in config, so a crash restart comes back on DarkRP and not sandbox.
map (host_map, changelevel)An rp_ map, not a stock one, and the largest single download your players face.
maxplayersThe economy feels empty below a dozen players and gets hard to moderate above thirty. Size it to the staff you have.
hostnameYour server browser listing. Name the gamemode and map family, because that is what people filter on.
sv_passwordUseful while testing jobs and money balance on a live box. Remove it before you expect traffic.
host_workshop_collectionInstalls and updates Workshop content at startup. The usual home for the map, job models and content addons.
rcon_passwordRemote administration. Long, unique, never reused: it is a full server credential.

Getting maps and job models to your players

DarkRP carries more custom content per player than almost any other gamemode, because every job with a distinctive outfit is a model the client must own. A missing material shows as a purple and black checkerboard. A missing model shows as a red ERROR sign. Both mean delivery failed, not that the server is broken.

host_workshop_collection handles the server side and, for Workshop items, most of the client side. Custom files outside Workshop need a working HTTP mirror through sv_downloadurl with sv_allowdownload enabled, and sv_loadingurl gives connecting players something to look at while it happens. Decide sv_pure deliberately: it constrains what clients may substitute locally, which matters where models signal who is police and who is not.

Symptom-first fixes live in missing textures and ERROR models; delivery mechanics are in content packs and download troubleshooting.

Moderation is not optional

DarkRP needs active moderation more than any other gamemode, because its rules are social rather than mechanical. Prop pushing, spawn killing and job abuse are not things the server detects for you. Set rcon_password so you can act from outside the game, and run an admin mod with a permission hierarchy rather than handing out full console access. DarkRP bundles a lightweight admin tool that is enough for a small server; larger ones add a general purpose admin addon on top. sv_alltalk and sv_voiceenable shape how roleplay reads in voice chat, so decide both on purpose. See admin commands for the RCON detail.

Common problems

  • Gamemode not found, server boots sandbox. The folder is nested one level too deep, is in addons/, or the name you passed does not match it exactly.
  • Everyone spawns as a citizen with no other jobs. The gamemode loaded but your customisation addon did not, or its job file hit a Lua error partway. Check the console from the first seconds of startup.
  • Custom jobs disappeared after an update. They lived inside the gamemode folder and the update replaced it. Restore from backup into a separate addon.
  • Job outfits show as ERROR. The model is on the server but never reached the client. Add it to the Workshop collection or the download mirror.
  • Lua errors flooding the console. Read the first error, not the last; later ones are usually consequences. Lua scripting covers isolating a failing file.

Sizing a DarkRP server

Round based gamemodes reset everything on every map change. DarkRP does not. Dropped weapons, spawned props, vehicles and player built structures accumulate across hours of uptime, so memory climbs during a session rather than sitting flat, and physics and Lua load rise with the entity count, not with the player count alone. Plan for both a higher memory ceiling and real single thread CPU headroom, and size against your busiest evening rather than your average. Server requirements and server cost and sizing have the numbers.

Related Garry's Mod guides

Want the gamemode folder, Workshop collection, backups and restarts handled for you? Launch managed Garry's Mod hosting and keep your customisation addon as the only thing you maintain.

Tired of fighting this issue every patch?

Run a managed Garry's Mod server with us. We handle the patches, mod-version pinning, save backups, and DDoS protection. Set up in minutes, multiple datacenter regions, no contract.

See Garry's Mod hosting plans →
Top