User Tools

Site Tools


melanobot:modules:xonotic

Xonotic Module

This module allows to integrate Melanobot with Xonotic. (Enabled by default)

Log Type

  • xon – Logs Xonotic events.

Connection

Engine Connection Settings

  • protocol xonotic (REQUIRED)
  • server – Container for the server settings, can optionally have a value in the form host:port instead of the structured fields (REQUIRED)
    • host – Host name/address for the IRC server
    • port 26000 – Port number
  • rcon_secure 0 – Remote console security protocol, must match the same setting in the server (Note: 2 is not completely reliable)
  • rcon_password – Remote console password, must match the same setting in the server (REQUIRED)
  • datagram_size 1400 – Maximum size of Rcon datagrams.

Message Settings

  • say say %prefix – Command used to send raw messages to the Xonotic server.
  • say_as say "%prefix%from^7: %message" – Command used to send chat message coming from a user.
  • say_action say "^4* ^3%prefix%from^3 %message" – Command user to send a user action.

The values of these settings support the following expansions:

  • %prefix – Message prefix
  • %message – Message contents
  • %from – Name of the user triggering the message

The default values of these options are likely not optimal, say can have the following special value which select different presets for the say options:

  • sv_adminnick – Intended to be used with unmodded Xonotic server, changes sv_adminnick temporarily to the name of the user sending the chat message. This generates multiple commands and as such it doesn't work well with rcon_secure 2
  • modpack – Intended to be used with the SMB Xonotic Modpack, gives the best results.

Other Settings

  • status_delay 60 – Delay (in seconds) between polling calls to status to update the server status information
  • string_format xonoticString encoding

Logging Message

These handlers log events happening on the Xonotic server.

ConnectionEvents

Inherits Handler.

Shows a message when the connection to the Xonotic server is lost or gained.

XonoticJoinPart

Inherits Handler.

Shows a message on player join/part

  • join #2#+ join#-#: %name #1#%map#-# [#1#%players#-#/#1#%max#-#]Formatted Message
  • part #1#- part#-#: %name #1#%map#-# [#1#%players#-#/#1#%max#-#]Formatted Message
  • bots 0 – Whether to show bot join/parts

XonoticMatchStart

Inherits Handler.

Shows a message at match start

  • message Playing #dark_cyan#%gametype#-# on #1#%map#-# (%free free slots); join now: #-b#xonotic +connect %sv_serverFormatted Message
  • empty 0 – Whether to show the message on an empty server

ParseEventlog

Inherits Handler.

Base handler for handlers parsing the Xonotic eventlog

ShowVoteCall

Inherits ParseEventlog.

Shows a message on :vote:vcall

  • message #4#*#-# %name#-# calls a vote for %voteFormatted Message with the extra expansion %vote (the called vote)

ShowVoteResult

Inherits ParseEventlog.

Shows a message on :vote:v(yes|no|timeout)

Messages have the following extra expansions:

  • %resultyes, no or timeout
  • %yes – Number of "yes" votes
  • %no – Number of "no" votes
  • %abstain – Number of abstained players
  • %novote – Number of players who didn't vote at all
  • %abstain_total%abstain + %novote
  • %min – Minimum number of votes requires to pass
  • %message_result – One of message_yes, message_no or message_timeout
  • %message_abstain – Equal to message_abstain (the property) if %abstain_total is greater than 0, empty string otherwise
  • %message_min – Equal to message_min (the property) if %min is greater than 0, empty string otherwise

ShowVoteStop

Inherits ParseEventlog.

Shows a message on :vote:vstop

ShowVoteLogin

Inherits ParseEventlog.

Shows a message on :vote:vlogin

ShowVoteDo

Inherits ParseEventlog.

Shows a message on :vote:vdo

  • message #4#*#-# %name#-# used their master status to do %voteFormatted Message with the extra expansion %vote (the called vote)

ShowVotes

Inherits PresetGroup.

Group with all the vote options.

XonoticMatchScore

Inherits ParseEventlog.

Shows a score table at the end of the match

  • message #dark_cyan#%gametype#-# on #1#%map#-# endedFormatted Message to show before the scores
  • empty 0 – Whether to show the scores even if there are no players connected (but there might be bots)
  • show_spectators 1 – Whether to include spectators in the score table

XonoticHostError

Inherits ParseEventlog.

Notifies administrators (via private messages) about a server crash.

  • message #1##-b#SERVER ERROR#-# %connection (#-b#%sv_server#-#) on #1#%map#-#: %messageFormatted Message with the extra expansion %message (the error message)
  • notify (REQUIRED) – User group to be notified on the error.

XonoticUpdateBans

Inherits ParseEventlog.

Doesn't show any message but keeps track of bans in the Xonotic server.

Server Administration Handlers

These handlers send commands to the server

RconCommand

Inherits SimpleAction.

Sends a fixed command to the Xonotic server.

  • command (REQUIRED) – Command to be executed
  • arguments 1 – Whether extra arguments will be deduced from the message used to trigger the handler.

As a shorthand, the configuration

RconCommand endmatch

is equivalent to

RconCommand {
    command endmatch
}

XonoticVCall

Inherits SimpleAction.

Calls a vote on the Xonotic server (sv_adminnick is changed temporarily to show messages as the user who triggered the vote).

  • nick %nameFormatted string to use as the caller nick. The following expansions are provided:
    • %name – User name
    • %global_id – User logged-in name
    • %channel – Channel the message came from

XonoticVStop

Inherits SimpleAction.

Analogous to XonoticVCall, but for stopping votes.

Status Handlers

These handlers are called explicitly and show the status of the Xonotic server.

ListPlayers

Inherits ConnectionMonitor.

Prints a list of connected players in a single line.

  • trigger who
  • bots 0 – Whether to include bots
  • reply #1#%players#-#/#1#%max#-#: Formatted message to be shown before the list of players
  • reply_empty #1#%players#-#/#1#%max#-#: Formatted message shown when the server is empty

XonoticStatus

Inherits ConnectionMonitor.

Prints a table with server status information. For each player shows: IP address, packet loss, ping time, score, entity number, and name. After the list of players, it shows an overview of the current match.

XonoticMaps

Inherits ConnectionMonitor.

Prints a list of maps available in the Xonotic server.

  • max_print 6 – Maximum number of match to be printed. If the query exceeds this many matches, only the number of matching maps is shown.
  • regex 0 – Whether queries are to be searched as regular expressions rather than substrings of the map name

XonoticBan

Inherits ConnectionMonitor.

Manages Xonotic bans. Although it can function on its own, it's easier to use when XonoticUpdateBans is also enabled for the Xonotic connection.

XonoticKick

Inherits ConnectionMonitor.

Kicks a player.

Formatted Message

Formatted message options are formatted strings supporting these expansions: (note that not all of them have meaningful values at all times)

  • %players – Number of players/spectators in the server
  • %bots – Number of bots in the server
  • %totalplayers + bots
  • %max – Maximum number of clients which can connect to the server
  • %freemax - players
  • %map – Current map name
  • %gt – Short gametype name (eg: tdm)
  • %gametype – Long gametype name (eg: Team Deathmatch)
  • %mutators – String representing active mutators
  • %sv_host – Server name as visible in the server list
  • %sv_server – Server address and port

Messages regarding a player also have these expansions:

  • %name – Player name
  • %ip – Player IP address and port
  • %entity – Edict number
melanobot/modules/xonotic.txt · Last modified: 2015/06/20 20:09 by melanosuchus