halfd Advanced server management for Linux Half-Life dedicated servers. Installation process should be *much* easier, there's an install script now! *NOTE* There are two different logging standards, "new" and "old". 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 set "oldhack=1" in your configuration file. See halfd.cfg for details. 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://www.halfd..org INSTALLATION: Stop any halfd processes you may have running. You can leave hlds_run running, if it's being managed by a previous release of halfd. If this is your first time installing halfd, you MUST stop all hlds_run processes. Type "perl install" to install halfd. Follow the prompts. Any existing configuration files (halfd.cfg, halfd.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/halfd.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 halfd.cgi. See INSTALL-CGI for installation instructions. QUICKSTART: After installation as specified above, READ THE FAQ. It contains information you will need to review regarding security. Edit your halfd.cfg configuration file(s)! Run halfd with a "-g" argument specifying which game you wish to manage. (e.g. 'halfd &' manages a Half-Life server) (e.g. 'halfd -g tfc &' manages a TFC server) (e.g. 'halfd -g 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>/halfd.log file (type "less $HLDIR/cstrike/halfd.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 maelstrom@halfd.org or forums at www.halfd.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://www.halfd.org for latest versions and other information about the tool. KNOWN BUGS: None, if you find any please post to the halfd forums! 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 v1.70 Release Product renamed to 'halfd' Support VALVe's new logging standard Workaround Firearms' non-standard logging Add 'pingcheck' and associated options Add 'votestatus' command Add 'whattime' command Add 'console' option Add 'fun weapon' taunts Add more options to tune MOD-voting functionality Send version information to newly-connected clients Add 'bindip' option Add 'deletecust' option Fixed 'rotatetype' logic Fixed hlclustermon problems - servers would get mixed up if some were not responding. Big thanks to all that hung through the Alpha and Beta stages of 1.50. The new logging standard required an extensive re-write of much of the code! v2.00 Release Add functionality to communicate with HLBP so we can run on Win32. Note that HLBP (www.unitedadmins.com/hlbp) is currently in ALPHA. New config file options: votekwtime, votemaps, saycmd, saysleep, oldlogsdir, lowstatus, mypenalty, autovotetime, banlog, suicide.*, adminmod New commands: DECAYPLAYER, PING, PENALTY Allow for control from admin-mod via plugin_halfd. In-game commands (e.g. 'nextmap') can now be executed by GUI clients. Accept a second argument to support multiple servers in the same directory. Add %T to warning messages (shows next penalty). Fixed backtrace on server crash (linux only). Last N lines of log on a server crash will go to halfd.log (linux only). Added suicide taunts. Many small bugfixes. GUI changes: - hlgui: admin-mod commands (uli@spielviel.de) - hlgui: command-line history (felfert@to.com) - hlclustermon: average ping (uli@spielviel.de) - hlclustermon: command-line history (felfert@to.com) Add 'cs-chatbot' in unsupported/, an IRC bot by Uli :) v2.10 Release 10-15-2001 Changed command-line parameters. HLDIR no longer a requirement. Allow multiple args to admin_command penalties 'Last N lines on crash' bugfix HalfBot added - triggers commands on player chat Allow line breaks (%L) in all server-say messages Ping-check fixed - problem with excluded players Recognize dead player chat for CS 1.3 Add "maplistdisplay" Add "vote restart" option 'getmodel' fixed if HLTV is connected Add "teamcheck" to ban players trying to crash the server Decay for "attackcheck" fixed Add suicide penalties Changed name of halfd_client.cfg to hlgui.cfg Changed name of halfd_cluster.cfg to hlclustermon.cfg Many other bugfixes Some documentation updates