To install DarkRP, put the DarkRP gamemode in garrysmod/gamemodes/darkrp, put the darkrpmodification addon in garrysmod/addons/, and start the server with +gamemode darkrp. Then add an admin mod such as ULX and give yourself the superadmin group.
What You're Installing
| Part | What it is | Where it goes |
|---|---|---|
| DarkRP | The roleplay gamemode, by FPtje and contributors | garrysmod/gamemodes/darkrp/ |
| darkrpmodification | The addon where you change DarkRP's settings, jobs and shop | garrysmod/addons/darkrpmodification/ |
| An admin mod | Commands to kick, ban, teleport and manage staff | garrysmod/addons/ |
You need a working dedicated server first. All paths on this page start from your server folder.
Never Edit DarkRP's Own Files
Don't change anything in gamemodes/darkrp/. Updates overwrite it. Make every change in darkrpmodification instead.
Install DarkRP
DarkRP's developers recommend Git or the Workshop. Downloading the files by hand works but isn't recommended.
Install Git, then clone DarkRP into the gamemodes folder. The folder must be called darkrp:
cd garrysmod/gamemodes
git clone https://github.com/FPtje/DarkRP.git darkrpTo update DarkRP later, stop the server and pull the latest version:
cd garrysmod/gamemodes/darkrp
git pullPlayers also need DarkRP's models and materials. Add the DarkRP Workshop item to a server Lua file such as garrysmod/lua/autorun/server/workshop.lua:
resource.AddWorkshop("248302805")Install darkrpmodification
darkrpmodification only works with DarkRP installed. Clone it into the addons folder:
cd garrysmod/addons
git clone https://github.com/FPtje/darkrpmodification.git darkrpmodificationIf you don't use Git, click Download ZIP on the GitHub page. Put the contents into a new folder in garrysmod/addons/. Use a lower-case folder name with no spaces, because Linux servers are case-sensitive.
Set DarkRP as the Gamemode
Change +gamemode in your start script to darkrp:
srcds_win64.exe -console -game garrysmod +maxplayers 32 +gamemode darkrp +map gm_construct +sv_setsteamaccount YOUR_GSLTgm_construct is fine for testing. For a real server, pick a roleplay city map from the Workshop. Put the map in your collection and use its .bsp name in +map.
Start the server and join. You should spawn as a Citizen with money on your HUD. Press F4 to open the DarkRP menu.
Configure DarkRP
Everything lives in darkrpmodification's lua folder:
| File | What you change there |
|---|---|
darkrp_config/settings.lua | DarkRP's main settings. Start here |
darkrp_config/disabled_defaults.lua | Turn off default jobs, entities and other built-ins you want to replace |
darkrp_config/mysql.lua | Store DarkRP data in MySQL |
darkrp_customthings/jobs.lua | Your jobs |
darkrp_customthings/entities.lua | Buyable entities, such as money printers |
darkrp_customthings/shipments.lua | Weapon shipments |
darkrp_modules/ | Your own DarkRP modules |
Restart the server after you change these files. The DarkRP wiki at darkrp.miraheze.org has guides and documentation for these files.
Add an Admin Mod
DarkRP ships with FAdmin, a basic admin tool. Most servers add a fuller admin mod as well.
ULX and ULib
ULX is a free admin mod by Team Ulysses. It lets you run several admins at different access levels on one server. It has commands from kick, ban and slay to freeze, blind and votes, plus an in-game menu. ULX needs ULib, Team Ulysses' library, installed alongside it.
Add both to your server's Workshop collection:
| Addon | Workshop ID |
|---|---|
| ULX | 557962280 |
| ULib | 557962238 |
After installing, restart the server fully. Team Ulysses say a map change isn't enough.
SAM
SAM is a paid admin mod sold on GmodStore. Follow the install steps that come with your purchase.
Make Yourself Superadmin
Superadmin is the top group. In ULX, superadmins can use every command, override other players' immunity and grant or remove access with userallow and userdeny.
Join your server. Then type this into the server console, not your game console, using your Steam name:
ulx adduser "YourName" superadminIf you're not online, add yourself by SteamID instead:
ulx adduserid "STEAM_0:1:12345678" superadminTo find your SteamID, join the server and type status into the server console. It lists every player's SteamID.
Use ULX
Type ulx menu in your game console to open the ULX menu. Bind it to a key so you don't have to type it each time.
Every ULX command starts with ulx in the console. In chat, use ! instead:
ulx help
ulx kick "PlayerName" "Reason"To add staff, open the Groups tab in the menu, pick a group and click Add. Or use ulx adduser with the group name, such as admin.
Troubleshooting
Check that the folder is exactly garrysmod/gamemodes/darkrp and contains darkrp.txt. Check your start line says +gamemode darkrp.
They don't have DarkRP's content. Add resource.AddWorkshop("248302805") to a server Lua file, or install DarkRP from your Workshop collection.
Check you edited the files in darkrpmodification, not in gamemodes/darkrp. Restart the server and look in the server console for Lua errors from your file.
ULib or ULX isn't loading. Check both are installed, the folder layout matches the list above, and you restarted the server fully.
Run the command in the server console, where you have full access. Check the SteamID matches the one status shows for you.
Next Steps
Tune your server.cfg, keep downloads small with the Workshop guide, and check you're listed with a GSLT and open ports.
Want to see a big DarkRP server running? Join Justified: justified.gg

