💧

luctus' darkrp setup guide


Introduction

Please read this guide all the way through.
There are a lot of little helpful tips explained here.
For this guide you need a Garry's Mod server.
Before we begin: Please do not buy any addons yet!
We will go over free addons and addons you should NOT get soon enough.


Addons

Before we begin: Don't add too much stuff when first creating your server. Instead do not install a few addons and reserve them for future updates.
For example: You could keep a "Bank Robbery" addon not installed and install it later with the "Gangster Update".

If you install all your addons at the beginning of your server, then people have to download a lot when joining. They also will get bored rather quickly because they have seen everything on your server.
With those "updates" and new addons people will come back to test things out and play again.

Installing Addons

There are 2 ways to install addons on your server: Either via a workshop collection or by manually uploading the folder.
The workshop collection is easy: Simply get your steam api key and your workshop collection id and set it on your server.
If you upload addons into your addon folder you have to look out for a few things:

1. Addon-folders always have to start with a small (lowercase) letter!
Good:easychat
Bad:Easychat

2. The addon should not contain subfolders of addons.
Good: addons/easychat/lua
Bad: addons/easychat/easychat/lua

3. You can remove the -master from your addon name. It's just there because you downloaded it from github.
4. Try not to have spaces in your addon name. Replace them with a dash (-) or a underscore (_).
5. Always add the appropriate content packs to your workshop collection. Players and the server need the content packs for addons to work properly. For example: Blue's Addons need content packs from the workshop (here) to work properly.



First of all you need the gamemode DarkRP and darkrpmodifications. You configure most things in darkrpmodifications, except if you want to configure the default jobs.
Put the DarkRP gamemode into the garrysmod/gamemode/ folder.
Put darkrpmodification into your addons folder.

There are a few must-have addons that you need for a proper DarkRP server:

Now come the non-must-have addons that I think are good for a DarkRP server:


Addons you should NOT get

First we go over the addons you shouldn't install/buy.
Please, for the love of god, do NOT buy ANY of those addons! You can get them better for free!


Free Addons

There are a lot of free and good addons, so don't buy any yet!
Sources for free addons:


Make players download addons

Players who join your server have to download the addons of your server. If new players see errors instead of cars then you forgot to add the cars to the download list.
You do NOT need FastDL for this. You can use the workshop downloader.

Why use workshop instead of FastDL?
FastDL is way more complicated to set up. It also makes you download individual files instead of a single file for the whole addon. In comparison, workshop download is easily setup and optimized for clients.

FastDL makes users download the addons from your own server. This means: If 10 people are joining at once, they are all downloading the addons from your server, using up your bandwidth.
With workshop download they download the addons from steam servers. Example: If you use FastDL and 5 people join at once, they will all download the addons from your server which could make the servers' ping bad. (5players x 3GB addons = 15GB Upload for your server!)

With FastDL you "zip" the single files of your addon and the client has to download every texture and model one by one, which is a lot of overhead. You also need a webserver for FastDL, because you need to host the files for the clients.
With workshop download the player downloads the addon as one big package, well compressed in a single .gma file from steam servers. If the player already has the addon then he skips the download, saving download and load times.

An important notice: The player doesn't have to download every addon you have. The player - for example - doesn't have to download ULX or Ulib, because it's only serverside commands.
The player has to download models and textures though.


To include your addons as downloads for your players you simply have to go to this site https://csite.io/tools/gmod-universal-workshop, enter your workshop-collection ID and then copy the code at the bottom.
You get your workshop ID from your workshop collection link. It's in the URL at the end with 'id=XXXXXX'.
Now with your code copied go to your server and create a new file in the lua/autorun/server folder and name it something like "workshop.lua". ( Full path would be garrysmod/lua/autorun/server/workshop.lua )
Paste the code into the file and save it.
Now after a server restart every player will download your workshop collection when joining.

Warning: Be careful to not make your workshop collection too big! Around 3GB should be the max. size for players to download upon joining. If you make the player download 8GB before joining your server they will probably disconnect and search for another server to play on!


About creating your own addon collections

Please do NOT create your own content packs for the workshop.

If you create your own content pack with M9k weapons every player has to download them again, even if someone already has all the M9k weapons.
If a player already has the M9k Heavy Weapons addon then they skip the download when joining your server. BUT: If you make your own M9k Heavy Weapons Addon then they have to re-download it even though they already have all the weapons.
This is because addons are cached. If you already have an addon you skip the download and load your local copy of the addon. If someone makes an extra addon for something that you would normally already have then you have to redownload it, which wastes storage space, bandwidth and time.


Configuration

Server config
sv_playershurtplayers should be set to 1. This config can be located in garrysmod/cfg.

Really Important:: The Tickrate should NEVER be 66! It should max. be 33!

General
Before you start to configure anything please read through the whole darkrp config. There are 2 config-files: disabled_defaults.lua and settings.lua.
They are located in addons/darkrpmodification/lua/darkrp_config/.
Read them through and enable / disable the settings as you wish. This will be the basis of everything else you configure!
A few important settings would be:


Jobs
Never edit the DarkRP gamemode files! To configure DarkRP use the addon darkrpmodification!
The only thing you configure in the gamemode files are the default jobs.
If you want to configure the default jobs then edit garrysmod/gamemode/darkrp/gamemode/config/jobrelated.lua
If you want to add new jobs do that in garrysmod/addons/darkrpmodification/lua/darkrp_customthings/jobs.lua.
How to configure new jobs: https://darkrp.miraheze.org/wiki/DarkRP:CustomJobFields

Weapons
If you want to give a job a specific weapon then do that in the job config itself. (either in gamemode/darkrp/gamemode/config/jobrelated.lua or addons/darkrpmodification/lua/darkrp_customthings/jobs.lua)

If you want to give everyone (no matter the job) a weapon then add it to the DefaultWeapons. They are located in addons/darkrpmodification/lua/darkrp_config/settings.lua at around line 353.


Setting Restrictions

You don't want people to troll and crash the server right?
Then set the correct restrictions.

Max Entities and co.
An important thing is to disable the spawning of ragdolls, effects and co..
Either disable it with ULX by setting it to 0 in Settings -> Sandbox or you can also use these commands and maybe put them in your server.cfg file:

sbox_maxeffects 0
sbox_maxragdolls 0
sbox_maxballoons 0
sbox_maxdynamite 0
sbox_maxemitters 0
sbox_maxlamps 0
sbox_maxthrusters 0
sbox_maxwheels 0

Toolguns
Also restrict toolguns that people could use to crash the server or troll others.
For example, Zero's Retrominer toolgun to create ores is not restricted by default, so users could spawn their own ores anywhere on the map.
With FPP (Falcos Prop Protection, in the spawn menu under the utilities tab on the right) you can restrict toolguns so that normal players can't use them.

Props
As already discussed above, you have to install an anti-propgrief addon or else people will propkill and crash the server with props.
But there is also another configuration: A good prop blacklist.
There are huge props that players can spawn by default, and you should put these props on the blacklist.
Also set the pickup restriction to only a players props. By default players can also pick up their car with their physgun.


Other important things


Roleplay Rules

Roleplay rules are difficult to get perfect, but they are easy to get right.

The best tip would be: Keep them simple and clean. Try to disable things ingame and not just add rules to prohibit them.
Example: Install an anti-bhop addon instead of prohibiting people to bunnyhop via a rule.
Here is a checklist of things to do better:


Testing your server

The most important thing before making your server public: TEST EVERYTHING.

Go through every job you have and check if you can do what you are supposed to do.
Can you buy shipments as a weapon dealer? Can you collect trash as a trash collector? Can you spam props? Can you Propkill? Do you get enough money for the work you do?

Also let others test, because you, as a developer, have everything (models,weapons,etc.) the server has. You don't see any error models, but other players might see it. It would be a good idea to let someone else join and let him check every job too.

For better Testing use the guide at darkrp_qos.html.


Forum

Please, for the love of god, do NOT buy woltlab forums.
They are very expensive and you don't need such expensive forum software at the beginning.
Instead simply install Mybb (https://mybb.com/download/) and use a theme like flatty (https://community.mybb.com/mods.php?action=view&pid=617) to make it look nice and similar to woltlab.
Example image of mybb with flatty theme: here.