____________________________________________________________________________________________________ ________ ______ ___ __________ __ ___/______________ ________________ |/ /_______________(_)_ /______________ _____ \_ _ \_ ___/_ | / / _ \_ ___/_ /|_/ /_ __ \_ __ \_ /_ __/ __ \_ ___/ ____/ // __/ / __ |/ // __/ / _ / / / / /_/ / / / / / / /_ / /_/ / / /____/ \___//_/ _____/ \___//_/ /_/ /_/ \____//_/ /_//_/ \__/ \____//_/ ____________________________________________________________________________________________________ this is version 0.40 of the Sauerbraten-ServerMonitor-Client : for use with sauerbraten 2006-09-12 ____________________________________________________________________________________________________ Installation: ------------- This package contains various subfolders, you need at least a binary for your system architecture (bin_unix or bin_w32). The other folders contain scripts of one sort or another, read below for details on them. place the appropriate executable next to your regular client. for linux this means into the bin_unix subfolder of your sauerbraten installation, for Win32 into the bin subfolder. Win32: ------ In Windows you can use a simple BAT(ch) file to run the client and get the bare output shown in the system editor capable of handling newline-characters [WordPad MFC]. Adapt this to your liking. E.g. the paramters passed to adapt behaviour (see below). Stay tuned for the python GUI to be readied for your platform - you will need to install at least Python and wxPython for this. Details when the time is ripe. Linux: ------ There are now three scripts included for linux users to enjoy comfortable interfaces : - two shell scripts (use_servermonitor and say_servermonitor) you might want to move these to /usr/local/bin - be sure to adapt the settings to your needs! - and a Python GUI application (requires wxPython) It is still very much Work-in-Progress - so please be gentle ... This script was written by apflstrudl. Currently it requires you to place the python files into your sauerbraten base folder. Then run "python serverbrowser.py". The GUI is currently only in german, but translation capabilities are already prepared! "Datei/Aktualisieren" will run the ServerMonitor and output will appear in the window. ____________________________________________________________________________________________________ General paramters: ------------------ The client will run with default values unless you pass it parameters. In the following listing each parameter 'x' is described as: 'x': parameter name : [default] (range) Further descriptions of the paramters follow below the listing. 's': scanloops : [3] (1 - 512) 'w': wait4loop : [1] (0 - infinity) 'c': comparison : [0] (0 - 4) 'o': omit_update 'd': debug_output ____________________________________________________________________________________________________ some examples : -o -s3 -o -w0 -s9 -c3 -w3 -s23 -c4 ____________________________________________________________________________________________________ scanloops : "-sN" This sets the amount of times to loop over the refreshing routines, more loops will result in more information, especially for high-ping servers. ____________________________________________________________________________________________________ wait4loop : "-wN" This is the multiplication factor for waiting on the network. 0 is nearly no waiting at all, 1 the default setting, 2 twice as long and so on. Use this in conjunction with more monitor_loops if you don't get many results. If you have high ping to a lot of servers, for example because you live in Australia. Currently I have not set an upper limit to this, but I guess values greater than 10 are not really useful, since you'll wait for very long. So don't come whining to me if you set it to 999 and have to kill the application the hard way! ____________________________________________________________________________________________________ comparison : "-cN" The default sorting method (in-game) is by ping - this is true for the ServerMonitor too, although the ping values never get output - since the routines usually run too fast to make measurements meaningful and the values are usually grouped in blocks of "low, medium and high". But the higher up in the list an entry is shown, the lower the ping. You can always find out it's true ping value in the game, or by manually pinging it. The sort methods are : 0 - by ping [unprinted] 1 - by time-remaining 2 - by map 3 - by gamemode 4 - by number of players ____________________________________________________________________________________________________ omit_update: "-o" If this parameter is included the masterserver is not asked for an update. ____________________________________________________________________________________________________ debug_output: "-d" In case you have trouble you might find this useful. Please include such an output in case you contact me for help or when filing a bug-report. ____________________________________________________________________________________________________ Output: ------- The basic output is not very pretty - the idea is for the scripts to beautify it appropriately! Depending upon which sort-method you chose that value will be at the front of the line, values are seperated by a pipe "|". Some examples are in order. We'll kick of with a complete output, each ScanLoop is seperated by a title line from the rest. --- --- --- comparing "ping" (remember - the ping values are never printed!) called with "-o -w0 -s9 -c0" : ### ScanLoop #1. 0/10|10|defend_house|coopedit|85.176.196.17|bsd.homeunix.org 0/6|10|sewers|coopedit|85.25.52.187| Eddiorovs Server ### ScanLoop #2. 0/10|10|defend_house|coopedit|85.176.196.17|bsd.homeunix.org 0/6|10|sewers|coopedit|85.25.52.187| Eddiorovs Server 0/16|-1|[unknown]|ffa/default|72.9.109.90|Alpha Base 0/4|9|metl4|ffa/default|84.163.149.189| 0/8|1|metl4|ffa/default|65.28.100.153|Teddy 0/8|9|metl4|ffa/default|68.84.69.12|LukesServer 5/6|0|roughinery|ffa/default|69.204.116.144|c0rdawg's Server ### ScanLoop #3. 0/16|-1|[unknown]|ffa/default|72.9.109.90|Alpha Base 0/4|9|metl4|ffa/default|84.163.149.189| 0/10|10|defend_house|coopedit|85.176.196.17|bsd.homeunix.org 0/6|10|sewers|coopedit|85.25.52.187| Eddiorovs Server 0/8|1|metl4|ffa/default|65.28.100.153|Teddy 0/8|9|metl4|ffa/default|68.84.69.12|LukesServer 5/6|0|roughinery|ffa/default|69.204.116.144|c0rdawg's Server 0/6|-1|metl4|ffa/default|210.84.61.134|[tDG] Sauer --- --- --- For brevity we'll just print a single line for the following examples --- --- --- comparing by "num-o-players" : "-c4" 4/6|2|oasis|ffa/default|69.204.116.144|c0rdawg's Server --- --- --- comparing by "gamemode" : "-c3" coopedit|0/10|10|defend_house|85.176.196.17|bsd.homeunix.org --- --- --- comparing by "map" : "-c2" oasis|6/6|5|ffa/default|69.204.116.144|c0rdawg's Server --- --- --- and for the finale, we show the complete final ScanLoop for a run comparing by "time remaining" : "-c1" called with "-o -s9 -c1" : ### ScanLoop #9. -1|0/6|metl4|ffa/default|210.84.61.134|[tDG] Sauer -1|0/16|[unknown]|ffa/default|72.9.109.90|Alpha Base 7|5/6|shadowed|ffa/default|69.204.116.144|c0rdawg's Server 8|1/8|deathtek|ffa/default|68.84.69.12|LukesServer 9|0/4|metl4|ffa/default|84.163.149.189| 10|0/10|defend_house|coopedit|85.176.196.17|bsd.homeunix.org 10|0/6|sewers|coopedit|85.25.52.187| Eddiorovs Server ____________________________________________________________________________________________________ Enjoy! Thanks go to everybody who has, is or will contribute to Cube, Sauerbraten and Eisenstern; first and foremost Wouter "Aardappel" van Oortmerssen, for his vision and his willingness to share this fabulous engine in an OpenSource community. ____________________________________________________________________________________________________ Author contact : Server-Monitor : MeatROme python GUI app : apflstrudl 2006-09-18 ____________________________________________________________________________________________________