New

EmeraldHost 2.0 is here: faster, more intuitive, and made for everyone - the new panel!

Learn more
Guides
How to Install DarkRP on Your Garry's Mod Server
Garry's ModGarry's ModInstall DarkRP

How to Install DarkRP on Your Garry's Mod Server

Install and customize DarkRP on a Garry's Mod server

8 min read
Oct 1, 2026

DarkRP is a roleplay gamemode for Garry's Mod. A DarkRP server needs two parts: the DarkRP gamemode itself and the darkrpmodification addon, where you make all your customizations such as jobs or settings. Afterwards you set the gamemode and a matching map in the dashboard.

Install DarkRP via the Workshop

The easiest way is the official Workshop version of DarkRP. The server downloads it automatically on startup and keeps it up to date.

  1. Add DarkRP to the collection
    Add DarkRP (Workshop ID 248302805) to the Workshop collection your server loads. You can find out how to create a collection and enter it in the Workshop ID field under Add Mods.

  2. Add a map to the collection
    Also add a DarkRP map to your collection, for example rp_downtown_v4c_v2 (Workshop ID 110286060).

Install DarkRP from GitHub

Alternatively, you can download DarkRP from GitHub and upload it yourself. In that case you also have to install updates yourself.

  1. Download DarkRP
    Open the DarkRP page on GitHub, click Code and then Download ZIP. Extract the archive on your PC.

  2. Rename the folder
    The archive contains the folder DarkRP-master. Rename it to darkrp – all lowercase.

  3. Connect via SFTP
    Connect to your server via SFTP.

  4. Upload the folder
    Upload the darkrp folder to the following directory:

    /garrysmod/gamemodes/
    
  5. Check the folder structure
    The file darkrp.txt must be located directly in the darkrp folder:

    /garrysmod/gamemodes/darkrp/darkrp.txt
    

Install darkrpmodification

The darkrpmodification addon is the place for all your customizations. It does not work without DarkRP.

  1. Download darkrpmodification
    Open the darkrpmodification page on GitHub, click Code and then Download ZIP. Extract the archive on your PC.

  2. Rename the addon folder
    Rename the extracted folder darkrpmodification-master to darkrpmodification.

  3. Upload the addon folder
    Upload the folder via SFTP to the following directory:

    /garrysmod/addons/
    

    The lua folder must then be located directly in the addon folder:

    /garrysmod/addons/darkrpmodification/lua/
    

Set the gamemode and map

  1. Open the dashboard
    Open the dashboard of your server.

  2. Open the settings
    Navigate to the Settings.

  3. Enter the gamemode
    Enter the following value in the Gamemode field:

    darkrp
    
  4. Enter the map
    Enter the name of a DarkRP map in the Map field, for example:

    rp_downtown_v4c_v2
    

    If the map is in your server's collection, players download it automatically when they join. You can find out more under Change Map.

  5. Restart the server
    Save the setting and restart your server.

Customize DarkRP

All files for your customizations are located in the darkrpmodification addon under /garrysmod/addons/darkrpmodification/lua/. The most important ones are:

File Content
darkrp_config/settings.lua General DarkRP settings, for example starting money and salary
darkrp_config/disabled_defaults.lua Disabling of included jobs, modules and content
darkrp_config/mysql.lua Connection to a MySQL database
darkrp_customthings/jobs.lua Custom jobs and modified default jobs
darkrp_customthings/categories.lua Custom categories for the F4 menu
darkrp_customthings/shipments.lua Custom weapon shipments
darkrp_customthings/entities.lua Custom buyable entities

Change the settings

  1. Open the file
    Open the following file via SFTP:

    /garrysmod/addons/darkrpmodification/lua/darkrp_config/settings.lua
    
  2. Adjust the values
    Every setting is on its own line with a short description above it. Only change the value after the =, for example:

    -- startingmoney - your wallet when you join for the first time.
    GM.Config.startingmoney                 = 500
    -- normalsalary - Sets the starting salary for newly joined players.
    GM.Config.normalsalary                  = 45
    
  3. Restart the server
    Save the file and restart your server.

Create a custom category

Jobs are shown in categories in the F4 menu. Included are, among others, Citizens, Civil Protection and Gangsters. You create your own category like this:

  1. Open the file
    Open the following file via SFTP:

    /garrysmod/addons/darkrpmodification/lua/darkrp_customthings/categories.lua
    
  2. Add the category
    Add your category below the line Add new categories under the next line! and the end of the comment ]]:

    DarkRP.createCategory{
        name = "Services",
        categorises = "jobs",
        startExpanded = true,
        color = Color(0, 107, 0, 255),
        canSee = function(ply) return true end,
        sortOrder = 100,
    }
    

    With categorises you set what the category applies to. Allowed values are jobs, entities, shipments, weapons, vehicles and ammo.

Add a custom job

  1. Open the file
    Open the following file via SFTP:

    /garrysmod/addons/darkrpmodification/lua/darkrp_customthings/jobs.lua
    
  2. Add the job
    Add your job below the comment Add your custom jobs under the following line:, for example:

    TEAM_TAXI = DarkRP.createJob("Taxi Driver", {
        color = Color(20, 150, 20, 255),
        model = {"models/player/Group01/Male_02.mdl"},
        description = [[You take the citizens of the city safely to their destination.]],
        weapons = {},
        command = "taxi",
        max = 2,
        salary = GAMEMODE.Config.normalsalary,
        admin = 0,
        vote = false,
        hasLicense = false,
        category = "Services",
    })
    
  3. Restart the server
    Save the file and restart your server. The new job appears in the F4 menu.

Disable or change included content

If you want to change or remove an included job such as the Medic, you disable it first.

  1. Open the file
    Open the following file via SFTP:

    /garrysmod/addons/darkrpmodification/lua/darkrp_config/disabled_defaults.lua
    
  2. Disable the job
    In the DarkRP.disabledDefaults["jobs"] block, set the value of the job to true:

    ["medic"]     = true,
    

    In the same way you disable modules, shipments and other content in the other blocks of the file.

  3. Recreate the job (optional)
    If you want to keep using the job in a modified form, copy it from jobrelated.lua into your jobs.lua and adjust it there.

  4. Restart the server
    Save the files and restart your server.

Useful admin commands

DarkRP comes with its own commands for admins. You enter them in the in-game chat. To use them, you have to be registered as admin or superadmin on your server. You can find out how under Add Admin.

Command Description Required group
/setmoney <player> <amount> Sets a player's money to an amount superadmin
/addmoney <player> <amount> Gives a player additional money superadmin
/setlicense <player> Gives a player a gun license superadmin
/unsetlicense <player> Revokes a player's gun license superadmin
/arrest <player> Arrests a player admin
/unarrest <player> Releases a player admin
/forcerpname <player> <name> Changes a player's RP name admin
/teamban <player> <job> [seconds] Bans a player from a job, optionally for a number of seconds admin
/teamunban <player> <job> Lifts the ban from a job admin
/setspawn <job> Replaces the spawn points of a job with your current position admin
/addspawn <job> Adds another spawn point for a job at your position admin
/removespawn <job> Removes all custom spawn points of a job on the current map admin

For <player> you can use the player name or part of it, the SteamID or the SteamID64. For <job> in the spawn commands, use the command name of the job, meaning the value from command, for example taxi. With /teamban and /teamunban you can also use the name of the job. If you leave out the time with /teamban, the ban lasts until you lift it with /teamunban or the player leaves the server.

Reset the money of all players

With the following command you reset the money of all players to the starting money (startingmoney). You enter it in the console in your server's dashboard. In-game, only a superadmin can run it via the game console.

rp_resetallmoney

Use a MySQL database (optional)

By default, DarkRP stores all data such as the players' money in the SQLite database /garrysmod/sv.db on your server. You do not have to set anything up. If you want to use a MySQL database instead, for example to share the data with other applications, you need the MySQLOO module.

  1. Create a database
    Create a database in your server's dashboard and note down the connection details. You can find out how under Create Database.

  2. Check the architecture
    Enter the following command in the console in your server's dashboard:

    lua_run print(jit.os, jit.arch)
    

    The output is, for example, Linux x86. x86 stands for 32-bit, x64 for 64-bit.

  3. Download MySQLOO
    Download the matching file from the MySQLOO releases on GitHub:

    • for x86: gmsv_mysqloo_linux.dll
    • for x64: gmsv_mysqloo_linux64.dll
  4. Upload the module
    Upload the file via SFTP to the following directory. If the bin folder does not exist yet, create it:

    /garrysmod/lua/bin/
    
  5. Open the MySQL config
    Open the following file via SFTP:

    /garrysmod/addons/darkrpmodification/lua/darkrp_config/mysql.lua
    
  6. Enter the connection details
    Set EnableMySQL to true and enter the connection details of your database:

    RP_MySQLConfig.EnableMySQL = true
    RP_MySQLConfig.Host = "db1.cgn1.emeraldhost.de"
    RP_MySQLConfig.Username = "u123_AbCdEf1234"
    RP_MySQLConfig.Password = "YourPassword"
    RP_MySQLConfig.Database_name = "s123_darkrp"
    RP_MySQLConfig.Database_port = 3306
    RP_MySQLConfig.Preferred_module = "mysqloo"
    

    Replace the example values with the connection details from the dashboard.

  7. Restart the server
    Save the file and restart your server. DarkRP creates the required tables in the database automatically.

Written byEmeraldHost Team
Last updated on Oct 1, 2026 Edit on GitHub

Did this article help you?

Your feedback helps us improve our guides.

Help shape the guides

€10.00 in credit for every new guide, €5.00 for every improvement.

Contact Support

Create a support ticket and our team will get back to you as soon as possible – personal and professional.

Go to Support
1257 members online

Discord Community

Connect with other players, get quick help from the community, and stay up to date with the latest news.

Join Discord
Garry's Mod

Ready to get started?

Rent your Garry's Mod Server now

Join our Discord community 1257 members online right now