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.db if players already have money or data on it.
  • Pick a map built for roleplay. DarkRP on gm_flatgrass runs, 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 from DarkRP-master to darkrp. The folder name is the gamemode name, and Linux servers are case sensitive.

Step 2: Add darkrpmodification

  1. Download FPtje/darkrpmodification.
  2. Unzip it and rename darkrpmodification-master to darkrpmodification. Use lowercase folder names with no spaces for anything in addons.
  3. 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.

Garry's Mod sandbox physics with a floating chair, a buggy and cones, the engine DarkRP roleplay runs on

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 exactly darkrp.
  • Custom jobs missing from F4: a Lua error in jobs.lua, the addon is nested too deep, or the category does 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.

$4.99USD first month

Then $9.99/mo. Just trying it? $2.50 for 3 days

Keep reading