| | | |
| | | |
chef's darkrp setup guide
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.
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:
- A Fading Door and a Keypad Addon
- 3D2D Textscreens for advertising ingame Shops (set the textscreen-limit to atleast 3)
- gm_apg for anti-propkill / anti-propcrash (FPP is not that good at anti-crash protection)
- Permaprops to make props/npcs respawn after a map change
- Classic Advert so that you can write in the global non-ooc chat with /advert
- ULib and ULX for administration of your server. (You can also use the preinstalled FAdmin mod if you want)
- The sit anywhere script! for more roleplay
- Pickpocket to make the thief more THIEF
- Precision Tool to make building bases easier and more fun
- Cars, because kids love having expensive cars (either TDM or any other type of car)
- Custom Weapons for better Dark Roleplay (M9K weapons are pretty popular and easy to use)
- A new HUD, Scoreboard and F4 menu Design
- A custom chatbox addon, because the default chatbox lacks features
- Either an inventory system or a good Pocket Blacklist (so that players can store their weapons)
- Atleast one legal job that can make money without spending much for it, so that even poor players can get back to roleplaying quickly.
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!
- Anticheat - If you set up your server without being braindead then you don't need an anticheat, as most exploits are fixed anyways. Most Anticheats also use a lot of CPU / Network Bandwidth, which makes the server even more laggy.
- Prop-Protection - There are a lot of free and better alternatives than the paid ones.
- Admin-System - ULX is free and way better than any admin mod you can buy. Do NOT buy xAdmin or SAM, they do the same thing but just cost something. Don't be an idiot!
- Job-Whitelist - You can do Job-Whitelisting (with leveling systems, steamIDs, ulx ranks, etc.) without any addons! This is a feature of default DarkRP! Do NOT buy any addon like "job-whitelist"!
- Job-Configurator - You can configure jobs easily in DarkRP itself. There is no need to spend money on a dynamic ingame job-configuration system!
- Logging System - The default logging is more then enough. If you don't trust your players during support sessions, how can you trust them to make proper roleplay?
- Too many extra systems like "jewelry robbery" or "fine system" - Too much extra stuff destroys the roleplay that DarkRP was made for. It also makes the game lag a lot if you have 100+ addons.
There are a lot of free and good addons, so don't buy any yet!
Sources for free 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!
2. The addon should not contain subfolders of addons.
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 (_).
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 not use FastDL instead of workshop?
FastDL is way more complicated to set up then the workshop download. It also makes you download individual files instead of a single file for the whole addon.
But most importantly: It uses your servers Network Bandwidth instead of Steam Servers' Bandwidth.
This means that 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 Steam Workshop Downloads you don't have this problem. Players will download the addons from steam, which means no unnecessary bandwidth usage for your server. The steam servers also have better upload then your gmod server, as they are specifically made for this kind of task.
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 the 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 another server!
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:
- disallowClientsideScripts should be set to true to disallow people from cheating (line 76)
- dropspawnedweapons should be false or else people can put their cop weapon in their inventory and duplicate weapons (line 87)
- restrictbuypistol should be true or citizens can buy pistols via the F4 menu (line 143)
- adminnpcs and adminvehicles should be 2 or you won't be able to spawn anything as admin (line 179)
- Change all the 'allowedProperties' to false except 'remover'. (Lines 468 to 473)
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
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:
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.
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
- Check all of your addons (Playermodels of Jobs, Equipment of Jobs like Methcook, etc.) ingame for Errors. Either lua errors or Error Models. A lot of servers have a lot of Error Models (mostly playermodels) when first joining, because they forgot to add it to the download. Test everything!
- Also check if the console gets spammed by errors or something. That may not generate errors for the player, but lots of console messages with stuff like "0 nil" are still not nice to see as a player.
- Try to write your own DarkRP jobs and shipments and do NOT use something like dconfig to create them dynamically ingame. This could lead to conflicting problems with other addons. (Someone once had problems with realistickidnapsystem and dconfig jobs)
- Have your rules easily accessible ingame. (Either in the F4 Menu, Scoreboard or with ulx's !motd)
- You can also use ULX to create an automatic popup whenever you join that shows you the rules. It's called MOTD, and with ULX you can set the MOTD to an URL of your choice.
- Look out for big addons that download when joining your server. Downloading 4 GB of files just to join a DarkRP server is a bit much isn't it? Try to keep it as low as possible, because some players don't like waiting.
- Try not to make too many rules (KISS principle, "Keep It Simple Stupid"). Try to configure restrictions ingame instead of writing them in your rules. (Example: Install an anti-bunnyhop addon instead of having a rule for it not to do that)
- Don't add too many systems. Having a fine system, a radar station, a special "toll" addon, a special taser and cuff system for cops is a bit too much. The more addons you have, the higher is the possibility of 2 addons conflicting and creating errors. Same with "Logging" addons like bLogs: They use a lot of resources, so choose carefully if you really need them.
- Enable (if you want) the default /afk and cooking addon in darkrpmodifications/ lua/ darkrp_config/ disabledDefaults.lua. With this people will automatically be moved AFK and people also get hungry ingame after a while.
- Disable the "Context Menu" for players. If you hold C and right-click on a prop you can delete it or disable collision. Players shouldn't be able to disable collisions for their props.
- Don't create too many Donator-Only Jobs. These don't make me want to donate, these want to make me leave the server.
- Don't add too many cars at once. They add a lot of download size, and having a lot of cars at the beginning means you won't be able to add more later on without adding more downloadsize and lag to the server.
- Don't forget to add an ATM system to your Server (Critzer ATMs or Blues ATMs)
- A custom chat is always nice too, because the default Gmod chat is missing a lot of "comfortable" functions.
- Try to make your money system fun and not too strict. Grinding 20 minutes for an AK47 is not fun. Also have a job where people can get money without spending anything.
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:
- Even if many people will disagree: Try to look at other server's rules. It's not forbidden to get some kind of template from others on what you have to include in your own rules.
- If you want a big and good server: Explain rules like RDM and VDM. When I first began playing DarkRP there was only "VDM is forbidden". What is VDM though? Explain unknown terms and wordings. Example: "RDM, the killing of players with no roleplay background, is forbidden."
- Rules like "Be aware of NLR" or similar are bad. What is NLR? How long does it last? Explain it instead of simply saying "it exists".
- Try to be consistent with your wording. "strictly forbidden", "prohibited" or "not allowed and will be punished" are all different wordings for the same purpose of "don't do that". Simply write "X is forbidden" and it's simple and easier to remember then "X is strictly prohibited and will be punished".
- Try not to have any "wildcard rules" like: "Teammembers can still punish you if you did something wrong without breaking the rules". These rules are basically "Im an admin, i can do whatever i want and how i like it" and these make the server look bad.
- Don't have your "punishments list" in your rules. Players shouldn't be able to see how long they get punished for breaking rule X.
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.
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.