
Starting with MWLL 0.5.2, utility functions for server-admins are included: 
 * a ban sytem
 * a high-ping kick function 
 * a simple server message system

 == Server Message / MOTD ==

This regularly sends a message (up to 5 lines) to all clients, which is loaded from a file servermessage.txt (either in the mwll dir or the config root dir if set).

variable: sv_servermessage_delay
type: float
current: 300
help: Delay in seconds until the server message is shown again. Default 300, min 60, 3600.

variable: sv_servermessage_enabled
type: int
current: 0
help: Wether the regular server message is enabled. 1 is enabled, 0 (default) is disabled.

variable: sv_servermessage_lineDelay
type: float
current: 10
help: Delay in seconds between the server message lines. Default 10, min 5, max is min(300,  sv_servermessage_delay).

Command: sv_servermessage_reload RESTRICTEDMODE
help: Reload the server message from disk


 == Ban System ==

This implements a ban list, controlled via console commands. You can ban connected players via name, partial name & gamespy id. Non-connected players can be banned via their gamespy id. The ban list is loaded from and saved to a file banlist.xml (either in the mwll dir or the config root dir if set).

To figure out the gamespy id for a player that is not connected, consult your Server.log for a line like:

    client entered game: gamespyid="gameSpySometimesWorks", name="Mechatronic", isBanned=no

Examples of banning a player with name "Mechatronic" and gamespy id "Foobar1953":

    sv_ban_banPlayer Mechatronic
    sv_ban_banPlayer Mecha
    sv_ban_banPlayer Foobar1953
    sv_ban_banGamespyId Foobar1953


Command: sv_ban_banPlayer RESTRICTEDMODE
help: sv_ban_banPlayer nameOrGamespyid [reason] - Ban connected player by gamespy id, name or name substring
Escape mapping: \_ = space, \4 = $$, \+ = =, \\ = \

Command: sv_ban_banGamespyId RESTRICTEDMODE
help: sv_ban_banGamespyId gamespyid [reason] - Ban by gamespy id
Escape mapping: \_ = space, \4 = $$, \+ = =, \\ = \

Command: sv_ban_unbanPlayer RESTRICTEDMODE
help: sv_ban_unbanPlayer nameOrGamespyid - Unban player by gamespy id or name
Escape mapping: \_ = space, \4 = $$, \+ = =, \\ = \

Command: sv_ban_banStatus RESTRICTEDMODE
help: sv_ban_banStatus [nameOrGamespyid] - Ban status for all or a subset of players by name/gamespyid/name substring
Escape mapping: \_ = space, \4 = $$, \+ = =, \\ = \

Command: sv_ban_listPlayers RESTRICTEDMODE
help: List name and gamespy id of currently connected players.


 == High ping kick / anti-lag ==

Takes ping-samples from every connected user in specified intervals and kicks them when the average ping over the specified sample count is greater than the ping limit.

variable: sv_antilag_enabled
type: int
current: 0
help: If antilag system is enabled. 1 is enabled, 0 (default) is disabled

variable: sv_antilag_pingLimit
type: float
current: 250
help: Maximum average ping before getting kicked

variable: sv_antilag_sampleCount
type: int
current: 15
help: Amount of samples to use for average ping

variable: sv_antilag_sampleInterval
type: float
current: 5
help: Interval (seconds) for taking ping samples

variable: sv_antilag_warnTime
type: float
current: 20
help: Time after warning until client is kicked.
