There've been a few tweaks, if anyone is even actually using this :-P newest version http://www.nephyrin.net/tools/nemrun/latest-beta/
On Thu, Jun 5, 2008 at 8:49 PM, 1nsane . <[EMAIL PROTECTED]> wrote: > Very nice Neph! I would most definitely use it...If I wasn't running > Windoze. > > On Thu, Jun 5, 2008 at 7:48 PM, Nephyrin Zey <[EMAIL PROTECTED]> wrote: > >> I should also mention, I'm going to be releasing a plugin soon that >> lets you set a cvar to make -autoupdate exit the game immediately >> instead of at map change. >> >> - Neph >> >> On Thu, Jun 5, 2008 at 4:44 PM, Nephyrin Zey <[EMAIL PROTECTED]> >> 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 >> > >> > - Logs restart/update events into a separate reboot.log file, which >> > can be be named statically or given dated names (such as >> > rebootlogs/reboot_YYYYMMDDHHmmSS.log) >> > >> > - Core files can be turned on and named dynamically (again with the >> > option of including YYYY/MM/DD/etc datestamps and folder prefixes) >> > >> > - the '$GAME/downloads' folder can be optionally 'cleaned' upon >> > reboot, by deleting orphans (files without associated .ztmp or vice >> > versa) as well as all files over X days old. >> > >> > - (minor) $GAME/addons/bin is added to the bin search path, so you can >> > make that folder and put binaries (dll's/so's) for addons/extensions >> > in there instead of polluting the bin (or orangebox/bin) folder. >> > >> > == >> > Because this script must be able to check for updates without actually >> > performing the updates (because it might need to kill other servers >> > running on the same install path) I have included my 'srcupdatecheck' >> > script. This script, which requires Python 2.3+ be installed (it will >> > be on most server systems), takes a steam.inf file as input >> > (./srcupdatecheck path/to/steam.inf) and sends a packet to the master >> > server to see if it is up to date. It is a rather crude method, but >> > proves very reliable and quick (can provide an update yes/no in 3 >> > seconds as opposed to waiting 30+ for the hldsupdatetool, which also >> > would go ahead and perform an update without prompting) >> > >> > === >> > >> > REQUIREMENTS: >> > - bash (other modern shells probably work, but much of the syntax wont >> > work with a standard 'sh' shell. #!/bin/bash is specified in the >> > header, so when you run the script from any shell it will >> > automatically be put in its own bash sub-instance) >> > - Python 2.3-2.5 (others not tested) with standard (regex/socket/etc) >> > libraries for srcdsupdatecheck (srcdsupdatecheck required if using >> > -autoupdate) >> > - A willingness to report bugs to me (this is beta) >> > >> > You MUST do ./nemrun --help and read the instructions - it uses >> > several command line parameters not used in srcds_run. >> > >> > Latest Beta available here: (you need: nemrun, srcupdatecheck) >> > http://www.nephyrin.net/tools/nemrun/latest-beta/ >> > >> > === >> > >> > INSTRUCTIONS >> > 1. Get nemrun and srcupdatecheck from >> > http://www.nephyrin.net/tools/nemrun/latest-beta/ >> > 2. "chmod +x nemrun srcupdatecheck" >> > 3. "./nemrun --help" >> > >> > Example launch screen (taken from my test server): >> > >> > screen -d -m -U -S testing ./nemrun -nemlog >> > "runlogs/Testing_%Y%m%d%H%M%S.log" \ >> > -cleandownloads 10 -autoupdate -steamdir ../.. -srvdir tfbase \ >> > -updatetries 3 -updatedelay 15 -sharedscreens proving,stomping \ >> > -corefile "cores/Testing_%Y%m%d%H%M%S.core" \ >> > \ >> > -game tf +exec testing.cfg -ip 75.125.209.5 -port 27015 \ >> > +maxplayers 32 +map pl_goldrush +servercfgfile testing.cfg \ >> > +mapcyclefile map_testing.txt +motdfile testingmotd.txt \ >> > +sv_logsdir logs_testing +log on \ >> > +fps_max 128 >> > >> > THINGS TO NOTE: >> > - Note the 'required' command switches when using, say, -autoupdate. >> > It wont work without -srvdir / -steamdir set. The script will warn you >> > when you set things wrong >> > - Both -nemrun and -corefile take 'date' style date strings in >> > addition to regular strings. Type "man date" for more information and >> > see my example command. >> > - 'steamdir' is the path to steam from the server directory or an >> absolute path. >> > - 'srvdir' is the path to the ROOT of the server (if you have >> > /path/server/orangebox/tf, the srvdir is '/path/server') FROM the >> > steam dir. Both of these can be absolute paths if you want to be safe. >> > - 'sharedscreens' is a comma delimited list of other 'screens' (as >> > named by "screen -S name") running servers ON THIS SAME INSTALL PATH >> > that are USING THIS SAME RUNSCRIPT. You MUST specify these if you want >> > updates to work IF you're running multiple servers from the same >> > install path, so it knows to kill them before trying to update the >> > shared directory. Feel free to message me if this is confusing. For >> > instance, if you run servers in screens named "a" "b" and "sam", then >> > the server in screen "a" should have "-sharedscreens b,sam" (assuming >> > they're all running out of myservers/serverblah/) >> > - Servers in SEPARATE directories/installs should NOT use >> > -sharedscreens, as they wont be affected if another server is updating >> > its own independant directory. >> > >> > == >> > CONTACT ME >> > with bugs or suggestions or questions or whatever. You may respond to >> > this thread, or IM me at: >> > Nephyrin (Skype/AIM) >> > [EMAIL PROTECTED] (MSN/XMPP(Jabber)) >> > [EMAIL PROTECTED] (GTalk/XMPP(Jabber)) >> > >> > I'm on nearly 24/7 >> > >> > Remember this is *BETA* quality, I've been using it on my 32x servers >> > for some days, but that doesn't guarantee it wont break stuff ;-P >> > >> > - Neph >> > >> >> _______________________________________________ >> To unsubscribe, edit your list preferences, or view the list archives, >> please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlds_linux >> > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, please > visit: > http://list.valvesoftware.com/mailman/listinfo/hlds_linux > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlds_linux