MAXScores

From Q4MAX

Contents

MAXScores 1.0.0 Documentation

General Information

(last change: 13.04.2006)

Author: Phillip "cmd" Engel, Hannes "panni" Tismer
Version: 1.0.0
Purpose: Live-Scores of a Quake4 match, announced in IRC
Contact: #fac.vae, #Q4MAX, hannes@tismer.com bashmd@gmail.com
Thanks to alba for providing the neat GUI styles (god of GFX)!


MAXScores is meant to simply provide readable and clear IRC-Output of a match which is being played on a Quake4 server.
Additionally it provides a wide range of settings and customizations to fit the user's needs.

It is based on a custom IRC-Bot interface and various implementations of techniques in the yet pretty famous script-programming-language "Python".

Currently X-Battle's and Q4MAX's Scorebot-styles are supported natively by MAXScores.

Different modes such as CTF, Team-DM, Duel are natively supported - FFA support isn't included, roundbased modes such as CA/CTFS are not supported atm.

THE FEEDSCOREBOT-CVAR HAS TO BE ENABLED ON THE CORRESPONDING QUAKE-SERVER (see your mod's documentation)

Features

- cross-platform usability (windows, linux/unix, ...)
- customizable IRC-output
- XBM/Q4MAX native support
- Quakenet auth support (bot can be authed with Q)
- Announce-interval customizable
- "No-Colorcodes"-option for IRC-channels with mode +c
- comfortable Windows-GUI
- configurable via Windows-GUI or config.ini
- modes natively supported: CTF, Team-DM, Duel
- different (error-) logging types settable
- commandline-support with core-parameters (e.g. server-query interval)
- clan-detection for announce-output
- bot's core functions controllable via IRC-Msg using a control-password
- overtime and suddendeath supported
- map-names aliasable via MapDef.cfg
- opensource :)

Used Tools

- Python 2.4 (www.python.org)
- wxPython (www.wxpython.org) a wx.Windows implementation in Python
- Twisted (http://twistedmatrix.com/trac/)
- Boa Constructor (http://boa-constructor.sourceforge.net/)
- PyInstaller (http://pyinstaller.hpcf.upr.edu/cgi-bin/trac.cgi)

License Information

All rights/licenses under GPL.

Configuration

THE FEEDSCOREBOT-CVAR HAS TO BE ENABLED ON THE CORRESPONDING QUAKE-SERVER (see your mod's documentation)

Base-config: "config.ini"

Information: If you are using Windows as operating system, feel free to utilize MAXScores_GUI.exe as a comprehensive configuration Interface. The Windows GUI may work using Linux, too, because wx.Widgets is used - please post experiences.

Section [CONFIGURATION]

Values

quakeserver = IP:Port
- Default: 127.0.0.1:28005
Sets the server-IP to connect to and to get match-infos from.

---------------

network = irc.ircserver.org
- Default: irc.de.quakenet.org
IRC-Server to connect to.

---------------

port = IRC-Port
- Default: 6667
The port of the IRC-Network defined in "network".

---------------

channel = #ircchannel
- Default: #fac.vae
IRC-Channel to join, on network.

---------------

channelpwd = none|password|{empty}
- Default: none
If the IRC-Channel is passworded, set to password. Else: leave empty or set to "none"

---------------

nickname = Nickname
- Default: MAXScores{RANDOMNUMBER}
The nickname for the bot to use.

---------------

authname = Authname
- Default: none
If the bot should use an auth (Quakenet only), set to the appropriate authname value. Else: leave empty or set to "none"

---------------

authpwd = Authpassword
- Default: none
If the bot should use an auth (Quakenet only), set to the appropriate authpassword value. Else: leave empty or set to "none"

---------------

logging = 0|1|2
- Default: 2
Logging-types:
0: Disabled
1: Normal (not too verbose)
2: Verbose (writes everything necessary into log file)

---------------

controlpwd = Controlpassword
- Default: samplepassword
Sets the control password for admins who want to control the bot's behaviour.

---------------

announceinterval = INTEGER
- Default: 15
Sets the IRC-announce delay of the bot. Anything else than 15 is NOT recommended!

---------------

colorcodes = True|False
- Default: True
Should the bot use IRC-Colours when announcing? (important for channels with mode +c)

---------------

announceplayers = True|False
- Default: True
Should the bot announce the current matchstatus' player stats while the match is running?

---------------

startannounce, statusannounce, playerannounce, endannounce = ANNOUNCE_TEMPLATES
- Defaults:
startannounce: �3�Match-START�� ($additional)
statusannounce: �$timestamp�: [$colorcode_strogg$clanstrogg�] (�$score_clanstrogg�) : (�$score_clanmarine�) [$colorcode_marine$clanmarine�]
playerannounce: $player (�$score_player�) [Ping: $ping_player]
endannounce: �4�Match-END:�� [$winnerteam] $endstatus [$loserteam] with (�$scorewinner�) : (�$scoreloser�).

Announce templates with placeholders for internal match-status variables. Change em to fit your needs!

Examples

quakeserver = 127.0.0.1:28005
network = irc.de.quakenet.org
port = 6667
channel = #fac.vae
channelpwd = none
nickname = MAXScores9911
authname = none
authpwd = none
logging = 2
controlpwd = samplepassword
announceinterval = 15
colorcodes = True
announceplayers = True
startannounce = �3�Match-START�� $additional
playerannounce = $player (�$score_player�) [Ping: $ping_player]
statusannounce = �$timestamp�: [$colorcode_strogg$clanstrogg�]
(�$score_clanstrogg�) : (�$score_clanmarine�) [$colorcode_marine$clanmarine�]
endannounce = �4�Match-END:�� [$winnerteam] $endstatus [$loserteam] with (�$scorewinner�) : (�$scoreloser�).

Usage / Installation

THE FEEDSCOREBOT-CVAR HAS TO BE ENABLED ON THE CORRESPONDING QUAKE-SERVER (see your mod's documentation)

Windows Binary Release

Start up "MAXScores_GUI.exe" and configure the bot to fit your needs. Click on "Launch Bot" to start the IRC-Bot.

Linux ELF Binary Release

Currently no ELF binary release included.

Source Release

Edit "config.ini" to fit your needs, be sure to have Python and Twisted (the necessary modules) installed, then launch up "MAXScores_Bot.py".

Commandline options

-p: log goes to stdout (windows versions only)
-m [q4m|xbm]: overrides internal mod-detection for custom mods (like e.g. GTR) - please report experiences with other mods than q4m/xbm - EXPERIMENTAL!
-i {NUMBER}: override internal server-polling interval (in seconds) - default: 1
-h / --help: view commandline options

IRC-Msg options

If you want to control the bot via IRC-Msg, be sure to always include the "controlpwd" set in "config.ini" after the command!

Msg-Commands:
/msg ScoreBot setadditional controlpwd additionalString:
- Sets the additional match-information string (e.g. for officials) to be shown at Match-START, on announce.

/msg ScoreBot clearadditional controlpwd:
- Clears the current additional match-information set by "setadditional".

/msg ScoreBot enable|disable controlpwd:
- Enables or disables announcing of match-stati.

/msg ScoreBot quit controlpwd:
- Kills the current bot-instance and makes the bot quit in IRC.

mapDef.txt options

MapDef.txt allows you to define custom names for Quake4-Maps (e.g. mp/q4dm1 -> THE FRAGGING YARD).


THE FEEDSCOREBOT-CVAR HAS TO BE ENABLED ON THE CORRESPONDING QUAKE-SERVER (see your mod's documentation)

Bugs

Currently known bugs using an appropriate configuration:
- (no guarantee for correct behaviour with announcedelay != 15)
- behaviour with custom mods / modes not completely tested
- duel statistics for XBM not working if a Team-DM previously loaded (XBM bug)


Bug-Reports go to panni, cmd (#fac.vae, #q4max, hannes@tismer.com, bashmd@gmail.com)

Upcoming

Planned changes/updates for upcoming versions:
- Live-HTML output
- Multi-Server/Channel announce support
- Q4->IRC-Color conversion

Changelog

Changes made: MAXStats 1.0.0: - initial release


Suggestions

Suggestions and tips are very appreciated and welcome. The easiest way to make suggestions for further releases available for the developers is to message panni or cmd on quakenet, #q4max, E-Mail them to hannes@tismer.com, bashmd@gmail.com or go to the forums.