hlds_ld Advanced server management for Linux Half-Life dedicated servers. *NOTE* For users upgrading from 1.09b4 or below, the configuration file has changed considerably. Make sure you copy the new hlds_ld.cfg into your $HLDIR/<mod> directory. *NOTE* Installation process should be *much* easier, there's an install script now! *NOTE* This is the last release that will support the "old" logging that halflife servers used. For information on the "new" logging, go here: http://www.hlstats.org/logs If your mod doesn't support the "new" standard then you'll need to run this release 1.40. Sections PREREQUISITES INSTALLATION QUICKSTART NOTES KNOWN BUGS CHANGE LOG PREREQUISITES You must have Extended Tcl/Tk installed on your system. The GUI has been tested with Tcl/Tk v7.6 and v.8.0. The install script will check for a valid Tcl installation. If you don't have Tcl/Tk, download them and Extended Tcl for your distribution. I use RedHat; see the link below for the RPMS you need. If anyone cares to send me pointers to packages for other distributions, I would be happy to add them. If you wish to build it all from scratch, obtain the following sources: Tcl 8.0.4 available from http://www.scriptics.com Tk 8.0.4 available from http://www.scriptics.com TclX 8.0.4 available from http://www.neosoft.com/TclX I have mirrored the files (RPMs and source tress) you need on my site: http://linuxhlds.halflife.org INSTALLATION: Stop any hlds_ld processes you may have running. You can leave hlds_run running, if it's being managed by a previous release of hlds_ld. If this is your first time installing hlds_ld, you MUST stop all hlds_run processes. Type "perl install" to install hlds_ld. Follow the prompts. Any existing configuration files (hlds_ld.cfg, hlds_ld_client.cfg, etc) will be backed up during the install process. AFTER INSTALLATION, EDIT THE CONFIGURATION FILE(s) TO REFLECT YOUR CONFIGURATION! If you prefer French messages, you'll need to copy francais/hlds_ld.txt to $HLDIR. Thanks to Guillaume Rousse for the French translation! The install script will also tell you a line that you need to add to your /etc/profile file. Do what it says :-) If you want real-time status updates for your server from a web page, you'll want to install hlds_ld_cgi. Visit http://linuxhlds.halflife.org/download.shtml for details on installing the CGI script. QUICKSTART: After installation as specified above, READ THE FAQ. It contains information you will need to review regarding security. Edit your hlds_ld.cfg configuration file(s)! Run hlds_ld with an argument specifying which game you wish to manage. (e.g. 'hlds_ld &' manages a Half-Life server) (e.g. 'hlds_ld tfc &' manages a TFC server) (e.g. 'hlds_ld cstrike &' manages a Counter-Strike server) You now have a daemon running in the background managing your hlds_l server. Now you can use the GUI to monitor/control your server. Check the $HLDIR/<mod>/hlds_ld.log file (type "less $HLDIR/cstrike/hlds_ld.log") for any errors that may have occurred during startup. Run the GUI from X-Windows (e.g. 'hlgui &') You'll need to examine the Options menu to make sure you have everythng set up correctly. The Windows client distribution contains it's own installation instructions. Please read these if you plan to run the Windows client. NOTES: Comments, bug reports, etc. to linuxhlds@halflife.org If a server crashes and produces a core file, a stack backtrace and log file will be copied to the crashes/ directory under HLDIR. See the 'About' boxes for more information on the GUI. See http://linuxhlds.halflife.org for latest versions and other information about the tool. KNOWN BUGS: The GUIs are not automatically resizable. You can change the size via the Options menu, however. I could use a little assistance here; I haven't figured out gridding yet ;-) CHANGES v0.1 First release of hlds_l_admin v0.2 Added AMVS; some performance cleanup v0.23 AMVS cleanup SZ_GetSpace recovery fixed added nslookup button (sometimes I'm nosy ;-) v0.24 AMVS re-written, now uses timed events and kicks off at the *end* of a map timer SZ_GetSpace recovery fixed once-and-for-all v0.25 Voting now working on some servers that log only one line for the 'say' command Core files are now actually processed correctly "Next Map" information broadcasted to clients Added 'hlcmd' script v0.26 Voting system fixed for server release 3.0.1.4 Kick users by UID rather than name hlcmd 'start' now works non-interactively hlcmd interactive mode cleanup v0.27 Fixed support for MODs (Counterstrike now works!) Added ban functionality to kick - thanks for the idea / code Colin Corbett! Added support for TFstats Moved FIFOs to /tmp -- some users run their servers on vfat partitions (ugh!) v1.02b First beta release of hlds_ld Now uses a client/server model Added a countdown timer for maps Stops and restarts a hung server Fixes to make voting work under cstrike - fix is hard-coded now, will be generic/configurable after beta Made TFstats support generic; you can now run *any* stat tool after each map v1.03b Second beta release of hlds_ld Added hlclustermon client Added 'chat' mode for hlgui Filter sv_password to clients authorized as 'user' Use asynchronous socket connections for clients, with the exception of hlclustermon on windows Updates to FAQ v1.04b Another beta release of hlds_ld Removed asynchronous connections for all Windows clients Make name tags configurable for future mods v1.05b Final(?) beta Fixed another problem in hlgui with wonid enabled v1.06b Final beta, really :) Fixed an issue with the countdown timer not resetting on some conditions v1.07 GA! Fixes to README and FAQ Minor fix to hlds_ld-config v1.08 Fixed problems in hlds_ld-config where changing more than one mod in a session would cause parameters to step on each other. Thanks Andrew Pavlis for finding this. Moved FIFOs back to $HLDIR/mod so that multiple instances of the same mod can be run on one box. Added ZAP functionality. See the FAQ for more info. Moved all text for hlds_ld and hlds_ld-config to external .txt files in order to make non-English translations easier. The GUIs will be moved later. Added 'timeleft' command that users can execute. It will only respond once per minute to prevent spamming. v1.09 Beta release for 3.1.0.0 patch Added CYCLE command Added 'maplist' command for users Works with 3.1.0.0 patch Performance improvements (yay!) Colorized hlgui v1.10 Release for 3.1.0.1/2 patch Works with 3.1.0.1/2 patch Added 'nextmap' command for users Dropped support for hlds_ld-config and created an editable configuration file. Added 'autorotate' option for hlds_ld.log file Added macros to hlgui Added refresh button to hlclustermon v1.11b BETA release Added foul-language kick/ban Added client 'size <mapname>' command v1.20b BETA release Added TK kick/ban v1.20 Release Many bugfixes for kick/ban Highlight and filter ADMIN-MOD messages 'fortune' feature 'votefreq' feature Don't broadcast 'maplist' patterns v1.21 Release TK-forgive bugfix hlgui ban bugfix v1.22 Release Install script! TK-kick/ban bugfix v1.23 Release TK works for TFC. Decay logic continues to run on stop/start of server. v1.26b BETA Release hlgui now resizeable! (Thanks Rich Pennington) Dynamic IP address determination Handle 3.0.1.4 no-ip-from-status problem Limit number of active connections Tcl debugging option v1.27b BETA Release "maxconns" option was broken v1.28b BETA Release Find and report on player models (Alec Shaner) Models column added to hlgui v1.29b BETA Release Sentry-gun teamkill check added (Thanks congiman for testing!!) Fix 'unknown' IP-address problem Add 'getteam' - team parsing and reporting Ignore comments and directives in mapcycle.txt Added check for password-protected servers Added exclude list for TK and foul-language checks Significant cleanup of logfile-processing logic Optional team column added to hlgui v1.30 Release Clean up beta code and call it production :-) v1.31 Release Close security hole related to players with ";" in their names Support for Firearms Support for FLF team-determination Added 'fortunepath' option v1.40 Release Fix a problem with name-matching code that caused REGEXP errors Add FOULON/FOULOFF commands Add 'foulprefix' option Use military time for logging rather than AM/PM Add 'adminlog' option Add support for bots (only tested with HPB bot) Add support DoD team determination Add 'voteignoretag' option (for bots) Add 'novotemaps' and 'maxextend' options to limit voting Add 'rotatetype' option Add 'vehiclehack' option to work around CS vehicle-tk bug Add weapon-limit options