Helpful Apps or Processes for Maintaining a GMOD Server

I am starting to help my son start and maintain an Online Multi-Player GMOD DarkRP server (NFO Servers). Having a technical background has helped me give him some general pointers, but due to all the errors he tends to get every time we add something, I am wondering if there is something that would make keeping track of changes to the server or easily backing out changes to find out what went wrong etc.

Right now, every time he wants to add something, he will put the folder in the addons directory and then restart the server each time.

Is there a better way to keep track of what he adds and in what order?

Isn’t there an easier way to implement addons and changes without resetting the server each time?

Thanks for any help in pointing us in the right direction.

Have enough system resources and keep up on general system maintenance and you’ll be fine. Just make sure you have a big enough pipe.

There are two options for managing server content:

  1. Manually adding files to the /addons directory.
  2. Configuring a Steam Workshop collection to use on the server (wiki tutorial).

The latter can be a bit easier, but obviously will only work with addons available on the workshop. As for restarting the server, there is no simple way around that.

[editline]26th April 2015[/editline]

These are likely to be caused by Lua script errors. Make sure the addons your son is using are up to date and hopefully compatible with the latest version of the game. Alternatively, they could be conflicting with other addons. It’d likely take some trial and error of removing addons one-by-one to figure that out though.

We are using a Game Server from NFO Servers, so I am not too worried about server hardware or connectivity. Things seem to run great.

Yeah we do a mix of both… some are manual addons from things he finds on the net and others he puts in a collection and then NFO servers has an option to link collections on Steam to his game server so players can download them automatically when logging in for the first time.

One of the more recent problems for example was not being able to enter vehicles or open doors (essentially the ‘E’ or +use command). We removed the last addon we put in but the problem remained.

Just seems so haphazard to add addons, but then not really be able to tell how they will interact or affect the existing working server and not be able to back out changes to get back to a ‘working’ version.

Thanks for the feedback.

You can host a server in your house. Any old PC can do it.

LOL you just told me to be aware of…

Why do I want to spend my time worrying about my internet connection, my computer hardware, electricity etc 24/7 when I can pay just a few dollars a month and have a super fast server and internet connection in multiple data centers across the world?

I’m good…thanks.

Run a local dev server by downloading SteamCMD and setting one up; make sure you do not launch a server from the Garry’s Mod client ( listen-server ), or any server with 1 max-player ( singeplayer server )…

Here’s how to set up a local dev server: https://dl.dropboxusercontent.com/u/26074909/tutoring/server_srcds_steamcmd/setting_up_a_server_with_steamcmd.lua.html – I included the bat files too ( just update the install path to where you want it installed ), the bat files will install the typically mounted games in 2 steps… If you want HL 2 content, you’d need to log in to SteamCMD using your Steam account first before running the first bat.

If you only want Garry’s Mod then you’ll need to remove some of the games from the second bat file. The second includes DOD Source, TF2, CS:S and Garry’s Mod…

By using a dev server, when you add something to it you’ll see how it’ll end up working on your nfo server ( remember to keep all file-names lowercase in case you are using Linux on either your PC or server ).

I’d also recommend learning Lua. Here are some resources:

Generalized Lua Help ( Links to Wikis, Answers the question of “Where do I post a simple question or DarkRP Specific question”, links to other resources compiled by forum members )
https://dl.dropboxusercontent.com/u/26074909/tutoring/___welcome_docs/_welcome_general_lua_learning.lua.html

Useful Programs ( SteamCMD, Autosizer, Desktops, Process Explorer ) and Notepad++ Upgrades
https://dl.dropboxusercontent.com/u/26074909/tutoring/___welcome_docs/_welcome_useful_programs_and_notepadpp_upgrades.lua.html

Awesome info! Exactly what I was looking for… Yes, I did encourage him to start development of his server on a local machine instead of paying for an online server. So we do have one, but I will need to explore some of the resources you listed to piece together some of the useful tools that he may not be using yet to simplify managing addons etc.

Right now he needs to learn a bit more about the stuff he is adding in the addons directory and what is actually needed. At the moment the garysmod directory is at 12Gb which seems like a lot for a new player to have to download to play a game to me (not sure).

Thanks for the links… need to go through them and see what we are currently doing and what we can improve upon.

Ever tried git?

Also, if he starts learning Lua, he can overwrite core files ( files inside the game-mode directory ) by creating an addon with the path set up something like: addons/addon_name/gamemodes/gamemode_name/gamemode/.lua or addons/addon_name/lua/entities/ or addons/addon_name/lua/weapons/* etc… Addons, and everything in gmod, is loaded into a virtual directory system so files can overwrite other files in this design so it’s useful to keep the core files original while making any changes using addons. Addons also essentially spoof the garrysmod/ folder-layout.

Next, I’d recommend using something like this for resource.AddFile… used when adding new content which is downloaded via FastDL or so… https://dl.dropboxusercontent.com/u/26074909/tutoring/server_srcds_steamcmd/setting_up_downloads_using_recursive_resource_system.lua.html

And, here’s how to set up FastDL ( which can also be used on a local dev-server ): https://dl.dropboxusercontent.com/u/26074909/tutoring/server_srcds_steamcmd/fastdl_setup_instructions.lua.html – FastDL can be confusing to some and it is possible for the files to download to the wrong directory if anything is set up incorrectly ( which is why I included my recursive resource adder system; next version will contain “intelligent” adding of .gma files from the addons/ directory and will also have other features such as blacklisting addons [ for server only addons ] )…

Hope these other details help. Feel free to add me on Steam if any of you are looking to learn Lua, I’ve written over 500 tutorials and I have them on Dropbox until I get my site back up.

[editline]27th April 2015[/editline]

Git / svn are both viable options for managing addons whether they’re public or private. I’d recommend bitbucket.org because it is free and allows private git repos if you don’t want the contents to be publicly available.