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.
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.
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:
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!
There are a lot of free and good addons, so don't buy any yet!
Sources for free 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.
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!
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.
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.
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.
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:
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.
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.