How to Add DarkRP to a Garry's Mod Server (Jobs and Settings)
Install DarkRP on a Garry's Mod server from the Workshop or GitHub, add the darkrpmodification addon, set the gamemode, and add jobs without editing core files.
Updated Oct 3, 2026 · 5 min read
On this page
To add DarkRP to a Garry's Mod server, get the gamemode from the Workshop (ID 248302805, added to your server's collection) or from GitHub into garrysmod/gamemodes/darkrp/, then put the darkrpmodification addon in garrysmod/addons/darkrpmodification/. Start the server with +gamemode darkrp and an rp_ map. All your changes go in darkrpmodification: jobs in lua/darkrp_customthings/jobs.lua, settings in lua/darkrp_config/settings.lua. Never edit the gamemode's own files, because updates replace them.
What you are working with
| Piece | What it is | Where it lives |
|---|---|---|
| DarkRP gamemode | The roleplay gamemode by FPtje: money, jobs, doors, F4 menu, laws | Workshop 248302805, or garrysmod/gamemodes/darkrp/ |
| darkrpmodification | The official addon for your own jobs, shipments, entities and settings | garrysmod/addons/darkrpmodification/ |
darkrp_config/settings.lua |
Starting money, salary, property tax, prop limits and hundreds more options | Inside darkrpmodification |
darkrp_config/disabled_defaults.lua |
Turn off default jobs, modules (hunger, AFK) and items | Inside darkrpmodification |
darkrp_customthings/ |
jobs.lua, shipments.lua, entities.lua, categories.lua and more |
Inside darkrpmodification |
mysql.lua |
Optional MySQL. By default DarkRP stores money and data in the built in SQLite garrysmod/sv.db |
Inside darkrpmodification |
An rp_ map |
Roleplay maps with doors, shops and a police station, from the Workshop | Your Workshop collection |
Before you start
- Back up the server, especially
garrysmod/sv.dbif players already have money or data on it. - Pick a map built for roleplay. DarkRP on
gm_flatgrassruns, but there is nothing to buy or own. - Plan the content. Custom player models, cars and maps need to be in a Workshop collection so players download them. See how to add Workshop addons to a Garry's Mod server.
Step 1: Get the DarkRP gamemode
Pick one source, not both.
- Workshop (easiest): add DarkRP (
248302805) to your server's Workshop collection. It downloads and updates on every start. - GitHub: download FPtje/DarkRP, unzip it and upload it so the path is
garrysmod/gamemodes/darkrp/gamemode/. Rename the folder fromDarkRP-mastertodarkrp. The folder name is the gamemode name, and Linux servers are case sensitive.
Step 2: Add darkrpmodification
- Download FPtje/darkrpmodification.
- Unzip it and rename
darkrpmodification-mastertodarkrpmodification. Use lowercase folder names with no spaces for anything inaddons. - Upload it so the path reads
garrysmod/addons/darkrpmodification/lua/darkrp_config/settings.lua, not one folder deeper.
Install it as a normal folder, even if you use the Workshop gamemode. You need to edit its files, and Workshop addons cannot be edited on the server.
Step 3: Set the gamemode and map
The gamemode is a launch option: +gamemode darkrp, plus +map with your roleplay map's name. Restart the server. Players press F4 in game to see jobs and shop items, which confirms DarkRP loaded.
Step 4: Change the basic settings
Open lua/darkrp_config/settings.lua. Good first edits, with their defaults:
| Setting | Default | What it does |
|---|---|---|
GM.Config.startingmoney |
500 | Money new players start with |
GM.Config.normalsalary |
45 | Base salary used by default jobs |
GM.Config.propertytax |
false | Tax on owned doors |
GM.Config.babygod |
true | Spawn protection after respawning |
GM.Config.lottery |
true | Whether the mayor can start lotteries |
GM.Config.currency |
"quot; |
Money symbol |
To turn off hunger, the AFK module or a default job, set its line in disabled_defaults.lua. Restart after editing.

Step 5: Add a job
Add jobs to lua/darkrp_customthings/jobs.lua, under the line that says to add custom jobs:
TEAM_MECHANIC = DarkRP.createJob("Mechanic", {
color = Color(240, 150, 30, 255),
model = {"models/player/Group03/male_04.mdl"},
description = [[Fix cars and sell parts.]],
weapons = {"weapon_physcannon"},
command = "mechanic",
max = 4,
salary = 60,
admin = 0,
vote = false,
hasLicense = false,
category = "Citizens",
})
| Field | Meaning |
|---|---|
command |
Chat command to take the job (/mechanic). Must be unique |
max |
Players allowed in the job at once, 0 for unlimited |
admin |
0 anyone, 1 admins, 2 superadmins |
vote |
Whether others vote before someone gets the job |
category |
F4 menu category. It must exist, the defaults include Citizens, Civil Protection, Gangsters and Other |
To change a default job like Medic, set it to true in disabled_defaults.lua, copy it from DarkRP's jobrelated.lua into your jobs.lua, then edit your copy.
The gotcha: edits in the gamemode folder vanish
Almost every DarkRP tutorial older than a few years says to edit gamemodes/darkrp/gamemode/config/jobrelated.lua or the config inside the gamemode. That works until the next update. The Workshop version replaces those files on every start, and a GitHub update overwrites them, so custom jobs and settings silently disappear and the city resets to default jobs and prices. DarkRP's own README puts it plainly: do not touch the core files.
Everything belongs in darkrpmodification. The related trap: DarkRP loads jobs.lua as Lua, so one missing comma or bracket breaks the whole file and every custom job is missing from F4. The server console shows the Lua error with the file and line number, so check it after every edit.
Common problems
- Server runs Sandbox, not DarkRP: the gamemode is still
sandbox, or the folder is not named exactlydarkrp. - Custom jobs missing from F4: a Lua error in
jobs.lua, the addon is nested too deep, or thecategorydoes not exist. - Changes reset after an update: you edited files inside the gamemode. Move them to darkrpmodification.
- Players see ERROR models and purple textures: the map or models are not in your Workshop collection, or players are missing Counter-Strike: Source content many maps use.
- Editing a default job does nothing: it is not disabled in
disabled_defaults.lua, so the original still loads.
DarkRP on GamezServers
On a GamezServers Garry's Mod server, set Gamemode to darkrp and Map to your roleplay map in the panel, and put DarkRP plus your maps and models in the collection in Workshop ID. Upload darkrpmodification to garrysmod/addons in the Files tab (zips extract there) or over SFTP, and edit its Lua files in the browser. Press Backup before big config changes. For admin tools, see how to install ULX on a Garry's Mod server.
FAQ
Where do I add jobs in DarkRP?
In garrysmod/addons/darkrpmodification/lua/darkrp_customthings/jobs.lua, using DarkRP.createJob. Restart the server after editing.
Should I use the Workshop or GitHub version of DarkRP?
Either works. The Workshop version updates itself, and GitHub gives you the files on disk. Use one, and keep all your changes in darkrpmodification either way.
Does DarkRP need a MySQL database?
No. It uses the built in SQLite database garrysmod/sv.db by default. MySQL is optional, set up in darkrp_config/mysql.lua, and needs the MySQLOO module.
How do I turn off hunger in DarkRP?
Hunger is off by default. It is the hungermod module in disabled_defaults.lua, where true means disabled.
Skip the setup. Your own Garry's Mod server.
Then $9.99/mo. Just trying it? $2.50 for 3 days