SRCDS Steam group


Updating multiple servers
#1
Again I'm back to ask the people on this forum to share their wisdom. This site has been a great resource since I've started hosting our Community's servers but there is something I haven't figured out how to do yet. What is the most efficient way to update multiple servers? Update nights were fine when we had 1 or 2 TF2 servers but now that I manage 6 servers with more on the way, update night becomes a little more difficult.

At the moment I'm downloading the update 6 times, which is obviously a terrible idea. It seems to take forever if you run multiple updates at once and if the servers are still online the player experience lag, it is not ping lag so it must be the I/O slowing down the system.

I have tried to download it once, strip out the cfg folder, addon folder, and the other server specific files, then copy it into the directories but that seems to go very slowly and if the servers are still only causes severe lag also.

I'm just wondering what some of the people on these forums do on patch night.

I am running Linux (CentOS) on a Q6600 with 4gig's of RAM.

Any advice is greatly appreciated.
Reply
#2
I would set up a few cron jobs to update the servers on a regular basis but staggered. You could set up each server to update at a different 10 minute mark, or set it up where 2 servers update at a different 20 minute marks. This way you are always up to date no matter when valve pushes out an update. I have my TF2 set to update with a cron job (I have mine execute every 15min since I only have 1 TF2 server) and never have to worry about running the update manually. Like the patch they pushed last night, I didn't even have to lift a finger, it was taken care of for me.

If you stagger the jobs, you shouldn't run into an issue with I/O slowing the system down.
Reply
#3
I'm usually home during the updates and I have other's in the group who can look after it, but I will look into your suggestion.

At the moment I'm manually running updates on 6 servers and even when 1 is updating it lags the other five. For instance, it took me around 45 minutes to update all 6 servers last night. Is it possible to run the servers off of 1 installation but just have different server.cfg? Would that cause any problems?
Reply
#4
There is good solution!

Announcement:
http://list.valvesoftware.com/mailman/private/hlds_linux/2008-June/056691.html (requires registration)

Download:
http://www.nephyrin.net/tools/nemrun/latest-beta/

Nephyrin Zey Wrote:Hey guys,

I've written a srcds_run replacement script called 'nemrun' along with
a helper python script 'srcupdatecheck'. This script is meant to be a
no-nonsense srcds_run replacement with some advanced features:
- Able to handle -autoupdate, including on orangebox games and setups
with ./steam in an unusual place

- Able to update servers that share a install directory:
- First server to detect an update on restart (from
map-change-restart provided by -autoupdate, or due to a manual 'quit'
or other exit/crash) will 'lock' the directory with an update.lock
file
- Other servers (running in screens) are sent a 'quit' message
- Other servers see the first server is updating them and wait for
it to complete
- Script can be configured to retry a failed update x times over y seconds
- Other servers periodically make sure the server/runscript doing
the update hasn't crashed (and take over if so)
- Once update has been complete lock is removed and all servers
restart in unison

+ more

Keep in mind that Nephyrin Zey is master srcds guru. He's got really deep into the srcds stuff. He knows what he's doing. Apparently he's administrating a bunch of servers himself too.

I also recommend that you subscribe to the valve mailinglist, so you can keep up to the updates and know what other server admins are doing. See http://list.valvesoftware.com/ (the lists) and especially http://list.valvesoftware.com/mailman/private/hlds_linux/ (the archive). You can subscribe at http://list.valvesoftware.com/mailman/listinfo/hlds_linux .

PS. I'm running just one server, so I haven't used nemrun. Anyway, if I were to run more servers, I'd definitely use nemrun.
Reply
#5
Thanks for the help, I have been a member of all the list for many months now and see Neph helping out all the time. I haven't tried this script of his yet but it sounds like a good idea.
Reply
#6
Script should do it, wouldn't be too hard either.

Could be done in i.e Python with relative ease, simply obtain the updated files. Run a DIFF on some data then copy the DIFF data across the board.
Game Server Administration Services
Linux & Windows performance specialist.
http://www.viGeek.net
Reply
#7
Yes, with linux you can link directories/files without too much problems. I actually did that my 2nd TF2 server that I only bring up for special events or scrims. I made my 2nd TF2 server link the maps, models, materials, and sound folders of my main TF2 server. So even though I never ran the update on my 2nd server, the majority of the files are already updated as all the folders point to the server I do update regularly.

If you want all the servers to be identical, then there is no reason why you couldn't do it on every folder/file except for the cfg folder. I also avoid the addons folder just because I sometimes have the mods a bit different from server to server.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)