<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Baufo</id>
	<title>The Battle for Wesnoth Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Baufo"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Baufo"/>
	<updated>2026-04-25T06:29:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=28660</id>
		<title>ServerAdministration</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=28660"/>
		<updated>2009-03-14T22:08:41Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* Available commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Wesnoth server, wesnothd provides a simple interface for administering the server from within the game itself.&lt;br /&gt;
&lt;br /&gt;
To issue an administrative command to the server, you must be connected to the server using Wesnoth, and in the lobby. Any text you type into the chat box that begins with '/query ' will be considered an administrative command instead of a normal chat message. It will not be relayed to other users, but instead treated as a command by the server.&lt;br /&gt;
&lt;br /&gt;
Most commands are not accessible to normal users. They are only accessible once you have authenticated yourself to the server as an administrator. The way to authenticate yourself as an administrator is to use the command,&lt;br /&gt;
&lt;br /&gt;
'''/query &amp;lt;password&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;password&amp;gt; is the administrative password to the server. The administrative password is specified as the passwd attribute in wesnothd.cfg. By convention, it will generally start with 'admin ' followed by the actual password, so the usual syntax to authenticate yourself is,&lt;br /&gt;
&lt;br /&gt;
'''/query admin &amp;lt;passwd&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Naturally the password for a server should be kept a secret. One danger is that if you forget to type '/query ' at the start of a command you may accidentally type the password in a chat message, and let all users on the server know it. If you do this, then notify an administrator who has access to the box as soon as possible, so they can reset the password in wesnothd.cfg. We may provide features to prevent this kind of accident in future versions.&lt;br /&gt;
&lt;br /&gt;
A message from the server should tell you that you have successfully authenticated yourself as an administrator. The server will recognize you as an administrator until the next time you log out of the server.&lt;br /&gt;
&lt;br /&gt;
== Available commands ==&lt;br /&gt;
&lt;br /&gt;
'''/query games''': shows how many games have ended in various ways. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query metrics''': shows a simple metrics report of how the server has been performing. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query netstats''': shows some network stats. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query stats''': shows the current number of users and games. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query wml''': shows stats about WML documents and their current memory consumption. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query status [&amp;lt;nickmask&amp;gt;]''': this command will show you a list of users (matching the nickmask) connected to the server, with IP addresses, and how long they have been connected. Note that IP addresses of users are not available to non-administrators, and should be treated as confidential. When used as a non-administrator it just returns the entry of the user.&lt;br /&gt;
&lt;br /&gt;
'''/query motd [&amp;lt;message&amp;gt;]''': this command sets the message of the day that appears as the first message users get when they log on to the server. You can prefix the message with color formatting as described in [[InterfaceActionsWML#.5Bmessage.5D]]. Without argument it returns the current motd. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query msg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users on the server, even if they are in a game. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from. You can prefix the message with color formatting as described in [[InterfaceActionsWML#.5Bmessage.5D]].&lt;br /&gt;
&lt;br /&gt;
'''/query lobbymsg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users in the lobby of the server. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from. You can prefix the message with color formatting as described in [[InterfaceActionsWML#.5Bmessage.5D]].&lt;br /&gt;
&lt;br /&gt;
'''/green &amp;lt;message&amp;gt;''': this command executes the lobbysmg command with green font (alias for '/query lobbymsg @&amp;lt;message&amp;gt;').&lt;br /&gt;
&lt;br /&gt;
'''/red &amp;lt;message&amp;gt;''': this command executes the lobbysmg command with red font (alias for '/query lobbymsg #&amp;lt;message&amp;gt;').&lt;br /&gt;
&lt;br /&gt;
'''/yellow &amp;lt;message&amp;gt;''': this command executes the lobbysmg command with yellow font (alias for '/query lobbymsg &amp;lt;255,255,0&amp;gt;&amp;lt;message&amp;gt;').&lt;br /&gt;
&lt;br /&gt;
'''/query kick &amp;lt;mask&amp;gt; [&amp;lt;reason&amp;gt;]''': this command will disconnect the user matching the given nick or ip mask from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query ban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make the server refuse connections from users matching the given ip mask or the ips of users matching the nick mask. Existing bans (and their reason!) will be overwritten so you can change the reason for a ban by adding it again.&lt;br /&gt;
&lt;br /&gt;
'''/query gban &amp;lt;mask&amp;gt; &amp;lt;group&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make a ban that belongs to a group. They function just like ordinary bans but only the group name is mentioned in the ban listing.&lt;br /&gt;
&lt;br /&gt;
'''/query bans''': shows a list of currently banned ip masks and the reasons for the bans.&lt;br /&gt;
&lt;br /&gt;
'''/query kban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command is equivalent to 'kick &amp;lt;mask&amp;gt;' 'ban &amp;lt;mask&amp;gt; [&amp;lt;time] &amp;lt;reason&amp;gt;' -- i.e. bans the users matching the ip mask or the ips of users matching the nick mask and disconnects them all in one go. The most common way to ban someone from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query unban &amp;lt;ipmask&amp;gt;''': this command removes the specified ip mask from the ban list.&lt;br /&gt;
&lt;br /&gt;
'''/query ungban &amp;lt;group&amp;gt;''': this command removes all bans in the group.&lt;br /&gt;
&lt;br /&gt;
'''/query searchlog &amp;lt;mask&amp;gt;''': this returns the IP a nick matching the mask has used or the nicks that used a matching IP. Unlike status this searches the IP log.&lt;br /&gt;
&lt;br /&gt;
'''/query deny_unregistered_login [&amp;lt;yes/no&amp;gt;]''': If set to yes the server will refuse to let unregistered users log in. Without an argument the current setting is displayed. There is an alias 'dul' for convenience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ip masks are masks that contain at least one '.'.&lt;br /&gt;
&lt;br /&gt;
The time parameter is used to set the time when a ban expires. A simple example is 2D12h which means after 2 days and 12 hours the ban gets removed. Modifiers are: s=seconds, m=minutes, h=hours, D=days, M=months and Y=years (short times with lowercase and long times with uppercase). We can also set shortcuts like LONG, MEDIUM and SHORT for common ban lengths but none is set yet.&lt;br /&gt;
&lt;br /&gt;
== Future extensions ==&lt;br /&gt;
&lt;br /&gt;
The current administrative interface is fairly primitive. We plan to provide some further extensions in the future, such as,&lt;br /&gt;
&lt;br /&gt;
'''/query mute &amp;lt;nick&amp;gt;''': makes it so that any messages sent by the user with the given nick will not be received by any other user on the server unless they share an IP address with 'nick'. Any games created by 'nick' will likewise not be seen by other users. 'nick' may observe games but will not appear in the observer list, and players of the game will not see any messages they type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=28659</id>
		<title>ServerAdministration</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=28659"/>
		<updated>2009-03-14T22:05:20Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* Available commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Wesnoth server, wesnothd provides a simple interface for administering the server from within the game itself.&lt;br /&gt;
&lt;br /&gt;
To issue an administrative command to the server, you must be connected to the server using Wesnoth, and in the lobby. Any text you type into the chat box that begins with '/query ' will be considered an administrative command instead of a normal chat message. It will not be relayed to other users, but instead treated as a command by the server.&lt;br /&gt;
&lt;br /&gt;
Most commands are not accessible to normal users. They are only accessible once you have authenticated yourself to the server as an administrator. The way to authenticate yourself as an administrator is to use the command,&lt;br /&gt;
&lt;br /&gt;
'''/query &amp;lt;password&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;password&amp;gt; is the administrative password to the server. The administrative password is specified as the passwd attribute in wesnothd.cfg. By convention, it will generally start with 'admin ' followed by the actual password, so the usual syntax to authenticate yourself is,&lt;br /&gt;
&lt;br /&gt;
'''/query admin &amp;lt;passwd&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Naturally the password for a server should be kept a secret. One danger is that if you forget to type '/query ' at the start of a command you may accidentally type the password in a chat message, and let all users on the server know it. If you do this, then notify an administrator who has access to the box as soon as possible, so they can reset the password in wesnothd.cfg. We may provide features to prevent this kind of accident in future versions.&lt;br /&gt;
&lt;br /&gt;
A message from the server should tell you that you have successfully authenticated yourself as an administrator. The server will recognize you as an administrator until the next time you log out of the server.&lt;br /&gt;
&lt;br /&gt;
== Available commands ==&lt;br /&gt;
&lt;br /&gt;
'''/query games''': shows how many games have ended in various ways. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query metrics''': shows a simple metrics report of how the server has been performing. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query netstats''': shows some network stats. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query stats''': shows the current number of users and games. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query wml''': shows stats about WML documents and their current memory consumption. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query status [&amp;lt;nickmask&amp;gt;]''': this command will show you a list of users (matching the nickmask) connected to the server, with IP addresses, and how long they have been connected. Note that IP addresses of users are not available to non-administrators, and should be treated as confidential. When used as a non-administrator it just returns the entry of the user.&lt;br /&gt;
&lt;br /&gt;
'''/query motd [&amp;lt;message&amp;gt;]''': this command sets the message of the day that appears as the first message users get when they log on to the server. You can prefix the message with color formatting as described in [[InterfaceActionsWML#.5Bmessage.5D]]. Without argument it returns the current motd. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query msg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users on the server, even if they are in a game. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from. You can prefix the message with color formatting as described in [[InterfaceActionsWML#.5Bmessage.5D]].&lt;br /&gt;
&lt;br /&gt;
'''/query lobbymsg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users in the lobby of the server. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from. You can prefix the message with color formatting as described in [[InterfaceActionsWML#.5Bmessage.5D]].&lt;br /&gt;
&lt;br /&gt;
'''/green &amp;lt;message&amp;gt;''': this command executes the lobbysmg command with green font (alias for '/query lobbymsg @&amp;lt;message&amp;gt;').&lt;br /&gt;
&lt;br /&gt;
'''/red &amp;lt;message&amp;gt;''': this command executes the lobbysmg command with red font (alias for '/query lobbymsg #&amp;lt;message&amp;gt;').&lt;br /&gt;
&lt;br /&gt;
'''/yellow &amp;lt;message&amp;gt;''': this command executes the lobbysmg command with yellow font (alias for '/query lobbymsg &amp;lt;255,255,0&amp;gt;&amp;lt;message&amp;gt;').&lt;br /&gt;
&lt;br /&gt;
'''/query kick &amp;lt;mask&amp;gt; [&amp;lt;reason&amp;gt;]''': this command will disconnect the user matching the given nick or ip mask from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query ban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make the server refuse connections from users matching the given ip mask or the ips of users matching the nick mask. Existing bans (and their reason!) will be overwritten so you can change the reason for a ban by adding it again.&lt;br /&gt;
&lt;br /&gt;
'''/query gban &amp;lt;mask&amp;gt; &amp;lt;group&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make a ban that belongs to a group. They function just like ordinary bans but only the group name is mentioned in the ban listing.&lt;br /&gt;
&lt;br /&gt;
'''/query bans''': shows a list of currently banned ip masks and the reasons for the bans.&lt;br /&gt;
&lt;br /&gt;
'''/query kban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command is equivalent to 'kick &amp;lt;mask&amp;gt;' 'ban &amp;lt;mask&amp;gt; [&amp;lt;time] &amp;lt;reason&amp;gt;' -- i.e. bans the users matching the ip mask or the ips of users matching the nick mask and disconnects them all in one go. The most common way to ban someone from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query unban &amp;lt;ipmask&amp;gt;''': this command removes the specified ip mask from the ban list.&lt;br /&gt;
&lt;br /&gt;
'''/query ungban &amp;lt;group&amp;gt;''': this command removes all bans in the group.&lt;br /&gt;
&lt;br /&gt;
'''/query searchlog &amp;lt;mask&amp;gt;''': this returns the IP a nick matching the mask has used or the nicks that used a matching IP. Unlike status this searches the IP log.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ip masks are masks that contain at least one '.'.&lt;br /&gt;
&lt;br /&gt;
The time parameter is used to set the time when a ban expires. A simple example is 2D12h which means after 2 days and 12 hours the ban gets removed. Modifiers are: s=seconds, m=minutes, h=hours, D=days, M=months and Y=years (short times with lowercase and long times with uppercase). We can also set shortcuts like LONG, MEDIUM and SHORT for common ban lengths but none is set yet.&lt;br /&gt;
&lt;br /&gt;
== Future extensions ==&lt;br /&gt;
&lt;br /&gt;
The current administrative interface is fairly primitive. We plan to provide some further extensions in the future, such as,&lt;br /&gt;
&lt;br /&gt;
'''/query mute &amp;lt;nick&amp;gt;''': makes it so that any messages sent by the user with the given nick will not be received by any other user on the server unless they share an IP address with 'nick'. Any games created by 'nick' will likewise not be seen by other users. 'nick' may observe games but will not appear in the observer list, and players of the game will not see any messages they type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=28217</id>
		<title>MultiplayerServerWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=28217"/>
		<updated>2009-02-10T18:28:05Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* The login procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Multiplayer Server WML =&lt;br /&gt;
This page describes the WML used to communicate with the multiplayer server (wesnothd).&lt;br /&gt;
&lt;br /&gt;
== The login procedure ==&lt;br /&gt;
&lt;br /&gt;
* server request (optional)&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
*** '''version''': The client's version string.&lt;br /&gt;
&lt;br /&gt;
* server request&lt;br /&gt;
** '''[mustlogin]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[login]'''&lt;br /&gt;
*** '''username''': The username the client would like to have.&lt;br /&gt;
*** '''password_reminder''': If &amp;quot;yes&amp;quot; the client requests the server to send a password reminder for the provided username.&lt;br /&gt;
*** '''password''': The hashed password, created from the username, the password and salt received from the server.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[join_lobby]''' or&lt;br /&gt;
** '''[error]'''&lt;br /&gt;
*** '''message''': The error message.&lt;br /&gt;
*** '''password_request''': If not empty the server asks the client to provide a password for its desired username.&lt;br /&gt;
*** '''phpbb_encryption''': If &amp;quot;yes&amp;quot; the client will encrypt the password using phpbb's algorithm.&lt;br /&gt;
*** '''random_salt''': Random salt sent to the client for mixing with the password hash.&lt;br /&gt;
*** '''hash_seed''': Salt generated from the original hash that is required to recreate it.&lt;br /&gt;
*** '''salt''': Salt generated from the original hash that is required to recreate it.&lt;br /&gt;
*** '''force_confirmation''': Display an ok/cancel dialog with the content of the 'message' key.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[gamelist]'''&lt;br /&gt;
*** '''[game]''' (repeated)&lt;br /&gt;
**** '''id''': A unique id of the game.&lt;br /&gt;
**** '''name''': The title of the game.&lt;br /&gt;
**** '''mp_scenario''': The id of the scenario.&lt;br /&gt;
**** '''mp_era''': The id of the used era.&lt;br /&gt;
**** '''mp_use_map_settings''': Does the game use the map settings specified in the scenario.&lt;br /&gt;
**** '''mp_fog''': Does the game use fog.&lt;br /&gt;
**** '''mp_shroud''': Does the game use shroud.&lt;br /&gt;
**** '''mp_village_gold''': The number of gold per village.&lt;br /&gt;
**** '''experience_modifier''': The experience setting.&lt;br /&gt;
**** '''mp_countdown''': Does the game use a timer.&lt;br /&gt;
**** '''mp_countdown_reservoir_time''': Upper limit of the possibly available time.&lt;br /&gt;
**** '''mp_countdown_init_time''': Initial time.&lt;br /&gt;
**** '''mp_countdown_action_bonus''': Time bonus per action.&lt;br /&gt;
**** '''mp_countdown_turn_bonus''': Time bonus per turn.&lt;br /&gt;
**** '''map_data''': The map data.&lt;br /&gt;
**** '''hash''': The hash value of the map_data.&lt;br /&gt;
**** '''observer''': Are observers allowed or not.&lt;br /&gt;
**** '''human_sides''': The number of sides played by humans.&lt;br /&gt;
**** '''slots''': The number of vacant/max slots.&lt;br /&gt;
**** '''turn''': The current turn/max turn.&lt;br /&gt;
** '''[user]''' (repeated)&lt;br /&gt;
*** '''name''': The username of the player.&lt;br /&gt;
*** '''game_id''': The ID of the game the player is in (version 1.3.7+svn).&lt;br /&gt;
*** '''location''': The name of the game the player is in.&lt;br /&gt;
*** '''available''': &amp;quot;yes&amp;quot; if the player is in the lobby; &amp;quot;no&amp;quot; if in a game.&lt;br /&gt;
Many of the keys under [game] are described more indepth on the [[ScenarioWML]] page.&lt;br /&gt;
&lt;br /&gt;
== Error messages ==&lt;br /&gt;
&lt;br /&gt;
* '''[error]'''&lt;br /&gt;
** '''message''': The error message.&lt;br /&gt;
&lt;br /&gt;
== Chat (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[message]'''&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the message.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
* '''[whisper]'''&lt;br /&gt;
** '''receiver''': The receiver of the whisper&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the whisper.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
&lt;br /&gt;
== Nick registration related commands (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[nickserv]'''&lt;br /&gt;
** '''[register]'''&lt;br /&gt;
*** '''password''': The password for the nick.&lt;br /&gt;
*** '''mail''': The email address for the nick.&lt;br /&gt;
** '''[drop]''': Drop this username.&lt;br /&gt;
** '''[set]''': Set a detail (e.g. email address) for this nick.&lt;br /&gt;
*** '''detail''': The detail, e.g. &amp;quot;mail&amp;quot;.&lt;br /&gt;
*** '''value''': The new value for this detail, e.g. &amp;quot;user@edomain&amp;quot;&lt;br /&gt;
** '''[info]''': Request info about another username.&lt;br /&gt;
*** '''name''': The username.&lt;br /&gt;
&lt;br /&gt;
== Updating the lobby state ==&lt;br /&gt;
&lt;br /&gt;
* '''[gamelist_diff]''': server message - basically a diff from two [gamelist]s; the keys listed are the ones that actually occure in practice&lt;br /&gt;
** '''index''': The index of a user.&lt;br /&gt;
** '''[insert_child]''' A new user logged on.&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''name''': The name of the user.&lt;br /&gt;
**** '''available''' &amp;quot;yes&amp;quot;&lt;br /&gt;
*** '''[delete_child]''' A user logged off.&lt;br /&gt;
** '''[change_child]'''&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''[insert]''': A user joined/left a game.&lt;br /&gt;
***** '''available''': &amp;quot;yes&amp;quot; when the user left a game. &amp;quot;no&amp;quot; when the user joined a game&lt;br /&gt;
***** '''location''': The name of the game the user joined.&lt;br /&gt;
**** '''[delete]'''&lt;br /&gt;
***** '''location''': &amp;quot;x&amp;quot; when a game was left.&lt;br /&gt;
*** '''[gamelist]'''&lt;br /&gt;
**** '''index''': Index of the game in question.&lt;br /&gt;
**** '''[insert_child]''': A game started.&lt;br /&gt;
***** '''[game]''' All the usual keys of [game] possible, see above.&lt;br /&gt;
**** '''[delete_child]''': A game ended.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
**** '''[change_child]''': Something changed in a game.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
****** '''[insert]'''&lt;br /&gt;
******* '''slots''': The number of free slots in the form: free/max slots&lt;br /&gt;
******* '''turn''': The turn number in the form: current turn/max turns&lt;br /&gt;
****** '''[delete]'''&lt;br /&gt;
******* '''map''': &amp;quot;x&amp;quot; comes with every ''turn'' or ''slots'' change for games with shroud&lt;br /&gt;
******* '''mp_scenario''': &amp;quot;x&amp;quot; comes with ''turn'' and ''slots'' changes for games with no scenario id&lt;br /&gt;
&lt;br /&gt;
* '''[observer]''' or '''[observer_quit]''': server message - players joining([observer_quit] - quitting the lobby &amp;quot;game&amp;quot;)/quitting([observer] - joining the lobby &amp;quot;game&amp;quot;) a game&lt;br /&gt;
** '''name''': Username of the player/observer.&lt;br /&gt;
&lt;br /&gt;
== Game setup (the phase from creation to start) ==&lt;br /&gt;
To create a game the client sends:&lt;br /&gt;
* '''[create_game]'''&lt;br /&gt;
** '''name''': The title of the game.&lt;br /&gt;
&lt;br /&gt;
followed by a message with the scenario options as under [game] (see above) plus the scenario data ([time], [era], [side], etc. see [[ScenarioWML]])&lt;br /&gt;
&lt;br /&gt;
* '''[join]'''&lt;br /&gt;
** '''id''': The id of the game.&lt;br /&gt;
** '''observe''': Join the game as an observer.&lt;br /&gt;
&lt;br /&gt;
* '''[scenario_diff]''': [[ScenarioWML]] diff (side changes, etc.)&lt;br /&gt;
&lt;br /&gt;
* '''[start_game]''': sent by the host to start a game&lt;br /&gt;
* '''[leave_game]''': sent by the client when it leaves a game; sent by the server to make a client leave a game&lt;br /&gt;
&lt;br /&gt;
== In-game communication ==&lt;br /&gt;
&lt;br /&gt;
* '''[store_next_scenario]''': sent by the host - the scenario data (see [[ScenarioWML]]) to advance to the next scenario&lt;br /&gt;
* '''[notify_next_scenario]''': sent by the server to tell players that the data for the next scenario is available&lt;br /&gt;
* '''[load_next_scenario]''': sent by the client to request the data for the next scenario&lt;br /&gt;
* '''[next_scenario]''': data for the next scenario (see [[ScenarioWML]]), sent by the server on request&lt;br /&gt;
&lt;br /&gt;
* '''[info]''': sent by the host on game end - info about the game state&lt;br /&gt;
** '''type''': &amp;quot;termination&amp;quot; &lt;br /&gt;
** '''condition''': the termination reason&lt;br /&gt;
&lt;br /&gt;
* '''[change_controller]''': a player (un)droids one of his sides or assigns control to someone else (The host can assign control for any side.)&lt;br /&gt;
** '''side''': the side to change controller&lt;br /&gt;
** '''player''': the nick of the player to take control&lt;br /&gt;
** '''controller''': the new controller: &amp;quot;human&amp;quot; or &amp;quot;human_ai&amp;quot;&lt;br /&gt;
** '''own_side''': &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If a player leaves this is sent to the host for all sides he owned.&lt;br /&gt;
* '''side_drop''': The number of a side that dropped because a player left.&lt;br /&gt;
* '''controller''': The controller of that side. (&amp;quot;ai&amp;quot;, &amp;quot;network&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* '''[muteall]''': the host mutes/unmutes all observers - toggles&lt;br /&gt;
* '''[mute]''': the host mutes an observer - toggles&lt;br /&gt;
** '''username''': the username of the observer - if not specified the servers returns a list of muted usernames&lt;br /&gt;
* '''[kick]''' or '''[ban]''': the host kicks/bans a player/observer&lt;br /&gt;
** '''username''': the username of the player/observer&lt;br /&gt;
&lt;br /&gt;
* '''[turn]'''&lt;br /&gt;
** '''[command]''': (repeated) can contain all the tags you can find in a replay: [recruit], [move], [end_turn], etc.&lt;br /&gt;
*** '''[speak]'''&lt;br /&gt;
**** '''message''': text of the message&lt;br /&gt;
**** '''description''': the sender (in 1.4 and earlier; later replaced by '''id''')&lt;br /&gt;
**** '''id''': the sender {{DevFeature}}&lt;br /&gt;
**** '''team_name''': the name of the team the message is for - empty if it's a public message&lt;br /&gt;
&lt;br /&gt;
== Administrative commands ==&lt;br /&gt;
* '''[query]'''&lt;br /&gt;
** '''type''': The type of query. See [[ServerAdministration]] for details.&lt;br /&gt;
&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=28114</id>
		<title>MultiplayerServerWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=28114"/>
		<updated>2009-01-29T17:31:56Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* The login procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Multiplayer Server WML =&lt;br /&gt;
This page describes the WML used to communicate with the multiplayer server (wesnothd).&lt;br /&gt;
&lt;br /&gt;
== The login procedure ==&lt;br /&gt;
&lt;br /&gt;
* server request (optional)&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
*** '''version''': The client's version string.&lt;br /&gt;
&lt;br /&gt;
* server request&lt;br /&gt;
** '''[mustlogin]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[login]'''&lt;br /&gt;
*** '''username''': The username the client would like to have.&lt;br /&gt;
*** '''password_reminder''': If &amp;quot;yes&amp;quot; the client requests the server to send a password reminder for the provided username.&lt;br /&gt;
*** '''password''': The hashed password, created from the username, the password and salt received from the server.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[join_lobby]''' or&lt;br /&gt;
** '''[error]'''&lt;br /&gt;
*** '''message''': The error message.&lt;br /&gt;
*** '''password_request''': If not empty the server asks the client to provide a password for its desired username.&lt;br /&gt;
*** '''phpbb_encryption''': If &amp;quot;yes&amp;quot; the client will encrypt the password using phpbb's algorithm.&lt;br /&gt;
*** '''random_salt''': Random salt sent to the client for mixing with the password hash.&lt;br /&gt;
*** '''hash_seed''': Salt generated from the original hash that is required to recreate it.&lt;br /&gt;
*** '''salt''': Salt generated from the original hash that is required to recreate it.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[gamelist]'''&lt;br /&gt;
*** '''[game]''' (repeated)&lt;br /&gt;
**** '''id''': A unique id of the game.&lt;br /&gt;
**** '''name''': The title of the game.&lt;br /&gt;
**** '''mp_scenario''': The id of the scenario.&lt;br /&gt;
**** '''mp_era''': The id of the used era.&lt;br /&gt;
**** '''mp_use_map_settings''': Does the game use the map settings specified in the scenario.&lt;br /&gt;
**** '''mp_fog''': Does the game use fog.&lt;br /&gt;
**** '''mp_shroud''': Does the game use shroud.&lt;br /&gt;
**** '''mp_village_gold''': The number of gold per village.&lt;br /&gt;
**** '''experience_modifier''': The experience setting.&lt;br /&gt;
**** '''mp_countdown''': Does the game use a timer.&lt;br /&gt;
**** '''mp_countdown_reservoir_time''': Upper limit of the possibly available time.&lt;br /&gt;
**** '''mp_countdown_init_time''': Initial time.&lt;br /&gt;
**** '''mp_countdown_action_bonus''': Time bonus per action.&lt;br /&gt;
**** '''mp_countdown_turn_bonus''': Time bonus per turn.&lt;br /&gt;
**** '''map_data''': The map data.&lt;br /&gt;
**** '''hash''': The hash value of the map_data.&lt;br /&gt;
**** '''observer''': Are observers allowed or not.&lt;br /&gt;
**** '''human_sides''': The number of sides played by humans.&lt;br /&gt;
**** '''slots''': The number of vacant/max slots.&lt;br /&gt;
**** '''turn''': The current turn/max turn.&lt;br /&gt;
** '''[user]''' (repeated)&lt;br /&gt;
*** '''name''': The username of the player.&lt;br /&gt;
*** '''game_id''': The ID of the game the player is in (version 1.3.7+svn).&lt;br /&gt;
*** '''location''': The name of the game the player is in.&lt;br /&gt;
*** '''available''': &amp;quot;yes&amp;quot; if the player is in the lobby; &amp;quot;no&amp;quot; if in a game.&lt;br /&gt;
Many of the keys under [game] are described more indepth on the [[ScenarioWML]] page.&lt;br /&gt;
&lt;br /&gt;
== Error messages ==&lt;br /&gt;
&lt;br /&gt;
* '''[error]'''&lt;br /&gt;
** '''message''': The error message.&lt;br /&gt;
&lt;br /&gt;
== Chat (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[message]'''&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the message.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
* '''[whisper]'''&lt;br /&gt;
** '''receiver''': The receiver of the whisper&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the whisper.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
&lt;br /&gt;
== Nick registration related commands (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[nickserv]'''&lt;br /&gt;
** '''[register]'''&lt;br /&gt;
*** '''password''': The password for the nick.&lt;br /&gt;
*** '''mail''': The email address for the nick.&lt;br /&gt;
** '''[drop]''': Drop this username.&lt;br /&gt;
** '''[set]''': Set a detail (e.g. email address) for this nick.&lt;br /&gt;
*** '''detail''': The detail, e.g. &amp;quot;mail&amp;quot;.&lt;br /&gt;
*** '''value''': The new value for this detail, e.g. &amp;quot;user@edomain&amp;quot;&lt;br /&gt;
** '''[info]''': Request info about another username.&lt;br /&gt;
*** '''name''': The username.&lt;br /&gt;
&lt;br /&gt;
== Updating the lobby state ==&lt;br /&gt;
&lt;br /&gt;
* '''[gamelist_diff]''': server message - basically a diff from two [gamelist]s; the keys listed are the ones that actually occure in practice&lt;br /&gt;
** '''index''': The index of a user.&lt;br /&gt;
** '''[insert_child]''' A new user logged on.&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''name''': The name of the user.&lt;br /&gt;
**** '''available''' &amp;quot;yes&amp;quot;&lt;br /&gt;
*** '''[delete_child]''' A user logged off.&lt;br /&gt;
** '''[change_child]'''&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''[insert]''': A user joined/left a game.&lt;br /&gt;
***** '''available''': &amp;quot;yes&amp;quot; when the user left a game. &amp;quot;no&amp;quot; when the user joined a game&lt;br /&gt;
***** '''location''': The name of the game the user joined.&lt;br /&gt;
**** '''[delete]'''&lt;br /&gt;
***** '''location''': &amp;quot;x&amp;quot; when a game was left.&lt;br /&gt;
*** '''[gamelist]'''&lt;br /&gt;
**** '''index''': Index of the game in question.&lt;br /&gt;
**** '''[insert_child]''': A game started.&lt;br /&gt;
***** '''[game]''' All the usual keys of [game] possible, see above.&lt;br /&gt;
**** '''[delete_child]''': A game ended.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
**** '''[change_child]''': Something changed in a game.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
****** '''[insert]'''&lt;br /&gt;
******* '''slots''': The number of free slots in the form: free/max slots&lt;br /&gt;
******* '''turn''': The turn number in the form: current turn/max turns&lt;br /&gt;
****** '''[delete]'''&lt;br /&gt;
******* '''map''': &amp;quot;x&amp;quot; comes with every ''turn'' or ''slots'' change for games with shroud&lt;br /&gt;
******* '''mp_scenario''': &amp;quot;x&amp;quot; comes with ''turn'' and ''slots'' changes for games with no scenario id&lt;br /&gt;
&lt;br /&gt;
* '''[observer]''' or '''[observer_quit]''': server message - players joining([observer_quit] - quitting the lobby &amp;quot;game&amp;quot;)/quitting([observer] - joining the lobby &amp;quot;game&amp;quot;) a game&lt;br /&gt;
** '''name''': Username of the player/observer.&lt;br /&gt;
&lt;br /&gt;
== Game setup (the phase from creation to start) ==&lt;br /&gt;
To create a game the client sends:&lt;br /&gt;
* '''[create_game]'''&lt;br /&gt;
** '''name''': The title of the game.&lt;br /&gt;
&lt;br /&gt;
followed by a message with the scenario options as under [game] (see above) plus the scenario data ([time], [era], [side], etc. see [[ScenarioWML]])&lt;br /&gt;
&lt;br /&gt;
* '''[join]'''&lt;br /&gt;
** '''id''': The id of the game.&lt;br /&gt;
** '''observe''': Join the game as an observer.&lt;br /&gt;
&lt;br /&gt;
* '''[scenario_diff]''': [[ScenarioWML]] diff (side changes, etc.)&lt;br /&gt;
&lt;br /&gt;
* '''[start_game]''': sent by the host to start a game&lt;br /&gt;
* '''[leave_game]''': sent by the client when it leaves a game; sent by the server to make a client leave a game&lt;br /&gt;
&lt;br /&gt;
== In-game communication ==&lt;br /&gt;
&lt;br /&gt;
* '''[store_next_scenario]''': sent by the host - the scenario data (see [[ScenarioWML]]) to advance to the next scenario&lt;br /&gt;
* '''[load_next_scenario]''': sent by the client to request the data for the next scenario&lt;br /&gt;
* '''[next_scenario]''': data for the next scenario (see [[ScenarioWML]]), sent by the server on request&lt;br /&gt;
&lt;br /&gt;
* '''[info]''': sent by the host on game end - info about the game state&lt;br /&gt;
** '''type''': &amp;quot;termination&amp;quot; &lt;br /&gt;
** '''condition''': the termination reason&lt;br /&gt;
&lt;br /&gt;
* '''[change_controller]''': a player gives away one of his sides&lt;br /&gt;
** '''side''': the side to change controller&lt;br /&gt;
** '''player''': the nick of the player to take control&lt;br /&gt;
** '''own_side''': &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If a player leaves this is sent to the host for all sides he owned.&lt;br /&gt;
* '''side_drop''': The number of a side that dropped because a player left.&lt;br /&gt;
* '''controller''': The controller of that side. (&amp;quot;human&amp;quot;, &amp;quot;ai&amp;quot;, &amp;quot;network&amp;quot;, &amp;quot;none&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* '''[muteall]''': the host mutes/unmutes all observers - toggles&lt;br /&gt;
* '''[mute]''': the host mutes an observer - toggles&lt;br /&gt;
** '''username''': the username of the observer - if not specified the servers returns a list of muted usernames&lt;br /&gt;
* '''[kick]''' or '''[ban]''': the host kicks/bans a player/observer&lt;br /&gt;
** '''username''': the username of the player/observer&lt;br /&gt;
&lt;br /&gt;
* '''[turn]'''&lt;br /&gt;
** '''[command]''': (repeated) can contain all the tags you can find in a replay: [recruit], [move], [end_turn], etc.&lt;br /&gt;
*** '''[speak]'''&lt;br /&gt;
**** '''message''': text of the message&lt;br /&gt;
**** '''description''': the sender (in 1.4 and earlier; later replaced by '''id''')&lt;br /&gt;
**** '''id''': the sender {{DevFeature}}&lt;br /&gt;
**** '''team_name''': the name of the team the message is for - empty if it's a public message&lt;br /&gt;
&lt;br /&gt;
== Administrative commands ==&lt;br /&gt;
* '''[query]'''&lt;br /&gt;
** '''type''': The type of query. See [[ServerAdministration]] for details.&lt;br /&gt;
&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=27699</id>
		<title>ServerAdministration</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=27699"/>
		<updated>2008-12-23T20:22:26Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* Available commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Wesnoth server, wesnothd provides a simple interface for administering the server from within the game itself.&lt;br /&gt;
&lt;br /&gt;
To issue an administrative command to the server, you must be connected to the server using Wesnoth, and in the lobby. Any text you type into the chat box that begins with '/query ' will be considered an administrative command instead of a normal chat message. It will not be relayed to other users, but instead treated as a command by the server.&lt;br /&gt;
&lt;br /&gt;
Most commands are not accessible to normal users. They are only accessible once you have authenticated yourself to the server as an administrator. The way to authenticate yourself as an administrator is to use the command,&lt;br /&gt;
&lt;br /&gt;
'''/query &amp;lt;password&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;password&amp;gt; is the administrative password to the server. The administrative password is specified as the passwd attribute in wesnothd.cfg. By convention, it will generally start with 'admin ' followed by the actual password, so the usual syntax to authenticate yourself is,&lt;br /&gt;
&lt;br /&gt;
'''/query admin &amp;lt;passwd&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Naturally the password for a server should be kept a secret. One danger is that if you forget to type '/query ' at the start of a command you may accidentally type the password in a chat message, and let all users on the server know it. If you do this, then notify an administrator who has access to the box as soon as possible, so they can reset the password in wesnothd.cfg. We may provide features to prevent this kind of accident in future versions.&lt;br /&gt;
&lt;br /&gt;
A message from the server should tell you that you have successfully authenticated yourself as an administrator. The server will recognize you as an administrator until the next time you log out of the server.&lt;br /&gt;
&lt;br /&gt;
== Available commands ==&lt;br /&gt;
&lt;br /&gt;
'''/query metrics''': this command will show a simple metrics report of how the server has been performing. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query netstats''': shows some network stats. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query wml''': shows stats about WML documents and their current memory consumption. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query status [&amp;lt;nickmask&amp;gt;]''': this command will show you a list of users (matching the nickmask) connected to the server, with IP addresses, and how long they have been connected. Note that IP addresses of users are not available to non-administrators, and should be treated as confidential. When used as a non-administrator it just returns the entry of the user.&lt;br /&gt;
&lt;br /&gt;
'''/query motd [&amp;lt;message&amp;gt;]''': this command sets the message of the day that appears as the first message users get when they log on to the server. Without argument it returns the current motd. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query msg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users on the server, even if they are in a game. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from. You can prefix your message with &amp;lt;red,green,blue&amp;gt; to color it, e.g. /query msg &amp;lt;255,255,0&amp;gt;message&amp;gt; for a yellow message.&lt;br /&gt;
&lt;br /&gt;
'''/query lobbymsg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users in the lobby of the server. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from. You can prefix your message with &amp;lt;red,green,blue&amp;gt; to color it, e.g. /query msg &amp;lt;255,255,0&amp;gt;message&amp;gt; for a yellow message.&lt;br /&gt;
&lt;br /&gt;
'''/green &amp;lt;message&amp;gt;''': this command send the lobbysmg command with green font.&lt;br /&gt;
&lt;br /&gt;
'''/red &amp;lt;message&amp;gt;''': this command send the lobbysmg command with red font.&lt;br /&gt;
&lt;br /&gt;
'''/yellow &amp;lt;message&amp;gt;''': this command send the lobbysmg command with yellow font.&lt;br /&gt;
&lt;br /&gt;
'''/query kick &amp;lt;mask&amp;gt;''': this command will disconnect the user matching the given nick or ip mask from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query ban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make the server refuse connections from users matching the given ip mask or the ips of users matching the nick mask. When banning by nick mask already existing bans will not be overwritten. When banning by ip mask existing bans (and their reason!) will be overwritten so you can change the reason for a ban that way.&lt;br /&gt;
&lt;br /&gt;
'''/query gban &amp;lt;mask&amp;gt; &amp;lt;group&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make ban that belongs to a group. It functions just like ordinary ban but ban listing just ignores them.&lt;br /&gt;
&lt;br /&gt;
'''/query bans''': shows a list of currently banned ip masks and the reasons for the bans.&lt;br /&gt;
&lt;br /&gt;
'''/query kban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command is equivalent to 'kick &amp;lt;mask&amp;gt;' 'ban &amp;lt;mask&amp;gt; [&amp;lt;time] &amp;lt;reason&amp;gt;' -- i.e. bans the users matching the ip mask or the ips of users matching the nick mask and disconnects them all in one go. The most common way to ban someone from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query unban &amp;lt;ipmask&amp;gt;''': this command removes the specified ip mask from the ban list.&lt;br /&gt;
&lt;br /&gt;
'''/query ungban &amp;lt;group&amp;gt;''': this command removes all bans in the group.&lt;br /&gt;
&lt;br /&gt;
'''/query searchlog &amp;lt;mask&amp;gt;''': this returns the IP a nick matching the mask has used or the nicks that an IP matching the used. Unlike status this searches the IP log.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ip masks are masks that contain at least one '.'.&lt;br /&gt;
&lt;br /&gt;
The time parameter is used to set the time when a ban expires. A simple example is 2D12h which means after 2 days and 12 hours the ban gets removed. Modifiers are: s=seconds, m=minutes, h=hours, D=days, M=months and Y=years (short times with lowercase and long times with uppercase). We can also set shortcuts like LONG, MEDIUM and SHORT for common ban lengths but none is set yet.&lt;br /&gt;
&lt;br /&gt;
== Future extensions ==&lt;br /&gt;
&lt;br /&gt;
The current administrative interface is fairly primitive. We plan to provide some further extensions in the future, such as,&lt;br /&gt;
&lt;br /&gt;
'''/query mute &amp;lt;nick&amp;gt;''': makes it so that any messages sent by the user with the given nick will not be received by any other user on the server unless they share an IP address with 'nick'. Any games created by 'nick' will likewise not be seen by other users. 'nick' may observe games but will not appear in the observer list, and players of the game will not see any messages they type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=27698</id>
		<title>ServerAdministration</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=27698"/>
		<updated>2008-12-23T19:18:02Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* Available commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Wesnoth server, wesnothd provides a simple interface for administering the server from within the game itself.&lt;br /&gt;
&lt;br /&gt;
To issue an administrative command to the server, you must be connected to the server using Wesnoth, and in the lobby. Any text you type into the chat box that begins with '/query ' will be considered an administrative command instead of a normal chat message. It will not be relayed to other users, but instead treated as a command by the server.&lt;br /&gt;
&lt;br /&gt;
Most commands are not accessible to normal users. They are only accessible once you have authenticated yourself to the server as an administrator. The way to authenticate yourself as an administrator is to use the command,&lt;br /&gt;
&lt;br /&gt;
'''/query &amp;lt;password&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;password&amp;gt; is the administrative password to the server. The administrative password is specified as the passwd attribute in wesnothd.cfg. By convention, it will generally start with 'admin ' followed by the actual password, so the usual syntax to authenticate yourself is,&lt;br /&gt;
&lt;br /&gt;
'''/query admin &amp;lt;passwd&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Naturally the password for a server should be kept a secret. One danger is that if you forget to type '/query ' at the start of a command you may accidentally type the password in a chat message, and let all users on the server know it. If you do this, then notify an administrator who has access to the box as soon as possible, so they can reset the password in wesnothd.cfg. We may provide features to prevent this kind of accident in future versions.&lt;br /&gt;
&lt;br /&gt;
A message from the server should tell you that you have successfully authenticated yourself as an administrator. The server will recognize you as an administrator until the next time you log out of the server.&lt;br /&gt;
&lt;br /&gt;
== Available commands ==&lt;br /&gt;
&lt;br /&gt;
'''/query metrics''': this command will show a simple metrics report of how the server has been performing. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query netstats''': shows some network stats. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query wml''': shows stats about WML documents and their current memory consumption. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query status [&amp;lt;nickmask&amp;gt;]''': this command will show you a list of users (matching the nickmask) connected to the server, with IP addresses, and how long they have been connected. Note that IP addresses of users are not available to non-administrators, and should be treated as confidential. When used as a non-administrator it just returns the entry of the user.&lt;br /&gt;
&lt;br /&gt;
'''/query motd [&amp;lt;message&amp;gt;]''': this command sets the message of the day that appears as the first message users get when they log on to the server. Without argument it returns the current motd. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query msg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users on the server, even if they are in a game. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from. You can prefix your message with &amp;lt;red,green,blue&amp;gt; to color it, e.g. /query msg &amp;lt;255,255,0&amp;gt;message&amp;gt; for a yellow message.&lt;br /&gt;
&lt;br /&gt;
'''/query lobbymsg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users in the lobby of the server. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from. You can prefix your message with &amp;lt;red,green,blue&amp;gt; to color it, e.g. /query msg &amp;lt;255,255,0&amp;gt;message&amp;gt; for a yellow message.&lt;br /&gt;
&lt;br /&gt;
'''/query green &amp;lt;message&amp;gt;''': this command send the lobbysmg command with green font.&lt;br /&gt;
&lt;br /&gt;
'''/query red &amp;lt;message&amp;gt;''': this command send the lobbysmg command with red font.&lt;br /&gt;
&lt;br /&gt;
'''/query yellow &amp;lt;message&amp;gt;''': this command send the lobbysmg command with yellow font.&lt;br /&gt;
&lt;br /&gt;
'''/query kick &amp;lt;mask&amp;gt;''': this command will disconnect the user matching the given nick or ip mask from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query ban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make the server refuse connections from users matching the given ip mask or the ips of users matching the nick mask. When banning by nick mask already existing bans will not be overwritten. When banning by ip mask existing bans (and their reason!) will be overwritten so you can change the reason for a ban that way.&lt;br /&gt;
&lt;br /&gt;
'''/query gban &amp;lt;mask&amp;gt; &amp;lt;group&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make ban that belongs to a group. It functions just like ordinary ban but ban listing just ignores them.&lt;br /&gt;
&lt;br /&gt;
'''/query bans''': shows a list of currently banned ip masks and the reasons for the bans.&lt;br /&gt;
&lt;br /&gt;
'''/query kban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command is equivalent to 'kick &amp;lt;mask&amp;gt;' 'ban &amp;lt;mask&amp;gt; [&amp;lt;time] &amp;lt;reason&amp;gt;' -- i.e. bans the users matching the ip mask or the ips of users matching the nick mask and disconnects them all in one go. The most common way to ban someone from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query unban &amp;lt;ipmask&amp;gt;''': this command removes the specified ip mask from the ban list.&lt;br /&gt;
&lt;br /&gt;
'''/query ungban &amp;lt;group&amp;gt;''': this command removes all bans in the group.&lt;br /&gt;
&lt;br /&gt;
'''/query searchlog &amp;lt;mask&amp;gt;''': this returns the IP a nick matching the mask has used or the nicks that an IP matching the used. Unlike status this searches the IP log.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ip masks are masks that contain at least one '.'.&lt;br /&gt;
&lt;br /&gt;
The time parameter is used to set the time when a ban expires. A simple example is 2D12h which means after 2 days and 12 hours the ban gets removed. Modifiers are: s=seconds, m=minutes, h=hours, D=days, M=months and Y=years (short times with lowercase and long times with uppercase). We can also set shortcuts like LONG, MEDIUM and SHORT for common ban lengths but none is set yet.&lt;br /&gt;
&lt;br /&gt;
== Future extensions ==&lt;br /&gt;
&lt;br /&gt;
The current administrative interface is fairly primitive. We plan to provide some further extensions in the future, such as,&lt;br /&gt;
&lt;br /&gt;
'''/query mute &amp;lt;nick&amp;gt;''': makes it so that any messages sent by the user with the given nick will not be received by any other user on the server unless they share an IP address with 'nick'. Any games created by 'nick' will likewise not be seen by other users. 'nick' may observe games but will not appear in the observer list, and players of the game will not see any messages they type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=26781</id>
		<title>ServerAdministration</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=26781"/>
		<updated>2008-09-21T18:31:16Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* Available commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Wesnoth server, wesnothd provides a simple interface for administering the server from within the game itself.&lt;br /&gt;
&lt;br /&gt;
To issue an administrative command to the server, you must be connected to the server using Wesnoth, and in the lobby. Any text you type into the chat box that begins with '/query ' will be considered an administrative command instead of a normal chat message. It will not be relayed to other users, but instead treated as a command by the server.&lt;br /&gt;
&lt;br /&gt;
Most commands are not accessible to normal users. They are only accessible once you have authenticated yourself to the server as an administrator. The way to authenticate yourself as an administrator is to use the command,&lt;br /&gt;
&lt;br /&gt;
'''/query &amp;lt;password&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;password&amp;gt; is the administrative password to the server. The administrative password is specified as the passwd attribute in wesnothd.cfg. By convention, it will generally start with 'admin ' followed by the actual password, so the usual syntax to authenticate yourself is,&lt;br /&gt;
&lt;br /&gt;
'''/query admin &amp;lt;passwd&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Naturally the password for a server should be kept a secret. One danger is that if you forget to type '/query ' at the start of a command you may accidentally type the password in a chat message, and let all users on the server know it. If you do this, then notify an administrator who has access to the box as soon as possible, so they can reset the password in wesnothd.cfg. We may provide features to prevent this kind of accident in future versions.&lt;br /&gt;
&lt;br /&gt;
A message from the server should tell you that you have successfully authenticated yourself as an administrator. The server will recognize you as an administrator until the next time you log out of the server.&lt;br /&gt;
&lt;br /&gt;
== Available commands ==&lt;br /&gt;
&lt;br /&gt;
'''/query metrics''': this command will show a simple metrics report of how the server has been performing. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query netstats''': shows some network stats. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query wml''': shows stats about WML documents and their current memory consumption. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query status [&amp;lt;nickmask&amp;gt;]''': this command will show you a list of users (matching the nickmask) connected to the server, with IP addresses, and how long they have been connected. Note that IP addresses of users are not available to non-administrators, and should be treated as confidential. When used as a non-administrator it just returns the entry of the user.&lt;br /&gt;
&lt;br /&gt;
'''/query motd [&amp;lt;message&amp;gt;]''': this command sets the message of the day that appears as the first message users get when they log on to the server. Without argument it returns the current motd. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query msg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users on the server, even if they are in a game. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from.&lt;br /&gt;
&lt;br /&gt;
'''/query lobbymsg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users in the lobby of the server. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from.&lt;br /&gt;
&lt;br /&gt;
'''/query kick &amp;lt;mask&amp;gt;''': this command will disconnect the user matching the given nick or ip mask from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query ban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make the server refuse connections from users matching the given ip mask or the ips of users matching the nick mask. When banning by nick mask already existing bans will not be overwritten. When banning by ip mask existing bans (and their reason!) will be overwritten so you can change the reason for a ban that way.&lt;br /&gt;
&lt;br /&gt;
'''/query gban &amp;lt;mask&amp;gt; &amp;lt;group&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make ban that belongs to a group. It functions just like ordinary ban but ban listing just ignores them.&lt;br /&gt;
&lt;br /&gt;
'''/query bans''': shows a list of currently banned ip masks and the reasons for the bans.&lt;br /&gt;
&lt;br /&gt;
'''/query kban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command is equivalent to 'kick &amp;lt;mask&amp;gt;' 'ban &amp;lt;mask&amp;gt; [&amp;lt;time] &amp;lt;reason&amp;gt;' -- i.e. bans the users matching the ip mask or the ips of users matching the nick mask and disconnects them all in one go. The most common way to ban someone from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query unban &amp;lt;ipmask&amp;gt;''': this command removes the specified ip mask from the ban list.&lt;br /&gt;
&lt;br /&gt;
'''/query ungban &amp;lt;group&amp;gt;''': this command removes all bans in the group.&lt;br /&gt;
&lt;br /&gt;
'''/query searchlog &amp;lt;mask&amp;gt;''': this returns the IP a nick matching the mask has used or the nicks that an IP matching the used. Unlike status this searches the IP log.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ip masks are masks that contain at least one '.'.&lt;br /&gt;
&lt;br /&gt;
The time parameter is used to set the time when a ban expires. A simple example is 2D12h which means after 2 days and 12 hours the ban gets removed. Modifiers are: s=seconds, m=minutes, h=hours, D=days, M=months and Y=years (short times with lowercase and long times with uppercase). We can also set shortcuts like LONG, MEDIUM and SHORT for common ban lengths but none is set yet.&lt;br /&gt;
&lt;br /&gt;
== Future extensions ==&lt;br /&gt;
&lt;br /&gt;
The current administrative interface is fairly primitive. We plan to provide some further extensions in the future, such as,&lt;br /&gt;
&lt;br /&gt;
'''/query mute &amp;lt;nick&amp;gt;''': makes it so that any messages sent by the user with the given nick will not be received by any other user on the server unless they share an IP address with 'nick'. Any games created by 'nick' will likewise not be seen by other users. 'nick' may observe games but will not appear in the observer list, and players of the game will not see any messages they type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=26780</id>
		<title>ServerAdministration</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=26780"/>
		<updated>2008-09-21T18:17:17Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* Available commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Wesnoth server, wesnothd provides a simple interface for administering the server from within the game itself.&lt;br /&gt;
&lt;br /&gt;
To issue an administrative command to the server, you must be connected to the server using Wesnoth, and in the lobby. Any text you type into the chat box that begins with '/query ' will be considered an administrative command instead of a normal chat message. It will not be relayed to other users, but instead treated as a command by the server.&lt;br /&gt;
&lt;br /&gt;
Most commands are not accessible to normal users. They are only accessible once you have authenticated yourself to the server as an administrator. The way to authenticate yourself as an administrator is to use the command,&lt;br /&gt;
&lt;br /&gt;
'''/query &amp;lt;password&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;password&amp;gt; is the administrative password to the server. The administrative password is specified as the passwd attribute in wesnothd.cfg. By convention, it will generally start with 'admin ' followed by the actual password, so the usual syntax to authenticate yourself is,&lt;br /&gt;
&lt;br /&gt;
'''/query admin &amp;lt;passwd&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Naturally the password for a server should be kept a secret. One danger is that if you forget to type '/query ' at the start of a command you may accidentally type the password in a chat message, and let all users on the server know it. If you do this, then notify an administrator who has access to the box as soon as possible, so they can reset the password in wesnothd.cfg. We may provide features to prevent this kind of accident in future versions.&lt;br /&gt;
&lt;br /&gt;
A message from the server should tell you that you have successfully authenticated yourself as an administrator. The server will recognize you as an administrator until the next time you log out of the server.&lt;br /&gt;
&lt;br /&gt;
== Available commands ==&lt;br /&gt;
&lt;br /&gt;
'''/query metrics''': this command will show a simple metrics report of how the server has been performing. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query netstats''': shows some network stats. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query wml''': shows stats about WML documents and their current memory consumption. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query status [&amp;lt;nickmask&amp;gt;]''': this command will show you a list of users (matching the nickmask) connected to the server, with IP addresses, and how long they have been connected. Note that IP addresses of users are not available to non-administrators, and should be treated as confidential. When used as a non-administrator it just returns the entry of the user.&lt;br /&gt;
&lt;br /&gt;
'''/query motd [&amp;lt;message&amp;gt;]''': this command sets the message of the day that appears as the first message users get when they log on to the server. Without argument it returns the current motd. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query msg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users on the server, even if they are in a game. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from.&lt;br /&gt;
&lt;br /&gt;
'''/query lobbymsg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users in the lobby of the server. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from.&lt;br /&gt;
&lt;br /&gt;
'''/query kick &amp;lt;mask&amp;gt;''': this command will disconnect the user matching the given nick or ip mask from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query ban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make the server refuse connections from users matching the given ip mask or the ips of users matching the nick mask. When banning by nick mask already existing bans will not be overwritten. When banning by ip mask existing bans (and their reason!) will be overwritten so you can change the reason for a ban that way.&lt;br /&gt;
&lt;br /&gt;
'''/query gban &amp;lt;mask&amp;gt; &amp;lt;group&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make ban that belongs to a group. It functions just like ordinary ban but ban listing just ignores them.&lt;br /&gt;
&lt;br /&gt;
'''/query bans''': shows a list of currently banned ip masks and the reasons for the bans.&lt;br /&gt;
&lt;br /&gt;
'''/query kban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command is equivalent to 'kick &amp;lt;mask&amp;gt;' 'ban &amp;lt;mask&amp;gt; [&amp;lt;time] &amp;lt;reason&amp;gt;' -- i.e. bans the users matching the ip mask or the ips of users matching the nick mask and disconnects them all in one go. The most common way to ban someone from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query unban &amp;lt;ipmask&amp;gt;''': this command removes the specified ip mask from the ban list.&lt;br /&gt;
&lt;br /&gt;
'''/query ungban &amp;lt;group&amp;gt;''': this command removes all bans in the group.&lt;br /&gt;
&lt;br /&gt;
'''/query lookup &amp;lt;mask&amp;gt;''': this returns the IP a nick matching the mask has used or the nicks that an IP matching the used. Unlike status this searches the IP log.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ip masks are masks that contain at least one '.'.&lt;br /&gt;
&lt;br /&gt;
The time parameter is used to set the time when a ban expires. A simple example is 2D12h which means after 2 days and 12 hours the ban gets removed. Modifiers are: s=seconds, m=minutes, h=hours, D=days, M=months and Y=years (short times with lowercase and long times with uppercase). We can also set shortcuts like LONG, MEDIUM and SHORT for common ban lengths but none is set yet.&lt;br /&gt;
&lt;br /&gt;
== Future extensions ==&lt;br /&gt;
&lt;br /&gt;
The current administrative interface is fairly primitive. We plan to provide some further extensions in the future, such as,&lt;br /&gt;
&lt;br /&gt;
'''/query mute &amp;lt;nick&amp;gt;''': makes it so that any messages sent by the user with the given nick will not be received by any other user on the server unless they share an IP address with 'nick'. Any games created by 'nick' will likewise not be seen by other users. 'nick' may observe games but will not appear in the observer list, and players of the game will not see any messages they type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=26773</id>
		<title>ServerAdministration</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ServerAdministration&amp;diff=26773"/>
		<updated>2008-09-21T16:36:20Z</updated>

		<summary type="html">&lt;p&gt;Baufo: added lookup command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Wesnoth server, wesnothd provides a simple interface for administering the server from within the game itself.&lt;br /&gt;
&lt;br /&gt;
To issue an administrative command to the server, you must be connected to the server using Wesnoth, and in the lobby. Any text you type into the chat box that begins with '/query ' will be considered an administrative command instead of a normal chat message. It will not be relayed to other users, but instead treated as a command by the server.&lt;br /&gt;
&lt;br /&gt;
Most commands are not accessible to normal users. They are only accessible once you have authenticated yourself to the server as an administrator. The way to authenticate yourself as an administrator is to use the command,&lt;br /&gt;
&lt;br /&gt;
'''/query &amp;lt;password&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;password&amp;gt; is the administrative password to the server. The administrative password is specified as the passwd attribute in wesnothd.cfg. By convention, it will generally start with 'admin ' followed by the actual password, so the usual syntax to authenticate yourself is,&lt;br /&gt;
&lt;br /&gt;
'''/query admin &amp;lt;passwd&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Naturally the password for a server should be kept a secret. One danger is that if you forget to type '/query ' at the start of a command you may accidentally type the password in a chat message, and let all users on the server know it. If you do this, then notify an administrator who has access to the box as soon as possible, so they can reset the password in wesnothd.cfg. We may provide features to prevent this kind of accident in future versions.&lt;br /&gt;
&lt;br /&gt;
A message from the server should tell you that you have successfully authenticated yourself as an administrator. The server will recognize you as an administrator until the next time you log out of the server.&lt;br /&gt;
&lt;br /&gt;
== Available commands ==&lt;br /&gt;
&lt;br /&gt;
'''/query metrics''': this command will show a simple metrics report of how the server has been performing. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query netstats''': shows some network stats. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query wml''': shows stats about WML documents and their current memory consumption. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query status [&amp;lt;nickmask&amp;gt;]''': this command will show you a list of users (matching the nickmask) connected to the server, with IP addresses, and how long they have been connected. Note that IP addresses of users are not available to non-administrators, and should be treated as confidential. When used as a non-administrator it just returns the entry of the user.&lt;br /&gt;
&lt;br /&gt;
'''/query motd [&amp;lt;message&amp;gt;]''': this command sets the message of the day that appears as the first message users get when they log on to the server. Without argument it returns the current motd. (available to non-administrators)&lt;br /&gt;
&lt;br /&gt;
'''/query msg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users on the server, even if they are in a game. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from.&lt;br /&gt;
&lt;br /&gt;
'''/query lobbymsg &amp;lt;message&amp;gt;''': this command will relay the message 'message' to all users in the lobby of the server. The message will appear to come from 'server', so you should write your name as part of the message if it is necessary to show who it comes from.&lt;br /&gt;
&lt;br /&gt;
'''/query kick &amp;lt;mask&amp;gt;''': this command will disconnect the user matching the given nick or ip mask from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query ban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make the server refuse connections from users matching the given ip mask or the ips of users matching the nick mask. When banning by nick mask already existing bans will not be overwritten. When banning by ip mask existing bans (and their reason!) will be overwritten so you can change the reason for a ban that way.&lt;br /&gt;
&lt;br /&gt;
'''/query gban &amp;lt;mask&amp;gt; &amp;lt;group&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command will make ban that belongs to a group. It functions just like ordinary ban but ban listing just ignores them.&lt;br /&gt;
&lt;br /&gt;
'''/query bans''': shows a list of currently banned ip masks and the reasons for the bans.&lt;br /&gt;
&lt;br /&gt;
'''/query kban &amp;lt;mask&amp;gt; [&amp;lt;time&amp;gt;] &amp;lt;reason&amp;gt;''': this command is equivalent to 'kick &amp;lt;mask&amp;gt;' 'ban &amp;lt;mask&amp;gt; [&amp;lt;time] &amp;lt;reason&amp;gt;' -- i.e. bans the users matching the ip mask or the ips of users matching the nick mask and disconnects them all in one go. The most common way to ban someone from the server.&lt;br /&gt;
&lt;br /&gt;
'''/query unban &amp;lt;ipmask&amp;gt;''': this command removes the specified ip mask from the ban list.&lt;br /&gt;
&lt;br /&gt;
'''/query ungban &amp;lt;group&amp;gt;''': this command removes all bans in the group.&lt;br /&gt;
&lt;br /&gt;
'''/query lookup &amp;lt;mask&amp;gt;''': this returns the IP a nick matching the mask has used or the nicks that an IP matching the used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ip masks are masks that contain at least one '.'.&lt;br /&gt;
&lt;br /&gt;
The time parameter is used to set the time when a ban expires. A simple example is 2D12h which means after 2 days and 12 hours the ban gets removed. Modifiers are: s=seconds, m=minutes, h=hours, D=days, M=months and Y=years (short times with lowercase and long times with uppercase). We can also set shortcuts like LONG, MEDIUM and SHORT for common ban lengths but none is set yet.&lt;br /&gt;
&lt;br /&gt;
== Future extensions ==&lt;br /&gt;
&lt;br /&gt;
The current administrative interface is fairly primitive. We plan to provide some further extensions in the future, such as,&lt;br /&gt;
&lt;br /&gt;
'''/query mute &amp;lt;nick&amp;gt;''': makes it so that any messages sent by the user with the given nick will not be received by any other user on the server unless they share an IP address with 'nick'. Any games created by 'nick' will likewise not be seen by other users. 'nick' may observe games but will not appear in the observer list, and players of the game will not see any messages they type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=26708</id>
		<title>MultiplayerServerWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=26708"/>
		<updated>2008-09-13T17:05:51Z</updated>

		<summary type="html">&lt;p&gt;Baufo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Multiplayer Server WML =&lt;br /&gt;
This page describes the WML used to communicate with the multiplayer server (wesnothd).&lt;br /&gt;
&lt;br /&gt;
== The login procedure ==&lt;br /&gt;
&lt;br /&gt;
* server request (optional)&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
*** '''version''': The client's version string.&lt;br /&gt;
&lt;br /&gt;
* server request&lt;br /&gt;
** '''[mustlogin]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[login]'''&lt;br /&gt;
*** '''username''': The username the client would like to have.&lt;br /&gt;
*** '''password_reminder''': If &amp;quot;yes&amp;quot; the client requests the server to send a password reminder for the provided username.&lt;br /&gt;
*** '''password''': The hashed password, created from the username, the password and salt received from the server.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[join_lobby]'''&lt;br /&gt;
** or&lt;br /&gt;
** '''[error]'''&lt;br /&gt;
*** '''message''': The error message.&lt;br /&gt;
*** '''password_request''': If not empty the server asks the client to provide a password for its desired username&lt;br /&gt;
*** '''random_salt''': Random salt sent to the client for mixing with the password hash.&lt;br /&gt;
*** '''hash_seed''': Salt generated from the original hash that is required to recreate it.&lt;br /&gt;
*** '''salt''': Salt generated from the original hash that is required to recreate it.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[gamelist]'''&lt;br /&gt;
*** '''[game]''' (repeated)&lt;br /&gt;
**** '''id''': A unique id of the game.&lt;br /&gt;
**** '''name''': The title of the game.&lt;br /&gt;
**** '''mp_scenario''': The id of the scenario.&lt;br /&gt;
**** '''mp_era''': The id of the used era.&lt;br /&gt;
**** ''mp_use_map_settings''': Does the game use the map settings specified in the scenario.&lt;br /&gt;
**** '''mp_fog''': Does the game use fog.&lt;br /&gt;
**** '''mp_shroud''': Does the game use shroud.&lt;br /&gt;
**** '''mp_village_gold''': The number of gold per village.&lt;br /&gt;
**** '''experience_modifier''': The experience setting.&lt;br /&gt;
**** '''mp_countdown''': Does the game use a timer.&lt;br /&gt;
**** '''mp_countdown_reservoir_time''': Upper limit of the possibly available time.&lt;br /&gt;
**** '''mp_countdown_init_time''': Initial time.&lt;br /&gt;
**** '''mp_countdown_action_bonus''': Time bonus per action.&lt;br /&gt;
**** '''mp_countdown_turn_bonus''': Time bonus per turn.&lt;br /&gt;
**** '''map_data''': The map data.&lt;br /&gt;
**** '''hash''': The hash value of the map_data.&lt;br /&gt;
**** '''observer''': Are observers allowed or not.&lt;br /&gt;
**** '''human_sides''': The number of sides played by humans.&lt;br /&gt;
**** '''slots''': The number of vacant/max slots.&lt;br /&gt;
**** '''turn''': The current turn/max turn.&lt;br /&gt;
** '''[user]''' (repeated)&lt;br /&gt;
*** '''name''': The username of the player.&lt;br /&gt;
*** '''game_id''': The ID of the game the player is in (version 1.3.7+svn).&lt;br /&gt;
*** '''location''': The name of the game the player is in.&lt;br /&gt;
*** '''available''': &amp;quot;yes&amp;quot; if the player is in the lobby; &amp;quot;no&amp;quot; if in a game.&lt;br /&gt;
Many of the keys under [game] are described more indepth on the [[ScenarioWML]] page.&lt;br /&gt;
&lt;br /&gt;
== Error messages ==&lt;br /&gt;
&lt;br /&gt;
* '''[error]'''&lt;br /&gt;
** '''message''': The error message.&lt;br /&gt;
&lt;br /&gt;
== Chat (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[message]'''&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the message.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
* '''[whisper]'''&lt;br /&gt;
** '''receiver''': The receiver of the whisper&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the whisper.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
&lt;br /&gt;
== Nick registration related commands (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[nickserv]'''&lt;br /&gt;
** '''[register]'''&lt;br /&gt;
*** '''password''': The password for the nick.&lt;br /&gt;
*** '''mail''': The email address for the nick.&lt;br /&gt;
** '''[drop]''': Drop this username.&lt;br /&gt;
** '''[set]''': Set a detail (e.g. email address) for this nick.&lt;br /&gt;
*** '''detail''': The detail, e.g. &amp;quot;mail&amp;quot;.&lt;br /&gt;
*** '''value''': The new value for this detail, e.g. &amp;quot;user@edomain&amp;quot;&lt;br /&gt;
** '''[info]''': Request info about another username.&lt;br /&gt;
*** '''name''': The username.&lt;br /&gt;
&lt;br /&gt;
== Updating the lobby state ==&lt;br /&gt;
&lt;br /&gt;
* '''[gamelist_diff]''': server message - basically a diff from two [gamelist]s; the keys listed are the ones that actually occure in practice&lt;br /&gt;
** '''index''': The index of a user.&lt;br /&gt;
** '''[insert_child]''' A new user logged on.&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''name''': The name of the user.&lt;br /&gt;
**** ''available'' &amp;quot;yes&amp;quot;&lt;br /&gt;
*** '''[delete_child]''' A user logged off.&lt;br /&gt;
** '''[change_child]'''&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''[insert]''': A user joined/left a game.&lt;br /&gt;
***** '''available''': &amp;quot;yes&amp;quot; when the user left a game. &amp;quot;no&amp;quot; when the user joined a game&lt;br /&gt;
***** '''location''': The name of the game the user joined.&lt;br /&gt;
**** '''[delete]'''&lt;br /&gt;
***** '''location''': &amp;quot;x&amp;quot; when a game was left.&lt;br /&gt;
*** '''[gamelist]'''&lt;br /&gt;
**** '''index''': Index of the game in question.&lt;br /&gt;
**** '''[insert_child]''': A game started.&lt;br /&gt;
***** '''[game]''' All the usual keys of [game] possible, see above.&lt;br /&gt;
**** '''[delete_child]''': A game ended.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
**** '''[change_child]''': Something changed in a game.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
****** '''[insert]'''&lt;br /&gt;
******* '''slots''': The number of free slots in the form: free/max slots&lt;br /&gt;
******* '''turn''': The turn number in the form: current turn/max turns&lt;br /&gt;
****** '''[delete]'''&lt;br /&gt;
******* '''map''': &amp;quot;x&amp;quot; comes with every ''turn'' or ''slots'' change for games with shroud&lt;br /&gt;
******* '''mp_scenario''': &amp;quot;x&amp;quot; comes with ''turn'' and ''slots'' changes for games with no scenario id&lt;br /&gt;
&lt;br /&gt;
* '''[observer]''' or '''[observer_quit]''': server message - players joining([observer_quit] - quitting the lobby &amp;quot;game&amp;quot;)/quitting([observer] - joining the lobby &amp;quot;game&amp;quot;) a game&lt;br /&gt;
** '''name''': Username of the player/observer.&lt;br /&gt;
&lt;br /&gt;
== Game setup (the phase from creation to start) ==&lt;br /&gt;
To create a game the client sends:&lt;br /&gt;
* '''[create_game]'''&lt;br /&gt;
** '''name''': The title of the game.&lt;br /&gt;
&lt;br /&gt;
followed by a message with the scenario options as under [game] (see above) plus the scenario data ([time], [era], [side], etc. see [[ScenarioWML]])&lt;br /&gt;
&lt;br /&gt;
* '''[join]'''&lt;br /&gt;
** '''id''': The id of the game.&lt;br /&gt;
** '''observe''': Join the game as an observer.&lt;br /&gt;
&lt;br /&gt;
* '''[scenario_diff]''': [[ScenarioWML]] diff (side changes, etc.)&lt;br /&gt;
&lt;br /&gt;
* '''[start_game]''': sent by the host to start a game&lt;br /&gt;
* '''[leave_game]''': sent by the client when it leaves a game; sent by the server to make a client leave a game&lt;br /&gt;
&lt;br /&gt;
== In-game communication ==&lt;br /&gt;
&lt;br /&gt;
* '''[store_next_scenario]''': sent by the host - the scenario data (see [[ScenarioWML]]) to advance to the next scenario&lt;br /&gt;
* '''[load_next_scenario]''': sent by the client to request the data for the next scenario&lt;br /&gt;
* '''[next_scenario]''': data for the next scenario (see [[ScenarioWML]]), sent by the server on request&lt;br /&gt;
&lt;br /&gt;
* '''[info]''': sent by the host on game end - info about the game state&lt;br /&gt;
** '''type''': &amp;quot;termination&amp;quot; &lt;br /&gt;
** '''condition''': the termination reason&lt;br /&gt;
&lt;br /&gt;
* '''[change_controller]''': a player gives away one of his sides&lt;br /&gt;
** '''side''': the side to change controller&lt;br /&gt;
** '''player''': the nick of the player to take control&lt;br /&gt;
** '''own_side''': &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If a player leaves this is sent to the host for all sides he owned.&lt;br /&gt;
* '''side_drop''': The number of a side that dropped because a player left.&lt;br /&gt;
* '''controller''': The controller of that side. (&amp;quot;human&amp;quot;, &amp;quot;ai&amp;quot;, &amp;quot;network&amp;quot;, &amp;quot;none&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* '''[muteall]''': the host mutes/unmutes all observers - toggles&lt;br /&gt;
* '''[mute]''': the host mutes an observer - toggles&lt;br /&gt;
** '''username''': the username of the observer - if not specified the servers returns a list of muted usernames&lt;br /&gt;
* '''[kick]''' or '''[ban]''': the host kicks/bans a player/observer&lt;br /&gt;
** '''username''': the username of the player/observer&lt;br /&gt;
&lt;br /&gt;
* '''[turn]'''&lt;br /&gt;
** '''[command]''': (repeated) can contain all the tags you can find in a replay: [recruit], [move], [end_turn], etc.&lt;br /&gt;
*** '''[speak]'''&lt;br /&gt;
**** '''message''': text of the message&lt;br /&gt;
**** '''description''': the sender (in 1.4 and earlier; later replaced by '''id''')&lt;br /&gt;
**** '''id''': the sender {{DevFeature}}&lt;br /&gt;
**** '''team_name''': the name of the team the message is for - empty if it's a public message&lt;br /&gt;
&lt;br /&gt;
== Administrative commands ==&lt;br /&gt;
* '''[query]'''&lt;br /&gt;
** '''type''': The type of query. See [[ServerAdministration]] for details.&lt;br /&gt;
&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=26707</id>
		<title>MultiplayerServerWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=26707"/>
		<updated>2008-09-13T16:58:23Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* The login procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Multiplayer Server WML =&lt;br /&gt;
This page describes the WML used to communicate with the multiplayer server (wesnothd).&lt;br /&gt;
&lt;br /&gt;
== The login procedure ==&lt;br /&gt;
&lt;br /&gt;
* server request (optional)&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
*** '''version''': The client's version string.&lt;br /&gt;
&lt;br /&gt;
* server request&lt;br /&gt;
** '''[mustlogin]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[login]'''&lt;br /&gt;
*** '''username''': The username the client would like to have.&lt;br /&gt;
*** '''password_reminder''': If &amp;quot;yes&amp;quot; the client requests the server to send a password reminder for the provided username.&lt;br /&gt;
*** '''password''': The hashed password, created from the username, the password and salt received from the server.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[join_lobby]'''&lt;br /&gt;
** or&lt;br /&gt;
** '''[error]'''&lt;br /&gt;
*** '''message''': The error message.&lt;br /&gt;
*** '''password_request''': If not empty the server asks the client to provide a password for its desired username&lt;br /&gt;
*** '''random_salt''': Random salt sent to the client for mixing with the password hash.&lt;br /&gt;
*** '''hash_seed''': Salt generated from the original hash that is required to recreate it.&lt;br /&gt;
*** '''salt''': Salt generated from the original hash that is required to recreate it.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[gamelist]'''&lt;br /&gt;
*** '''[game]''' (repeated)&lt;br /&gt;
**** '''id''': A unique id of the game.&lt;br /&gt;
**** '''name''': The title of the game.&lt;br /&gt;
**** '''mp_scenario''': The id of the scenario.&lt;br /&gt;
**** '''mp_era''': The id of the used era.&lt;br /&gt;
**** ''mp_use_map_settings''': Does the game use the map settings specified in the scenario.&lt;br /&gt;
**** '''mp_fog''': Does the game use fog.&lt;br /&gt;
**** '''mp_shroud''': Does the game use shroud.&lt;br /&gt;
**** '''mp_village_gold''': The number of gold per village.&lt;br /&gt;
**** '''experience_modifier''': The experience setting.&lt;br /&gt;
**** '''mp_countdown''': Does the game use a timer.&lt;br /&gt;
**** '''mp_countdown_reservoir_time''': Upper limit of the possibly available time.&lt;br /&gt;
**** '''mp_countdown_init_time''': Initial time.&lt;br /&gt;
**** '''mp_countdown_action_bonus''': Time bonus per action.&lt;br /&gt;
**** '''mp_countdown_turn_bonus''': Time bonus per turn.&lt;br /&gt;
**** '''map_data''': The map data.&lt;br /&gt;
**** '''hash''': The hash value of the map_data.&lt;br /&gt;
**** '''observer''': Are observers allowed or not.&lt;br /&gt;
**** '''human_sides''': The number of sides played by humans.&lt;br /&gt;
**** '''slots''': The number of vacant/max slots.&lt;br /&gt;
**** '''turn''': The current turn/max turn.&lt;br /&gt;
** '''[user]''' (repeated)&lt;br /&gt;
*** '''name''': The username of the player.&lt;br /&gt;
*** '''game_id''': The ID of the game the player is in (version 1.3.7+svn).&lt;br /&gt;
*** '''location''': The name of the game the player is in.&lt;br /&gt;
*** '''available''': &amp;quot;yes&amp;quot; if the player is in the lobby; &amp;quot;no&amp;quot; if in a game.&lt;br /&gt;
Many of the keys under [game] are described more indepth on the [[ScenarioWML]] page.&lt;br /&gt;
&lt;br /&gt;
== Error messages ==&lt;br /&gt;
&lt;br /&gt;
* '''[error]'''&lt;br /&gt;
** '''message''': The error message.&lt;br /&gt;
&lt;br /&gt;
== Chat (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[message]'''&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the message.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
* '''[whisper]'''&lt;br /&gt;
** '''receiver''': The receiver of the whisper&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the whisper.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
&lt;br /&gt;
== Updating the lobby state ==&lt;br /&gt;
&lt;br /&gt;
* '''[gamelist_diff]''': server message - basically a diff from two [gamelist]s; the keys listed are the ones that actually occure in practice&lt;br /&gt;
** '''index''': The index of a user.&lt;br /&gt;
** '''[insert_child]''' A new user logged on.&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''name''': The name of the user.&lt;br /&gt;
**** ''available'' &amp;quot;yes&amp;quot;&lt;br /&gt;
*** '''[delete_child]''' A user logged off.&lt;br /&gt;
** '''[change_child]'''&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''[insert]''': A user joined/left a game.&lt;br /&gt;
***** '''available''': &amp;quot;yes&amp;quot; when the user left a game. &amp;quot;no&amp;quot; when the user joined a game&lt;br /&gt;
***** '''location''': The name of the game the user joined.&lt;br /&gt;
**** '''[delete]'''&lt;br /&gt;
***** '''location''': &amp;quot;x&amp;quot; when a game was left.&lt;br /&gt;
*** '''[gamelist]'''&lt;br /&gt;
**** '''index''': Index of the game in question.&lt;br /&gt;
**** '''[insert_child]''': A game started.&lt;br /&gt;
***** '''[game]''' All the usual keys of [game] possible, see above.&lt;br /&gt;
**** '''[delete_child]''': A game ended.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
**** '''[change_child]''': Something changed in a game.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
****** '''[insert]'''&lt;br /&gt;
******* '''slots''': The number of free slots in the form: free/max slots&lt;br /&gt;
******* '''turn''': The turn number in the form: current turn/max turns&lt;br /&gt;
****** '''[delete]'''&lt;br /&gt;
******* '''map''': &amp;quot;x&amp;quot; comes with every ''turn'' or ''slots'' change for games with shroud&lt;br /&gt;
******* '''mp_scenario''': &amp;quot;x&amp;quot; comes with ''turn'' and ''slots'' changes for games with no scenario id&lt;br /&gt;
&lt;br /&gt;
* '''[observer]''' or '''[observer_quit]''': server message - players joining([observer_quit] - quitting the lobby &amp;quot;game&amp;quot;)/quitting([observer] - joining the lobby &amp;quot;game&amp;quot;) a game&lt;br /&gt;
** '''name''': Username of the player/observer.&lt;br /&gt;
&lt;br /&gt;
== Game setup (the phase from creation to start) ==&lt;br /&gt;
To create a game the client sends:&lt;br /&gt;
* '''[create_game]'''&lt;br /&gt;
** '''name''': The title of the game.&lt;br /&gt;
&lt;br /&gt;
followed by a message with the scenario options as under [game] (see above) plus the scenario data ([time], [era], [side], etc. see [[ScenarioWML]])&lt;br /&gt;
&lt;br /&gt;
* '''[join]'''&lt;br /&gt;
** '''id''': The id of the game.&lt;br /&gt;
** '''observe''': Join the game as an observer.&lt;br /&gt;
&lt;br /&gt;
* '''[scenario_diff]''': [[ScenarioWML]] diff (side changes, etc.)&lt;br /&gt;
&lt;br /&gt;
* '''[start_game]''': sent by the host to start a game&lt;br /&gt;
* '''[leave_game]''': sent by the client when it leaves a game; sent by the server to make a client leave a game&lt;br /&gt;
&lt;br /&gt;
== In-game communication ==&lt;br /&gt;
&lt;br /&gt;
* '''[store_next_scenario]''': sent by the host - the scenario data (see [[ScenarioWML]]) to advance to the next scenario&lt;br /&gt;
* '''[load_next_scenario]''': sent by the client to request the data for the next scenario&lt;br /&gt;
* '''[next_scenario]''': data for the next scenario (see [[ScenarioWML]]), sent by the server on request&lt;br /&gt;
&lt;br /&gt;
* '''[info]''': sent by the host on game end - info about the game state&lt;br /&gt;
** '''type''': &amp;quot;termination&amp;quot; &lt;br /&gt;
** '''condition''': the termination reason&lt;br /&gt;
&lt;br /&gt;
* '''[change_controller]''': a player gives away one of his sides&lt;br /&gt;
** '''side''': the side to change controller&lt;br /&gt;
** '''player''': the nick of the player to take control&lt;br /&gt;
** '''own_side''': &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If a player leaves this is sent to the host for all sides he owned.&lt;br /&gt;
* '''side_drop''': The number of a side that dropped because a player left.&lt;br /&gt;
* '''controller''': The controller of that side. (&amp;quot;human&amp;quot;, &amp;quot;ai&amp;quot;, &amp;quot;network&amp;quot;, &amp;quot;none&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* '''[muteall]''': the host mutes/unmutes all observers - toggles&lt;br /&gt;
* '''[mute]''': the host mutes an observer - toggles&lt;br /&gt;
** '''username''': the username of the observer - if not specified the servers returns a list of muted usernames&lt;br /&gt;
* '''[kick]''' or '''[ban]''': the host kicks/bans a player/observer&lt;br /&gt;
** '''username''': the username of the player/observer&lt;br /&gt;
&lt;br /&gt;
* '''[turn]'''&lt;br /&gt;
** '''[command]''': (repeated) can contain all the tags you can find in a replay: [recruit], [move], [end_turn], etc.&lt;br /&gt;
*** '''[speak]'''&lt;br /&gt;
**** '''message''': text of the message&lt;br /&gt;
**** '''description''': the sender (in 1.4 and earlier; later replaced by '''id''')&lt;br /&gt;
**** '''id''': the sender {{DevFeature}}&lt;br /&gt;
**** '''team_name''': the name of the team the message is for - empty if it's a public message&lt;br /&gt;
&lt;br /&gt;
== Administrative commands ==&lt;br /&gt;
* '''[query]'''&lt;br /&gt;
** '''type''': The type of query. See [[ServerAdministration]] for details.&lt;br /&gt;
&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=26706</id>
		<title>MultiplayerServerWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=26706"/>
		<updated>2008-09-13T16:50:52Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* The login procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Multiplayer Server WML =&lt;br /&gt;
This page describes the WML used to communicate with the multiplayer server (wesnothd).&lt;br /&gt;
&lt;br /&gt;
== The login procedure ==&lt;br /&gt;
&lt;br /&gt;
* server request (optional)&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
*** '''version''': The client's version string.&lt;br /&gt;
&lt;br /&gt;
* server request&lt;br /&gt;
** '''[mustlogin]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[login]'''&lt;br /&gt;
*** '''username''': The username the client would like to have.&lt;br /&gt;
*** '''password_reminder''': If &amp;quot;yes&amp;quot; the client requests the server to send a password reminder for the provided username.&lt;br /&gt;
*** '''password''': The hashed password, created from the username, the password and salt received from the server.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[join_lobby]'''&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[gamelist]'''&lt;br /&gt;
*** '''[game]''' (repeated)&lt;br /&gt;
**** '''id''': A unique id of the game.&lt;br /&gt;
**** '''name''': The title of the game.&lt;br /&gt;
**** '''mp_scenario''': The id of the scenario.&lt;br /&gt;
**** '''mp_era''': The id of the used era.&lt;br /&gt;
**** ''mp_use_map_settings''': Does the game use the map settings specified in the scenario.&lt;br /&gt;
**** '''mp_fog''': Does the game use fog.&lt;br /&gt;
**** '''mp_shroud''': Does the game use shroud.&lt;br /&gt;
**** '''mp_village_gold''': The number of gold per village.&lt;br /&gt;
**** '''experience_modifier''': The experience setting.&lt;br /&gt;
**** '''mp_countdown''': Does the game use a timer.&lt;br /&gt;
**** '''mp_countdown_reservoir_time''': Upper limit of the possibly available time.&lt;br /&gt;
**** '''mp_countdown_init_time''': Initial time.&lt;br /&gt;
**** '''mp_countdown_action_bonus''': Time bonus per action.&lt;br /&gt;
**** '''mp_countdown_turn_bonus''': Time bonus per turn.&lt;br /&gt;
**** '''map_data''': The map data.&lt;br /&gt;
**** '''hash''': The hash value of the map_data.&lt;br /&gt;
**** '''observer''': Are observers allowed or not.&lt;br /&gt;
**** '''human_sides''': The number of sides played by humans.&lt;br /&gt;
**** '''slots''': The number of vacant/max slots.&lt;br /&gt;
**** '''turn''': The current turn/max turn.&lt;br /&gt;
** '''[user]''' (repeated)&lt;br /&gt;
*** '''name''': The username of the player.&lt;br /&gt;
*** '''game_id''': The ID of the game the player is in (version 1.3.7+svn).&lt;br /&gt;
*** '''location''': The name of the game the player is in.&lt;br /&gt;
*** '''available''': &amp;quot;yes&amp;quot; if the player is in the lobby; &amp;quot;no&amp;quot; if in a game.&lt;br /&gt;
Many of the keys under [game] are described more indepth on the [[ScenarioWML]] page.&lt;br /&gt;
&lt;br /&gt;
== Error messages ==&lt;br /&gt;
&lt;br /&gt;
* '''[error]'''&lt;br /&gt;
** '''message''': The error message.&lt;br /&gt;
&lt;br /&gt;
== Chat (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[message]'''&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the message.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
* '''[whisper]'''&lt;br /&gt;
** '''receiver''': The receiver of the whisper&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the whisper.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
&lt;br /&gt;
== Updating the lobby state ==&lt;br /&gt;
&lt;br /&gt;
* '''[gamelist_diff]''': server message - basically a diff from two [gamelist]s; the keys listed are the ones that actually occure in practice&lt;br /&gt;
** '''index''': The index of a user.&lt;br /&gt;
** '''[insert_child]''' A new user logged on.&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''name''': The name of the user.&lt;br /&gt;
**** ''available'' &amp;quot;yes&amp;quot;&lt;br /&gt;
*** '''[delete_child]''' A user logged off.&lt;br /&gt;
** '''[change_child]'''&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''[insert]''': A user joined/left a game.&lt;br /&gt;
***** '''available''': &amp;quot;yes&amp;quot; when the user left a game. &amp;quot;no&amp;quot; when the user joined a game&lt;br /&gt;
***** '''location''': The name of the game the user joined.&lt;br /&gt;
**** '''[delete]'''&lt;br /&gt;
***** '''location''': &amp;quot;x&amp;quot; when a game was left.&lt;br /&gt;
*** '''[gamelist]'''&lt;br /&gt;
**** '''index''': Index of the game in question.&lt;br /&gt;
**** '''[insert_child]''': A game started.&lt;br /&gt;
***** '''[game]''' All the usual keys of [game] possible, see above.&lt;br /&gt;
**** '''[delete_child]''': A game ended.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
**** '''[change_child]''': Something changed in a game.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
****** '''[insert]'''&lt;br /&gt;
******* '''slots''': The number of free slots in the form: free/max slots&lt;br /&gt;
******* '''turn''': The turn number in the form: current turn/max turns&lt;br /&gt;
****** '''[delete]'''&lt;br /&gt;
******* '''map''': &amp;quot;x&amp;quot; comes with every ''turn'' or ''slots'' change for games with shroud&lt;br /&gt;
******* '''mp_scenario''': &amp;quot;x&amp;quot; comes with ''turn'' and ''slots'' changes for games with no scenario id&lt;br /&gt;
&lt;br /&gt;
* '''[observer]''' or '''[observer_quit]''': server message - players joining([observer_quit] - quitting the lobby &amp;quot;game&amp;quot;)/quitting([observer] - joining the lobby &amp;quot;game&amp;quot;) a game&lt;br /&gt;
** '''name''': Username of the player/observer.&lt;br /&gt;
&lt;br /&gt;
== Game setup (the phase from creation to start) ==&lt;br /&gt;
To create a game the client sends:&lt;br /&gt;
* '''[create_game]'''&lt;br /&gt;
** '''name''': The title of the game.&lt;br /&gt;
&lt;br /&gt;
followed by a message with the scenario options as under [game] (see above) plus the scenario data ([time], [era], [side], etc. see [[ScenarioWML]])&lt;br /&gt;
&lt;br /&gt;
* '''[join]'''&lt;br /&gt;
** '''id''': The id of the game.&lt;br /&gt;
** '''observe''': Join the game as an observer.&lt;br /&gt;
&lt;br /&gt;
* '''[scenario_diff]''': [[ScenarioWML]] diff (side changes, etc.)&lt;br /&gt;
&lt;br /&gt;
* '''[start_game]''': sent by the host to start a game&lt;br /&gt;
* '''[leave_game]''': sent by the client when it leaves a game; sent by the server to make a client leave a game&lt;br /&gt;
&lt;br /&gt;
== In-game communication ==&lt;br /&gt;
&lt;br /&gt;
* '''[store_next_scenario]''': sent by the host - the scenario data (see [[ScenarioWML]]) to advance to the next scenario&lt;br /&gt;
* '''[load_next_scenario]''': sent by the client to request the data for the next scenario&lt;br /&gt;
* '''[next_scenario]''': data for the next scenario (see [[ScenarioWML]]), sent by the server on request&lt;br /&gt;
&lt;br /&gt;
* '''[info]''': sent by the host on game end - info about the game state&lt;br /&gt;
** '''type''': &amp;quot;termination&amp;quot; &lt;br /&gt;
** '''condition''': the termination reason&lt;br /&gt;
&lt;br /&gt;
* '''[change_controller]''': a player gives away one of his sides&lt;br /&gt;
** '''side''': the side to change controller&lt;br /&gt;
** '''player''': the nick of the player to take control&lt;br /&gt;
** '''own_side''': &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If a player leaves this is sent to the host for all sides he owned.&lt;br /&gt;
* '''side_drop''': The number of a side that dropped because a player left.&lt;br /&gt;
* '''controller''': The controller of that side. (&amp;quot;human&amp;quot;, &amp;quot;ai&amp;quot;, &amp;quot;network&amp;quot;, &amp;quot;none&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* '''[muteall]''': the host mutes/unmutes all observers - toggles&lt;br /&gt;
* '''[mute]''': the host mutes an observer - toggles&lt;br /&gt;
** '''username''': the username of the observer - if not specified the servers returns a list of muted usernames&lt;br /&gt;
* '''[kick]''' or '''[ban]''': the host kicks/bans a player/observer&lt;br /&gt;
** '''username''': the username of the player/observer&lt;br /&gt;
&lt;br /&gt;
* '''[turn]'''&lt;br /&gt;
** '''[command]''': (repeated) can contain all the tags you can find in a replay: [recruit], [move], [end_turn], etc.&lt;br /&gt;
*** '''[speak]'''&lt;br /&gt;
**** '''message''': text of the message&lt;br /&gt;
**** '''description''': the sender (in 1.4 and earlier; later replaced by '''id''')&lt;br /&gt;
**** '''id''': the sender {{DevFeature}}&lt;br /&gt;
**** '''team_name''': the name of the team the message is for - empty if it's a public message&lt;br /&gt;
&lt;br /&gt;
== Administrative commands ==&lt;br /&gt;
* '''[query]'''&lt;br /&gt;
** '''type''': The type of query. See [[ServerAdministration]] for details.&lt;br /&gt;
&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=26705</id>
		<title>MultiplayerServerWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=MultiplayerServerWML&amp;diff=26705"/>
		<updated>2008-09-13T16:50:15Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* The login procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Multiplayer Server WML =&lt;br /&gt;
This page describes the WML used to communicate with the multiplayer server (wesnothd).&lt;br /&gt;
&lt;br /&gt;
== The login procedure ==&lt;br /&gt;
&lt;br /&gt;
* server request (optional)&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[version]'''&lt;br /&gt;
*** '''version''': The client's version string.&lt;br /&gt;
&lt;br /&gt;
* server request&lt;br /&gt;
** '''[mustlogin]'''&lt;br /&gt;
&lt;br /&gt;
* client response&lt;br /&gt;
** '''[login]'''&lt;br /&gt;
*** '''username''': The username the client would like to have.&lt;br /&gt;
*** '''password_reminder''': If &amp;quot;yes&amp;quot; the client requests the server to send a password reminder for the provided.&lt;br /&gt;
username.&lt;br /&gt;
*** '''password''': The hashed password, created from the username, the password and salt received from the server.&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[join_lobby]'''&lt;br /&gt;
&lt;br /&gt;
* server response&lt;br /&gt;
** '''[gamelist]'''&lt;br /&gt;
*** '''[game]''' (repeated)&lt;br /&gt;
**** '''id''': A unique id of the game.&lt;br /&gt;
**** '''name''': The title of the game.&lt;br /&gt;
**** '''mp_scenario''': The id of the scenario.&lt;br /&gt;
**** '''mp_era''': The id of the used era.&lt;br /&gt;
**** ''mp_use_map_settings''': Does the game use the map settings specified in the scenario.&lt;br /&gt;
**** '''mp_fog''': Does the game use fog.&lt;br /&gt;
**** '''mp_shroud''': Does the game use shroud.&lt;br /&gt;
**** '''mp_village_gold''': The number of gold per village.&lt;br /&gt;
**** '''experience_modifier''': The experience setting.&lt;br /&gt;
**** '''mp_countdown''': Does the game use a timer.&lt;br /&gt;
**** '''mp_countdown_reservoir_time''': Upper limit of the possibly available time.&lt;br /&gt;
**** '''mp_countdown_init_time''': Initial time.&lt;br /&gt;
**** '''mp_countdown_action_bonus''': Time bonus per action.&lt;br /&gt;
**** '''mp_countdown_turn_bonus''': Time bonus per turn.&lt;br /&gt;
**** '''map_data''': The map data.&lt;br /&gt;
**** '''hash''': The hash value of the map_data.&lt;br /&gt;
**** '''observer''': Are observers allowed or not.&lt;br /&gt;
**** '''human_sides''': The number of sides played by humans.&lt;br /&gt;
**** '''slots''': The number of vacant/max slots.&lt;br /&gt;
**** '''turn''': The current turn/max turn.&lt;br /&gt;
** '''[user]''' (repeated)&lt;br /&gt;
*** '''name''': The username of the player.&lt;br /&gt;
*** '''game_id''': The ID of the game the player is in (version 1.3.7+svn).&lt;br /&gt;
*** '''location''': The name of the game the player is in.&lt;br /&gt;
*** '''available''': &amp;quot;yes&amp;quot; if the player is in the lobby; &amp;quot;no&amp;quot; if in a game.&lt;br /&gt;
Many of the keys under [game] are described more indepth on the [[ScenarioWML]] page.&lt;br /&gt;
&lt;br /&gt;
== Error messages ==&lt;br /&gt;
&lt;br /&gt;
* '''[error]'''&lt;br /&gt;
** '''message''': The error message.&lt;br /&gt;
&lt;br /&gt;
== Chat (lobby and in-game) ==&lt;br /&gt;
&lt;br /&gt;
* '''[message]'''&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the message.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
* '''[whisper]'''&lt;br /&gt;
** '''receiver''': The receiver of the whisper&lt;br /&gt;
** '''sender''': (optional - filled by the server) The sender of the whisper.&lt;br /&gt;
** '''message''': The message itself.&lt;br /&gt;
&lt;br /&gt;
== Updating the lobby state ==&lt;br /&gt;
&lt;br /&gt;
* '''[gamelist_diff]''': server message - basically a diff from two [gamelist]s; the keys listed are the ones that actually occure in practice&lt;br /&gt;
** '''index''': The index of a user.&lt;br /&gt;
** '''[insert_child]''' A new user logged on.&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''name''': The name of the user.&lt;br /&gt;
**** ''available'' &amp;quot;yes&amp;quot;&lt;br /&gt;
*** '''[delete_child]''' A user logged off.&lt;br /&gt;
** '''[change_child]'''&lt;br /&gt;
*** '''[user]'''&lt;br /&gt;
**** '''[insert]''': A user joined/left a game.&lt;br /&gt;
***** '''available''': &amp;quot;yes&amp;quot; when the user left a game. &amp;quot;no&amp;quot; when the user joined a game&lt;br /&gt;
***** '''location''': The name of the game the user joined.&lt;br /&gt;
**** '''[delete]'''&lt;br /&gt;
***** '''location''': &amp;quot;x&amp;quot; when a game was left.&lt;br /&gt;
*** '''[gamelist]'''&lt;br /&gt;
**** '''index''': Index of the game in question.&lt;br /&gt;
**** '''[insert_child]''': A game started.&lt;br /&gt;
***** '''[game]''' All the usual keys of [game] possible, see above.&lt;br /&gt;
**** '''[delete_child]''': A game ended.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
**** '''[change_child]''': Something changed in a game.&lt;br /&gt;
***** '''[game]'''&lt;br /&gt;
****** '''[insert]'''&lt;br /&gt;
******* '''slots''': The number of free slots in the form: free/max slots&lt;br /&gt;
******* '''turn''': The turn number in the form: current turn/max turns&lt;br /&gt;
****** '''[delete]'''&lt;br /&gt;
******* '''map''': &amp;quot;x&amp;quot; comes with every ''turn'' or ''slots'' change for games with shroud&lt;br /&gt;
******* '''mp_scenario''': &amp;quot;x&amp;quot; comes with ''turn'' and ''slots'' changes for games with no scenario id&lt;br /&gt;
&lt;br /&gt;
* '''[observer]''' or '''[observer_quit]''': server message - players joining([observer_quit] - quitting the lobby &amp;quot;game&amp;quot;)/quitting([observer] - joining the lobby &amp;quot;game&amp;quot;) a game&lt;br /&gt;
** '''name''': Username of the player/observer.&lt;br /&gt;
&lt;br /&gt;
== Game setup (the phase from creation to start) ==&lt;br /&gt;
To create a game the client sends:&lt;br /&gt;
* '''[create_game]'''&lt;br /&gt;
** '''name''': The title of the game.&lt;br /&gt;
&lt;br /&gt;
followed by a message with the scenario options as under [game] (see above) plus the scenario data ([time], [era], [side], etc. see [[ScenarioWML]])&lt;br /&gt;
&lt;br /&gt;
* '''[join]'''&lt;br /&gt;
** '''id''': The id of the game.&lt;br /&gt;
** '''observe''': Join the game as an observer.&lt;br /&gt;
&lt;br /&gt;
* '''[scenario_diff]''': [[ScenarioWML]] diff (side changes, etc.)&lt;br /&gt;
&lt;br /&gt;
* '''[start_game]''': sent by the host to start a game&lt;br /&gt;
* '''[leave_game]''': sent by the client when it leaves a game; sent by the server to make a client leave a game&lt;br /&gt;
&lt;br /&gt;
== In-game communication ==&lt;br /&gt;
&lt;br /&gt;
* '''[store_next_scenario]''': sent by the host - the scenario data (see [[ScenarioWML]]) to advance to the next scenario&lt;br /&gt;
* '''[load_next_scenario]''': sent by the client to request the data for the next scenario&lt;br /&gt;
* '''[next_scenario]''': data for the next scenario (see [[ScenarioWML]]), sent by the server on request&lt;br /&gt;
&lt;br /&gt;
* '''[info]''': sent by the host on game end - info about the game state&lt;br /&gt;
** '''type''': &amp;quot;termination&amp;quot; &lt;br /&gt;
** '''condition''': the termination reason&lt;br /&gt;
&lt;br /&gt;
* '''[change_controller]''': a player gives away one of his sides&lt;br /&gt;
** '''side''': the side to change controller&lt;br /&gt;
** '''player''': the nick of the player to take control&lt;br /&gt;
** '''own_side''': &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If a player leaves this is sent to the host for all sides he owned.&lt;br /&gt;
* '''side_drop''': The number of a side that dropped because a player left.&lt;br /&gt;
* '''controller''': The controller of that side. (&amp;quot;human&amp;quot;, &amp;quot;ai&amp;quot;, &amp;quot;network&amp;quot;, &amp;quot;none&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* '''[muteall]''': the host mutes/unmutes all observers - toggles&lt;br /&gt;
* '''[mute]''': the host mutes an observer - toggles&lt;br /&gt;
** '''username''': the username of the observer - if not specified the servers returns a list of muted usernames&lt;br /&gt;
* '''[kick]''' or '''[ban]''': the host kicks/bans a player/observer&lt;br /&gt;
** '''username''': the username of the player/observer&lt;br /&gt;
&lt;br /&gt;
* '''[turn]'''&lt;br /&gt;
** '''[command]''': (repeated) can contain all the tags you can find in a replay: [recruit], [move], [end_turn], etc.&lt;br /&gt;
*** '''[speak]'''&lt;br /&gt;
**** '''message''': text of the message&lt;br /&gt;
**** '''description''': the sender (in 1.4 and earlier; later replaced by '''id''')&lt;br /&gt;
**** '''id''': the sender {{DevFeature}}&lt;br /&gt;
**** '''team_name''': the name of the team the message is for - empty if it's a public message&lt;br /&gt;
&lt;br /&gt;
== Administrative commands ==&lt;br /&gt;
* '''[query]'''&lt;br /&gt;
** '''type''': The type of query. See [[ServerAdministration]] for details.&lt;br /&gt;
&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Baufo&amp;diff=16433</id>
		<title>User:Baufo</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Baufo&amp;diff=16433"/>
		<updated>2007-07-14T09:15:19Z</updated>

		<summary type="html">&lt;p&gt;Baufo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Name: Thomas Baumhauer&lt;br /&gt;
* Location: Vienna, Austria&lt;br /&gt;
* [http://www.wesnoth.org/forum/profile.php?mode=viewprofile&amp;amp;u=102738 Forum profile]&lt;br /&gt;
* Email: [mailto:baufo_ATTHEHOST_gmx_DOT_at baufo ATTHEHOST gmx DOT at]&lt;br /&gt;
* Weblog: [http://baufo.freehostia.com Baufo Speaks]&lt;br /&gt;
&lt;br /&gt;
== Contributions ==&lt;br /&gt;
* Multiplayer content&lt;br /&gt;
** Defense of the Goblin ([http://www.wesnoth.org/forum/viewtopic.php?t=12566 forum thread])&lt;br /&gt;
** The Dwarvish Treasure ([http://www.wesnoth.org/forum/viewtopic.php?t=12681 forum thread])&lt;br /&gt;
** (and some plain maps)&lt;br /&gt;
* Singleplayer content&lt;br /&gt;
** Currently maintaining Descent into Darkness ([http://www.wesnoth.org/forum/viewtopic.php?t=13776 forum thread])&lt;br /&gt;
* Coding&lt;br /&gt;
** Friendslist for multiplayer&lt;br /&gt;
** (and some minor fixes)&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Baufo&amp;diff=16241</id>
		<title>User:Baufo</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Baufo&amp;diff=16241"/>
		<updated>2007-07-01T14:05:05Z</updated>

		<summary type="html">&lt;p&gt;Baufo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Name: Thomas Baumhauer&lt;br /&gt;
* Location: Vienna, Austria&lt;br /&gt;
* Email: [mailto:baufo_ATTHEHOST_gmx_DOT_at baufo ATTHEHOST gmx DOT at]&lt;br /&gt;
* Weblog: [http://baufo.freehostia.com Baufo Speaks]&lt;br /&gt;
&lt;br /&gt;
== Contributions ==&lt;br /&gt;
* Multiplayer content&lt;br /&gt;
** Defense of the Goblin ([http://www.wesnoth.org/forum/viewtopic.php?t=12566 forum thread])&lt;br /&gt;
** The Dwarvish Treasure ([http://www.wesnoth.org/forum/viewtopic.php?t=12681 forum thread])&lt;br /&gt;
** (and some plain maps)&lt;br /&gt;
* Singleplayer content&lt;br /&gt;
** Currently maintaining Descent into Darkness ([http://www.wesnoth.org/forum/viewtopic.php?t=13776 forum thread])&lt;br /&gt;
* Coding&lt;br /&gt;
** Friendslist for multiplayer&lt;br /&gt;
** (and some minor fixes)&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Credits&amp;diff=16238</id>
		<title>Credits</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Credits&amp;diff=16238"/>
		<updated>2007-07-01T08:46:07Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
__TOC__&lt;br /&gt;
|}&lt;br /&gt;
In July 2003, '''David White''' released the first version of Wesnoth. Since then, many people have joined the project, contributing in very different ways.&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
====Coders, (minor and major)====&lt;br /&gt;
* Alfredo Beaumont (ziberpunk) - autotools&lt;br /&gt;
* András Salamon ([[User:Ott|ott]]) - QA, bug fixing, subediting, game mechanics&lt;br /&gt;
* Benoît Timbert (Noyga) - coder&lt;br /&gt;
* Bram Ridder (Morloth) - editor improvements&lt;br /&gt;
* [[User:bruno|Bruno Wolff III]] - Campaign web interface, [[MainlineScenarios#The_Dark_Hordes|The Dark Hordes]] maintainer, bug fixing, minor coder&lt;br /&gt;
* Cédric Duval - coder, internationalization manager&lt;br /&gt;
* David Philippi (Torangan) - internationalization manager, wescamp&lt;br /&gt;
* [mailto:davidnwhite_AT_verizon.net David White] (Sirp) - founder, lead developer, scenario designer&lt;br /&gt;
* Dominic Bolin (Xan) - programmer&lt;br /&gt;
* Guillaume Melquiond (silene) - coding, bug fixes&lt;br /&gt;
* Jérémy Rosen (Boucman) - coder&lt;br /&gt;
* Jörg Hinrichs (Yogi Bear/YogiHH) - coder&lt;br /&gt;
* Jon Daniel (forcemstr) - coder, bug fixes&lt;br /&gt;
*  J. W. C. McNabb (Darth Fool) - coder, graphics&lt;br /&gt;
* [mailto:justin.zaun_AT_gmail.com Justin Zaun] (jzaun) - coder, scenario designer&lt;br /&gt;
* [mailto:erl_AT_erl.se Kristoffer Erlandsson] (erl) - help system, editor&lt;br /&gt;
* Nicolas Weeger (ryo) - Python API&lt;br /&gt;
* [mailto:patrick_x99(AT).hotmail.com Patrick Parker] ([[User:Sapient|Sapient]]) - improvements to user interface, WML engine, various features&lt;br /&gt;
* [mailto:philippe.plantier_AT_naema.org Philippe Plantier] ([[User:Ayin|Ayin]]) - several parts of the code, notably terrain graphics code&lt;br /&gt;
* [mailto:ydirson_AT_altern.org Yann Dirson] - gettext support, tinygui&lt;br /&gt;
* [mailto:esr&amp;amp;x40;thyrsus.com Eric S. Raymond] - macro and tools cleanup&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
* Benjamin Drieu (benj) - campaign writer (wrote &amp;quot;Son of the Black Eye&amp;quot;)&lt;br /&gt;
* [mailto:dragonking_AT_o2.pl Bartek Waresiak] (Dragonking) - multiplayer balancing&lt;br /&gt;
* Crossbow/Miyo - administrator, release manager&lt;br /&gt;
* esci - campaign writer (wrote &amp;quot;Descent into Darkness&amp;quot;)&lt;br /&gt;
* Francisco Muñoz (fmunoz) - artwork manager, many images, scenario designer (also listed below)&lt;br /&gt;
* Hogne Håskjold (frame) - terrain designer (also listed below)&lt;br /&gt;
* [mailto:isaac_AT_sindominio.net Isaac Clerencia] - administrator, release manager, debian packager&lt;br /&gt;
* James Spencer (Shade) - campaign writer (wrote &amp;quot;The Rise of Wesnoth&amp;quot;)&lt;br /&gt;
* [mailto:jorda_AT_ettin.org Jordà Polo] (ettin) - website, i18n&lt;br /&gt;
* Joseph Simmons (Turin) - campaign writer, some graphics (wrote &amp;quot;The Eastern Invasion,&amp;quot; and others)&lt;br /&gt;
* Mark Michelsen (skovbaer) - internationalization manager&lt;br /&gt;
* Mike Quiñones (Doc Paterson) - multiplayer balancing, multiplayer maps&lt;br /&gt;
* [mailto:Crazy-Ivanovic_AT_gmx.net Nils Kneuper] (Ivanovic) - administrator, campaign maintainer (Two Brothers), internationalization manager, release manager&lt;br /&gt;
* Richard Kettering (Jetryl) - artwork manager, many images (also listed below)&lt;br /&gt;
* Richard S. (Noy) - multiplayer balancing&lt;br /&gt;
* Soliton - multiplayer balancing&lt;br /&gt;
* Susanna Björverud (sanna) - internationalization manager&lt;br /&gt;
* [mailto:baufo_AT_gmx_DOT_at Thomas Baumhauer] ([[User:Baufo|Baufo]])&lt;br /&gt;
* [mailto:kleinfel_AT_wpi.edu Zack Kleinfeld] - multiplayer maps, unit balancing&lt;br /&gt;
&lt;br /&gt;
====Unclassified====&lt;br /&gt;
* Jan Zvánovec (jaz)&lt;br /&gt;
* John B. Messerly (jbm)&lt;br /&gt;
* J.R. Blain (Cowboy)&lt;br /&gt;
* Maksim Orlovich (SadEagle)&lt;br /&gt;
* Zas&lt;br /&gt;
&lt;br /&gt;
== Artists ==&lt;br /&gt;
==== Major Contributors ====&lt;br /&gt;
* Francisco Muñoz (fmunoz) - Founding Artist and former lead artist, worked consistently on all aspects till around v0.7-0.9.&lt;br /&gt;
* Richard Kettering [http://www.wesnoth.org/wiki/User:Jetryl (Jetryl)] - Current art director/slave, major focus on sprites, portraits, buildings, and icons&lt;br /&gt;
* Hogne Håskjold (frame/freim) - Former director of terrain art, made much of the current terrains (esp. mountains)&lt;br /&gt;
* J. W. Bjerk [http://www.wesnoth.org/wiki/User:Eleazar (Eleazar)] - Terrain-art lead. Made chasm, cave, water, etc, sprite animations, various visual tweaks and clean-ups&lt;br /&gt;
* Pekka Aikio (pekka) - tiles, esp. castles, and attack icons&lt;br /&gt;
* Lari Nieminen (zookeeper) - Current sprite animation director and WML wizard&lt;br /&gt;
* James Woo (Pickslide) - portraits (major focus on orcs and campaigns, especially UtBS, TEI, TSoF)&lt;br /&gt;
* Jason Lutes - portraits (major focus on humans, some campaign portraits)&lt;br /&gt;
* ?? (Neoriceisgood) - sprite creator and animator (major focus on drakes, dwarves, saurians)&lt;br /&gt;
* Peter Geinitz (Shadow/Wayfarer) - sprite creator and animator&lt;br /&gt;
&lt;br /&gt;
==== Moderate Contributors ====&lt;br /&gt;
* Alex Jarocha-Ernst (Jormungandr) - portraits&lt;br /&gt;
* Moritz Göbelbecker (mog) - tiles, esp. swamp, encampment, ice, and work with lava/chasm&lt;br /&gt;
* Erkki Lonkainen (Eternal) - created and animated many replacement sprites (esp. ogre, orc assassin &amp;amp; spear units, and cockatrice)&lt;br /&gt;
* Maximiliano Buis (Redeth) - Made nearly all of the idle animations, and some death animations (as of 1.3.1)&lt;br /&gt;
* Leonhard ? (Leonhard) - made several of the new attack icons&lt;br /&gt;
* Michael Gil de Muro (grp21) - portraits (for the campaign &amp;quot;The Rise of Wesnoth&amp;quot;)&lt;br /&gt;
* Robert Bolin (Zebulon) - tiles, sprite editing and animations&lt;br /&gt;
* Christophe Anjard (Christophe33) - made many of the old (c. v0.6) terrains, and some sprites for the dwarves&lt;br /&gt;
* Johann de Venecia (Johann) - drew the new campaign story art for HttT&lt;br /&gt;
* Mark Goodenough (Ranger M) - Sprite animator&lt;br /&gt;
&lt;br /&gt;
==== Minor Contributors ====&lt;br /&gt;
&lt;br /&gt;
* Eli Dupree (Elvish Pillager) - sprites and animations&lt;br /&gt;
* Murray Cook (Zhukov) - Sprite animator&lt;br /&gt;
* Gerald Clears (Smok'em Jags) - sprite animator&lt;br /&gt;
* Jesse Holland (Kestenvarn) - map illustrator, designed the current map for HttT&lt;br /&gt;
* Mikko Kraft (Deserter) - Sprite animator&lt;br /&gt;
* Michael Mielewczik (Mille) - Sprite animator&lt;br /&gt;
* Stephen Stone (Disto) - Sprite animator&lt;br /&gt;
* Andrew James Patterson (Kamahawk) - sprites&lt;br /&gt;
* Diego Brea (Cobretti) - sprite creator/animator&lt;br /&gt;
* ?? (antwerpz) - sprite creator/animator for old saurian units&lt;br /&gt;
* Gareth Miller (Gafgarion) - made some early sprites/tiles&lt;br /&gt;
* James Barton (Sangel) - sprites&lt;br /&gt;
* John Muccigrosso (Eponymous Archon) - made some early sprites, such as the human bowmen&lt;br /&gt;
* ?? (Slainte) - made sprites for c. v0.6 mages, also made many of the old attack icons&lt;br /&gt;
* ?? (Svetac) - made many of the old attack icons&lt;br /&gt;
* Johanna Manninen (lohari) - edited tiles, ported freeciv tiles used in very early versions of wesnoth&lt;br /&gt;
* Tristan Millner (tatmf) - made portrait of dwarven fighter&lt;br /&gt;
* EEL (EELuminatus) - Made death animations for the wose line.&lt;br /&gt;
* Mattias Westlund (West) - new colored cursors, TB portrait&lt;br /&gt;
* Eric Holdos (Rev. V!) - Made a few extra frames for the elvish captain/hero.&lt;br /&gt;
* Musketaquid - animated windmill&lt;br /&gt;
&lt;br /&gt;
==== Very Minor Contributors ====&lt;br /&gt;
* Gideon Chia (Deonjo) - new &amp;quot;units&amp;quot; icon for general status bar&lt;br /&gt;
* John-Robert Funck (XJaPaN) - sprite animator&lt;br /&gt;
* Anton Ecker (Kaldred) - burnt villages&lt;br /&gt;
* Joe (battlestar) - some scenery graphics including burnt tent.&lt;br /&gt;
* Jonatan Alamà (tin) - made red logo used until before v1.0&lt;br /&gt;
* Jimmy Olsson (Azlan) - made old icons for windows version&lt;br /&gt;
* Randall Walls (slightcrazed) - sprite animator&lt;br /&gt;
* Jason Frailey (Valdroni) - made scorpion portrait&lt;br /&gt;
* Nicholas Kerpan (Thrawn) - made human theif portrait&lt;br /&gt;
* ?? (Highhole) - revised storm trident&lt;br /&gt;
* Irwin Ismail (Swordy) - original projectile/attack icon for chakram&lt;br /&gt;
* Evan Crook (Flametrooper) - Sprite animator (TC conversion)&lt;br /&gt;
* Daniel Borgmann (dborg) - semi-transparent map grid&lt;br /&gt;
* Garrett Wessner (Stilgar) - gold coin-pile&lt;br /&gt;
* Javier Hoyos (Vendanna) - naga hunter attack frames&lt;br /&gt;
&lt;br /&gt;
== Musicians ==&lt;br /&gt;
* Aleksi Aubry-Carlson (Aleksi) - music coordinator/composer&lt;br /&gt;
* Joseph Toscano (zhaymusic.com) - music&lt;br /&gt;
* Pau Congost - music&lt;br /&gt;
* Fredrik Lindroth - music&lt;br /&gt;
* Timothy Pinkham (TimothyP) - music coordinator/composer&lt;br /&gt;
&lt;br /&gt;
== Translators ==&lt;br /&gt;
* adson - hungarian translation&lt;br /&gt;
* İhsan Akın - turkish translation&lt;br /&gt;
* Agata Chmiel - polish translation&lt;br /&gt;
* Aleksej Korgenkov (Grimpanto) - esperanto translation&lt;br /&gt;
* Alessio D'Ascanio (otaku) - italian translation&lt;br /&gt;
* Alexander Alexiou (Santi) - greek translation&lt;br /&gt;
* Alexander Kjäll (capitol) - swedish translation&lt;br /&gt;
* Alexandr Menovchicov - russian translation&lt;br /&gt;
* Alexey Remizov - russian translation&lt;br /&gt;
* Alexey Zakharchenko - russian translation&lt;br /&gt;
* Alfredo Beaumont (ziberpunk) - basque translation&lt;br /&gt;
* Ambra Viviani Loos - brazilian portuguese translation&lt;br /&gt;
* Americo Iacovizzi (DarkAmex) - italian translation&lt;br /&gt;
* Anders K. Madsen (madsen) - danish translation&lt;br /&gt;
* András Salamon ([[User:Ott|ott]]) - afrikaans, english and hungarian translation&lt;br /&gt;
* Andre Schmidt (schmidta) - german translation&lt;br /&gt;
* Anežka Bubeníčková (Bubu) - czech translation&lt;br /&gt;
* Ankka - finnish translation&lt;br /&gt;
* Anton Tsigularov (Atilla) - bulgarian translation&lt;br /&gt;
* Arkadiusz Danilecki (szopen) - polish translation&lt;br /&gt;
* Arnaud Garoux (La vie en wose) - french translation&lt;br /&gt;
* Arne Deprez - dutch translation&lt;br /&gt;
* Artur R. Czechowski - polish translation&lt;br /&gt;
* Åse Petersson (tintin) - swedish translation&lt;br /&gt;
* Aurélien Brevers (Breversa) - french translation&lt;br /&gt;
* Azamat Hackimov ([[User:Winterheart|winterheart]]) - russian translation&lt;br /&gt;
* Bartek Waresiak (Dragonking) - polish translation&lt;br /&gt;
* Beer (Eddi) - hungarian translation&lt;br /&gt;
* Benoit Astruc - french translation&lt;br /&gt;
* Benoît Timbert (Noyga) - french translation&lt;br /&gt;
* Bjarke Sørensen (basher) - danish translation&lt;br /&gt;
* BlueStar - japanese translation&lt;br /&gt;
* Boris Stumm (quijote_) - german translation&lt;br /&gt;
* BOrsuk - polish translation&lt;br /&gt;
* Branko Kokanovic (kokan) - serbian translation&lt;br /&gt;
* Bruno Fève (PP) - french translation&lt;br /&gt;
* [mailto:caslav_DOT_ilic_AT_gmx_DOT_net Časlav Ilić] - serbian translation&lt;br /&gt;
* Cédric Duval - french translation&lt;br /&gt;
* Carles Company (brrr) - catalan translation&lt;br /&gt;
* Celso Goya - brazilian portuguese translation&lt;br /&gt;
* Christoph Berg (chrber) - german translation&lt;br /&gt;
* [mailto:cbterra_AT_gmail.com Claudio Terra] - brazilian portuguese translation&lt;br /&gt;
* Claus Aranha - brazilian portuguese translation&lt;br /&gt;
* crys0000 - italian translation&lt;br /&gt;
* Dan Rosàs Garcia (focks) - catalan translation&lt;br /&gt;
* Damien Jacquot - french translation&lt;br /&gt;
* Daniel López (Azazelo) - catalan translation&lt;br /&gt;
* DaringTremayne - french translation&lt;br /&gt;
* David Nečas (Yeti) - czech translation&lt;br /&gt;
* dentro - hungarian translation&lt;br /&gt;
* Denica Mincheva - bulgarian translation&lt;br /&gt;
* Enes Akın (yekialem) - turkish translation&lt;br /&gt;
* Erik J. Mesoy (Circon) - norwegian translation&lt;br /&gt;
* Eugenio Favalli (ElvenProgrammer) - italian translation&lt;br /&gt;
* Federico Tomassetti - italian translation&lt;br /&gt;
* Flamma - spanish translation&lt;br /&gt;
* Florence Guettaa (inflow) - french translation&lt;br /&gt;
* Foppe Benedictus - dutch translation&lt;br /&gt;
* Francesco Lorenzon (Likso) - esperanto translation&lt;br /&gt;
* Franciso Muñoz (fmunoz) - spanish translation&lt;br /&gt;
* François Mariage (Paquito) - french translation&lt;br /&gt;
* François Orieux - french translation&lt;br /&gt;
* Gabriel Rodríguez (Chewie) - spanish translation&lt;br /&gt;
* Gaute Jao (Bombadil) - norwegian translation&lt;br /&gt;
* Geoffroy Douillié ([[User:Gdou|Gdou]]) - french translation&lt;br /&gt;
* Georgi Dimitrov (oblak)- bulgarian translation&lt;br /&gt;
* Gérard Bodin - french translation&lt;br /&gt;
* Gerfried Fuchs ([[User:Rhonda|Rhonda]]) - german translation&lt;br /&gt;
* Gilluin - hungarian translation&lt;br /&gt;
* Guillaume Duwelz-Rebert - french translation&lt;br /&gt;
* [mailto:massart.guillaume_AT_wanadoo.fr Guillaume Massart (Piou2fois)] - french translation&lt;br /&gt;
* Guillaume Melquiond (silene) - french translation&lt;br /&gt;
* Hallvard Norheim Bø (Lysander) - norwegian translation&lt;br /&gt;
* Harry Kaimenas - greek translation&lt;br /&gt;
* Håvard Korsvoll - norwegian translation&lt;br /&gt;
* Huang huan (unicon) - chinese translation&lt;br /&gt;
* Hugo Gerlach (Entrimo) - swedish translation&lt;br /&gt;
* Ilya Kaznacheev - russian translation&lt;br /&gt;
* Ilya Kotov - russian translation&lt;br /&gt;
* Ivan Kovacs - slovak translation&lt;br /&gt;
* isazi - italian translation&lt;br /&gt;
* Iván Herrero (navitux) - spanish translation&lt;br /&gt;
* Jaka Kranjc (lynx) - slovenian translation&lt;br /&gt;
* Jan Greve (Jan) - german translation&lt;br /&gt;
* Jan-Heiner Laberenz (jan-heiner) - german translation&lt;br /&gt;
* Jean Privat (Tout) - french translation&lt;br /&gt;
* Jean-Luc Menut - french translation&lt;br /&gt;
* Jean-Luc Richard (Le Gnome) - french translation&lt;br /&gt;
* Jehan Hysseo (Jey) - french translation&lt;br /&gt;
* Jérémy Rosen (Boucman) - french translation&lt;br /&gt;
* Jesper Fuglsang Wolff (ulven) - danish translation&lt;br /&gt;
* Joan Queralt - catalan translation&lt;br /&gt;
* Joe Hansen - danish translation&lt;br /&gt;
* Joeri Melis - dutch translation&lt;br /&gt;
* Jonatan Alamà (tin) - catalan translation&lt;br /&gt;
* [mailto:jorda_AT_ettin.org Jordà Polo] (ettin) - catalan translation coordinator&lt;br /&gt;
* Jose Gordillo (kilder) - spanish and catalan translation&lt;br /&gt;
* Jose Manuel Gomez (joseg) - spanish translation&lt;br /&gt;
* Joset Anthony Zamora (sophie^) - filipino translation&lt;br /&gt;
* Julien Moncel - french translation&lt;br /&gt;
* Julien Tailleur - french translation&lt;br /&gt;
* Julen Landa (genars) - basque translation&lt;br /&gt;
* Jussi Rautio (jgrr) - finnish translation&lt;br /&gt;
* Kai Ensenbach (Pingu) - german translation&lt;br /&gt;
* Kékkői László (BlackEvil) - hungarian translation&lt;br /&gt;
* Karol Nowak (grzywacz) - polish translation&lt;br /&gt;
* Katerina Sykioti - greek translation&lt;br /&gt;
* Kertész Csaba - hungarian translation&lt;br /&gt;
* Khiraly - hungarian translation&lt;br /&gt;
* Kim Woong (Kazya) - korean translation&lt;br /&gt;
* kko - finnish translation&lt;br /&gt;
* Konstantinos Karasavvas - greek translation&lt;br /&gt;
* Konstantinos Egarhos - greek translation&lt;br /&gt;
* Kosif -  turkish translation&lt;br /&gt;
* Kovács Dániel - hungarian translation&lt;br /&gt;
* krix - hungarian translation&lt;br /&gt;
* Lala - dutch translation&lt;br /&gt;
* Leo Danielson (Lugo Moll) - swedish translation&lt;br /&gt;
* Luciano Montanaro (Luciano) - italian translation&lt;br /&gt;
* Lukáš Faltýnek - czech translation&lt;br /&gt;
* Ľubo Fajth - esperanto translation&lt;br /&gt;
* Maarten Albrecht - dutch and esperanto translation&lt;br /&gt;
* Mark Michelsen (skovbaer) - danish translation&lt;br /&gt;
* Mark Polo (mpolo) - latin translation&lt;br /&gt;
* Mark Recasens - catalan translation&lt;br /&gt;
* Mart Tõnso - estonian translation&lt;br /&gt;
* Martin Dzbor - slovak translation&lt;br /&gt;
* Martin Šín - czech translation&lt;br /&gt;
* Matej Repinc - slovenian translation&lt;br /&gt;
* Mathias Bundgaard Svensson (freaken) - danish translation&lt;br /&gt;
* Matias Parmala - finnish translation&lt;br /&gt;
* methinks - polish translation&lt;br /&gt;
* Michał Jedynak (Artanis) - polish translation&lt;br /&gt;
* Michał Ligowski (misiorysio) - polish translation&lt;br /&gt;
* Michel Loos - brazilian portuguese translation&lt;br /&gt;
* Michel Poléni (Thanatloc) - french translation&lt;br /&gt;
* Mik2303 - greek translation&lt;br /&gt;
* Mikel Olasagasti (Hey_neken) - basque translation&lt;br /&gt;
* Mikko Kraft (deserter) - finnish translation&lt;br /&gt;
* Mintaka - czech translation&lt;br /&gt;
* Naoki Iimura (amatubu) いいむらなおき - japanese translation&lt;br /&gt;
* Nico Oliver - afrikaans translation&lt;br /&gt;
* Nicolas Boudin (Blurgk) - french translation&lt;br /&gt;
* Nikolay Vladimirov (Turki) - bulgarian translation&lt;br /&gt;
* [mailto:Crazy-Ivanovic_AT_gmx.net Nils Kneuper] (Ivanovic) - german translation&lt;br /&gt;
* [mailto:okyada_AT_gmail.com Nobuhito Okada] 岡田信人 - japanese translation&lt;br /&gt;
* [mailto:tapik_AT_buchtovi.cz Oto Buchta] ([[User:Tapik|tapik]]) - czech translation&lt;br /&gt;
* Pau Rul·lan Ferragut - catalan translation&lt;br /&gt;
* Paweł Stradomski - polish translation&lt;br /&gt;
* Paweł Tomak - polish translation&lt;br /&gt;
* paxed - finnish translation&lt;br /&gt;
* Petr Kopač (Ferda) - czech translation&lt;br /&gt;
* Petr Kovár (Juans) - czech translation&lt;br /&gt;
* [mailto:philippe.plantier_AT_naema.org Philippe Plantier] ([[User:Ayin|Ayin]]) - french translation&lt;br /&gt;
* Pieter Vermeylen (Onne) - dutch translation&lt;br /&gt;
* P&amp;amp;#305;nar Yanarda&amp;amp;#287; (moonquelle) - turkish translation&lt;br /&gt;
* Q - japanese translation&lt;br /&gt;
* Rastislav Šarišský (Asto) - esperanto translation&lt;br /&gt;
* Renato Cunha - brazilian portuguese translation&lt;br /&gt;
* Ricardo Sodré Andrade - brazilian portuguese translation&lt;br /&gt;
* Roberto Garcia (Motxales) - catalan translation&lt;br /&gt;
* Roberto Romero (sildur) - spanish translation&lt;br /&gt;
* Roel Thijs (Roel) - dutch translation&lt;br /&gt;
* Roger Koot - dutch translation&lt;br /&gt;
* RokStar - italian translation&lt;br /&gt;
* Roman Tuchin (Sankt) - russian translation&lt;br /&gt;
* Rudolf Orság - czech translation&lt;br /&gt;
* Ruben Philipp Wickenhäuser (The Very Uhu) - german translation&lt;br /&gt;
* Sébastien Raynaud (Galactic turkey) - french translation&lt;br /&gt;
* Sérgio de Miranda Costa -  brazilian portuguese translation&lt;br /&gt;
* Selim Farsakoğlu -  turkish translation&lt;br /&gt;
* Sofronius - czech translation&lt;br /&gt;
* Spiros, Giorgis - greek translation&lt;br /&gt;
* [mailto:sreckotoroman_AT_gmail_DOT_com Srećko Toroman] (FreeCraft) - serbian translation&lt;br /&gt;
* Stefan Bergström (tephlon) - swedish translation&lt;br /&gt;
* Stephan Grochtmann (Schattenstephan) - german translation&lt;br /&gt;
* [mailto:susanna.bjorverud_AT_telia.com Susanna Björverud] (sanna) - swedish translation&lt;br /&gt;
* Susanne Mesoy (Rarlgland) - norwegian translation&lt;br /&gt;
* Széll Tamás (TomJoad) - hungarian translation&lt;br /&gt;
* Takanobu Hirai - japanese translation&lt;br /&gt;
* Tiago Souza (Salvador) - brazilian portuguese translation&lt;br /&gt;
* Tobe Deprez - dutch translation&lt;br /&gt;
* Uz-Valentin Friedrich - german translation&lt;br /&gt;
* Vít Komárek - czech translation&lt;br /&gt;
* Vít Krčál - czech translation&lt;br /&gt;
* [http://www.viliam.bur.sk/ Viliam Búr] - slovak translation&lt;br /&gt;
* Vladimír Slávik - czech translation&lt;br /&gt;
* Vlad Glagolev (Stelz) - russian translation&lt;br /&gt;
* vonHalenbach - german translation&lt;br /&gt;
* William Dupré - french translation&lt;br /&gt;
* wint3r - swedish translation&lt;br /&gt;
* [mailto:ydirson_AT_altern.org Yann Dirson] - french translation&lt;br /&gt;
* Yuji Matsumoto - japanese translation&lt;br /&gt;
* Zas - french translation&lt;br /&gt;
&lt;br /&gt;
== Other Contributions ==&lt;br /&gt;
* Ben Anderman (crimson_penguin) - unit list&lt;br /&gt;
* Cyril Bouthors (CyrilB) - debian packager, patron&lt;br /&gt;
* Dacyn - scenario designer&lt;br /&gt;
* Darryl Dixon - packager&lt;br /&gt;
* edge - packager&lt;br /&gt;
* Francesco Gigli (Jaramir) - wiki, wesnoth.slack.it&lt;br /&gt;
* Frédéric Wagner&lt;br /&gt;
* Jay Hopping - packager&lt;br /&gt;
* Jeff Breidenbach (Jab) - Bilinear interpolation&lt;br /&gt;
* Joshua Northey (Becephalus) - multiplayer maps&lt;br /&gt;
* Laurent Wacrenier (lwa) - Mac OS X packager&lt;br /&gt;
* Marcin Konicki (ahwayakchih) - BeOS packager&lt;br /&gt;
* Marcus Phillips (Sithrandel) - Mac OS X packager (for v1.0 and before)&lt;br /&gt;
* Mark Michelsen (skovbaer) - slackware packager&lt;br /&gt;
* Miguel Zapico (elricz) - unit list translations&lt;br /&gt;
* Peter Groen (pg) - multiplayer maps&lt;br /&gt;
* Ruben Philipp Wickenhäuser (The Very Uhu) - multiplayer maps&lt;br /&gt;
* Sam Phillips (dark172) - creation of campains and multiplayer maps&lt;br /&gt;
* Tom Chance (telex4) - multiplayer maps, scenario balancing&lt;br /&gt;
* Vlad Glagolev (Stelz) - OpenBSD packager&lt;br /&gt;
&lt;br /&gt;
{{Home}}&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Baufo&amp;diff=16203</id>
		<title>User:Baufo</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Baufo&amp;diff=16203"/>
		<updated>2007-06-29T12:47:13Z</updated>

		<summary type="html">&lt;p&gt;Baufo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Name: Thomas Baumhauer&lt;br /&gt;
* Location: Vienna, Austria&lt;br /&gt;
* Email: baufo AT THE HOST gmx DOT at&lt;br /&gt;
* Weblog: [http://baufo.freehostia.com baufo.freehostia.com]&lt;br /&gt;
&lt;br /&gt;
== Contributions ==&lt;br /&gt;
* Multiplayer content&lt;br /&gt;
** Defense of the Goblin ([http://www.wesnoth.org/forum/viewtopic.php?t=12566 forum thread])&lt;br /&gt;
** The Dwarvish Treasure ([http://www.wesnoth.org/forum/viewtopic.php?t=12681 forum thread])&lt;br /&gt;
** (and some plain maps)&lt;br /&gt;
* Singleplayer content&lt;br /&gt;
** Currently maintaining Descent into Darkness ([http://www.wesnoth.org/forum/viewtopic.php?t=13776 forum thread])&lt;br /&gt;
* Coding&lt;br /&gt;
** Friendslist for multiplayer&lt;br /&gt;
** (and some minor fixes)&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=13906</id>
		<title>InterfaceActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=13906"/>
		<updated>2007-02-18T10:12:25Z</updated>

		<summary type="html">&lt;p&gt;Baufo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Interface actions ==&lt;br /&gt;
&lt;br /&gt;
Interface actions are actions that do not have an effect on gameplay;&lt;br /&gt;
instead, they show something to the player.  The main interface tags&lt;br /&gt;
are '''[message]''' and '''[objectives]''', but several other tags affect&lt;br /&gt;
the interface also.&lt;br /&gt;
&lt;br /&gt;
== [message] ==&lt;br /&gt;
The most commonly used interface action is [message], which displays a message to the user in a dialog box. It can also be used to take input from the user.&lt;br /&gt;
&lt;br /&gt;
The following key/tags are accepted for [message]:&lt;br /&gt;
* standard unit filter - the unit whose profile and name are displayed. If no unit matching this filter is found, the message is not displayed (The unit has probably been killed).&amp;lt;br&amp;gt;'''[message]''' elements should be constructed so that it is either guaranteed that a certain unit is alive, or so that dialog flows smoothly even if the message isn't displayed.&lt;br /&gt;
&lt;br /&gt;
* ''speaker'' an alternative to standard unit filter&lt;br /&gt;
** 'narrator' the dialog box is displayed without a caption for the unit speaking or a unit image&lt;br /&gt;
** 'unit' the primary unit for the event is speaking&lt;br /&gt;
** 'second_unit' the secondary unit for the event is speaking&lt;br /&gt;
&lt;br /&gt;
* ''message'' (translatable) the text to display to the right of the image. ''message'' is sometimes multiple lines; if it is, be sure to use quotes(''' ' ''' or ''' &amp;quot; ''')&lt;br /&gt;
* ''image'' (default: profile image of speaker) the image to display next to the message.&lt;br /&gt;
* ''caption'' (default: name of speaker) the caption to display under the image. Name to be displayed.&lt;br /&gt;
* ''duration'' (default: 10) the minimum number of frames for this message to be displayed. (A frame lasts about 30 milliseconds.) During this time any dialog decisions will be disregarded. {{DevFeature}}&lt;br /&gt;
* ''sound'' a sound effect (wav file) to play as the message is displayed. This can be a comma-separated list, from which one will be randomly chosen.&lt;br /&gt;
* '''[option]''' zero or more '''[option]''' elements may be present. If '''[option]''' elements are present, then each option will be displayed in a menu for the user to select one option.&lt;br /&gt;
** ''message'' (translatable) the text displayed for the option (see [[DescriptionWML]])&lt;br /&gt;
** ''show_always'' if no then this option will only be displayed if the conditional statement in this tag is passed (see [[InternalActionsWML]])&lt;br /&gt;
** '''[command]''' an element containing actions which are executed if the option is selected.&lt;br /&gt;
&lt;br /&gt;
Text formatting options for '''[message]'''. These can also be used in unit names (user_description), objectives, and such.&lt;br /&gt;
* An asterisk (*) as the first character causes the line to be boldfaced.&lt;br /&gt;
* An at symbol (@) as the first character causes the line to be green, as done with victory conditions.&lt;br /&gt;
* A pound symbol (#) as the first character causes the line to be red, as done with defeat conditions.&lt;br /&gt;
* A backquote (`) as the first character causes the line to be smaller.&lt;br /&gt;
* If used, the caption key text is boldfaced.&lt;br /&gt;
* An RGB colour code in the beginning causes the line to be the given colour. This can still be preceded by the above characters. Example: ''message=_&amp;quot;&amp;lt;255,0,0&amp;gt;Red!&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
== [objectives] ==&lt;br /&gt;
The other tag used for plot development is '''[objectives]'''.&lt;br /&gt;
The '''[objectives]''' tag overwrites any previously set objectives,&lt;br /&gt;
and displays text which should describe the objectives of the scenario.&lt;br /&gt;
Scenario objectives are displayed on the player's first turn after the tag is used,&lt;br /&gt;
or as part of the event if it triggers during that player's turn.&lt;br /&gt;
Objectives can also be accessed at any time in a scenario using the&lt;br /&gt;
&amp;quot;Scenario Objectives&amp;quot; game menu option, making this tag useful for&lt;br /&gt;
scenario-specific information that the player may need to refer to during play.&lt;br /&gt;
&lt;br /&gt;
This tag renders the ''objectives'' attribute of [scenario] obsolete (see ''objectives'', [[ScenarioWML]]).&lt;br /&gt;
Instead of using ''objectives'', use '''[objectives]''' to set scenario objectives inside a prestart event.&lt;br /&gt;
It can also be used to overwrite the starting objectives mid-scenario.&lt;br /&gt;
&lt;br /&gt;
Attributes of '''[objectives]''':&lt;br /&gt;
* ''side'' Default '0'. The side to set the objectives for. A value of 0 sets objectives for all sides.&lt;br /&gt;
* ''summary'' Displayed first in the objectives text, this should describe the basic objective for the overall scenario.  Can be omitted.&lt;br /&gt;
* ''note'' Displayed last in the objectives text, this is sometimes used for hints or additional information.  Can be omitted.&lt;br /&gt;
* ''victory_string'' Default ' _ &amp;quot;Victory:&amp;quot;', this text precedes the victory objectives.&lt;br /&gt;
* ''defeat_string'' Default ' _ &amp;quot;Defeat:&amp;quot;', this text precedes the defeat objectives.&lt;br /&gt;
* ''silent'' Default: not present. If set to &amp;quot;yes&amp;quot;, the objectives are silently changed. Else, they will be shown to the user when appropriate.&lt;br /&gt;
&lt;br /&gt;
Tags of '''[objectives]''':&lt;br /&gt;
* '''[objective]''' describes a win or loss condition. Most scenarios have multiple win or loss conditions, so use a separate [objective] subtag for each line; this helps with translations.&lt;br /&gt;
** ''description'' text for the specific win or loss condition.&lt;br /&gt;
** ''condition'' The color and placement of the text. Values are 'win'(colored green, placed after ''victory_string'') and 'lose'(colored red, placed after ''defeat_string'')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface tags ==&lt;br /&gt;
&lt;br /&gt;
The following tags are also action tags:&lt;br /&gt;
* '''[item]''' makes a graphical item appear on a certain hex. Note this only places the graphics for an item. It does not make the item do anything. Use a moveto event to make moving onto the item do something.&lt;br /&gt;
** ''x'', ''y'' the location to place the item.&lt;br /&gt;
** ''image'' the image (in ''images/ ''as .png) to place on the hex.&lt;br /&gt;
** ''halo'' an image to place centered on the hex. Use this instead of ''image'' if the image is bigger than the hex.&lt;br /&gt;
* '''[removeitem]''' removes any graphical items on a given hex&lt;br /&gt;
** ''x'', ''y'' the hex to remove items off&lt;br /&gt;
* '''[print]''' displays a message across the screen. The message will disappear after a certain time.&lt;br /&gt;
** ''text'' (translatable) the text to display.&lt;br /&gt;
** ''size'' (default=12) the pointsize of the font to use&lt;br /&gt;
** ''duration'' (default=50) the length of time to display the text for. This is measured in the number of 'frames'. A frame in Wesnoth is usually displayed for around 30ms.&lt;br /&gt;
** ''red'', ''green'', ''blue'' (default=0,0,0) the color to display the text in. Values vary from 0-255.&lt;br /&gt;
* '''[move_unit_fake]''' moves an image of a unit along a certain path on the map. The path does not need to be a continuous list of adjacent hexes, so for example only the start and end points can be given, in which case the straightest line between those points will be calculated and used.&lt;br /&gt;
** ''type'' the type of the unit whose image to use&lt;br /&gt;
** ''x'' a comma-seperated list of x locations to move along&lt;br /&gt;
** ''y'' a comma-seperated list of y locations to move along (x and y values are matched pairs)&lt;br /&gt;
** ''side'' the side of the fake unit, used for team colouring the fake unit&lt;br /&gt;
* '''[hide_unit]''' makes the given unit become invisible. Useful in conjunction with '''[move_unit_fake]''' to move a leader unit into position on-screen. Only one unit may be hidden at a time.&lt;br /&gt;
** ''x'', ''y'' location of the unit to be hidden. (NOT a standard unit filter! Just x and y.)&lt;br /&gt;
* '''[unhide_unit]''' stops the currently hidden unit from being hidden.&lt;br /&gt;
* '''[scroll]''' Scroll a certain number of pixels in a given direction. Useful for earthquake/shaking effects.&lt;br /&gt;
** ''x'', ''y'' the number of pixels to scroll along the x and y axis&lt;br /&gt;
* '''[scroll_to]''' Scroll to a given hex&lt;br /&gt;
** ''x'', ''y'' the hex to scroll to&lt;br /&gt;
** ''check_fogged'' whether to scroll even to locations covered in fog or shroud. Possible values ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[scroll_to_unit]''' Scroll to a given unit&lt;br /&gt;
** standard unit filter&lt;br /&gt;
** ''check_fogged'' whether to scroll even to locations covered in fog or shroud. Possible values ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[sound]''' Plays a sound&lt;br /&gt;
** ''name'' the filename of the sound to play (in ''sounds/'' as .wav or .ogg)&lt;br /&gt;
* '''[music]''' Switches to playing different music&lt;br /&gt;
** ''name'' the filename of the music to play (in ''music/'' as .ogg)&lt;br /&gt;
** see [[MusicListWML]] for the correct syntax&lt;br /&gt;
* '''[colour_adjust]''' tints the colour of the screen.&lt;br /&gt;
** ''red'', ''green'', ''blue'' values from -255 to 255, the amount to tint by for each colour&lt;br /&gt;
* '''[delay]''' pauses the game&lt;br /&gt;
** ''time'' the time to pause in milliseconds&lt;br /&gt;
* '''[redraw]''' redraws the screen (this normally isn't done during events, although some of the other interface actions cause the screen or parts of it to be redrawn).&lt;br /&gt;
** ''side'' if used, recalculates fog and shroud for that side. Useful if you for example spawn friendly units in the middle of an event and want the shroud to update accordingly (otherwise units that spawn inside fog would remain invisible for the duration of the event, since the fog would not automatically get cleared around them).&lt;br /&gt;
* '''[unit_overlay]''' sets an image that will be drawn over a particular unit, and follow it around&lt;br /&gt;
** ''x'', ''y'' the location of the unit to overlay on&lt;br /&gt;
** ''image'' the image to place on the unit&lt;br /&gt;
* '''[remove_unit_overlay]''' removes a particular overlayed image from a unit&lt;br /&gt;
** ''x'', ''y'' the location of the unit to remove an overlay from&lt;br /&gt;
** ''image'' the image to remove from the unit&lt;br /&gt;
* '''[animate_unit]''' uses the custom animation of a unit to animate it on screen (if the unit has the corresponding animation)&lt;br /&gt;
** ''flag'' the key to find the good custom animation in the unit description see the '''[extra_anim]''' description in [[AnimationWML]]&lt;br /&gt;
** '''[filter]''' a standard unit filter see [[FilterWML]] by default, the unit at the event location will be animated. You can use this tag to choose what unit to animate&lt;br /&gt;
* '''[label]''' places a label on the map.&lt;br /&gt;
** ''x'', ''y'' the location of the label&lt;br /&gt;
** ''text'' what the label should say&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InternalActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Wesnoth_Acronyms_and_Slang&amp;diff=11508</id>
		<title>Wesnoth Acronyms and Slang</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Wesnoth_Acronyms_and_Slang&amp;diff=11508"/>
		<updated>2006-09-02T07:35:48Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* Forum Language */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Use the following list to demystify the various (mostly wesnoth specific) acronyms you may run into at the forum.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NOTE TO EDITORS: Please try to keep an alphabetic order to simplify manual searching --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Official Campaigns ==&lt;br /&gt;
&lt;br /&gt;
*EI       - &amp;quot;The Eastern Invasion&amp;quot; (campaign name)&lt;br /&gt;
*HttT     - &amp;quot;Heir to the Throne&amp;quot; (campaign name)&lt;br /&gt;
** BoP    - &amp;quot;Bay of Pearls&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
** DD     - &amp;quot;Dwarven Doors&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
** HotNE  - &amp;quot;Home of the North Elves&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
** IotD   - &amp;quot;Isle of the Damned&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
** RtW    - &amp;quot;Return to Wesnoth&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
** SoE    - &amp;quot;Siege of Elensefar&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
** SoF    - &amp;quot;Scepter of Fire&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
** TotC   - &amp;quot;Test of the Clans&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
** VoD    - &amp;quot;Valley of Death&amp;quot; (scenario in &amp;quot;Heir to the Throne&amp;quot; campaign)&lt;br /&gt;
*SG       - &amp;quot;The South Guard&amp;quot; (campaign name)&lt;br /&gt;
*TRoW     - &amp;quot;The Rise of Wesnoth&amp;quot; (campaign name)&lt;br /&gt;
*TB       - &amp;quot;A Tale of Two Brothers&amp;quot; (campaign name)&lt;br /&gt;
*UtBS     - &amp;quot;Under the Burning Suns&amp;quot; (campaign name)&lt;br /&gt;
&lt;br /&gt;
== Unofficial Campaigns ==&lt;br /&gt;
&lt;br /&gt;
*FtF      - &amp;quot;Flight to Freedom&amp;quot; (campaign name)&lt;br /&gt;
*LOW      - &amp;quot;Legends of Wesmere&amp;quot; (campaign name)&lt;br /&gt;
*SE       - &amp;quot;Saving Elensefar&amp;quot; (campaign name)&lt;br /&gt;
*SoF      - &amp;quot;Scepter of Fire&amp;quot; (campaign name)&lt;br /&gt;
&lt;br /&gt;
== Forum Language ==&lt;br /&gt;
&lt;br /&gt;
*AAU     - Allies Are Useless&lt;br /&gt;
*AMLA    - After Maximum Level Advancement&lt;br /&gt;
*AH      - All Hits &lt;br /&gt;
*AoH     - Age of Heros&lt;br /&gt;
*BfW     - Battle for Wesnoth (the name of the game)&lt;br /&gt;
*BWH     - Been suggested before.  We think it's a good idea.  Hope to add it eventually.&lt;br /&gt;
*CtH     - Chance to Hit (also C2H)&lt;br /&gt;
*CtbH    - Chance to be Hit (also C2bH)&lt;br /&gt;
*CtK     - Chance to Kill (also C2K)&lt;br /&gt;
*CtbK    - Chance to be Killed (also C2bK)&lt;br /&gt;
*CVS     - Old term for up-to-date Wesnoth: [[WesnothCVS]]&lt;br /&gt;
*EP      - Elvish Pillager, moderator and great man :) at forum&lt;br /&gt;
*FoW     - Fog of War (i.e. fog)&lt;br /&gt;
*FFA     - Free For All (playing a map with &amp;gt;2 players without teams)&lt;br /&gt;
*HAPMA   - Hexes Are Possibly Miles Across - http://www.wesnoth.org/forum/viewtopic.php?t=1882&lt;br /&gt;
*HP      - Hit points&lt;br /&gt;
*IIRWIIR - It Is Ready When It Is Ready&lt;br /&gt;
*KISS    - Keep It Simple, Stupid: Applies to coding, not game rules (although indirectly it does): see [[WesnothPhilosophy]]&lt;br /&gt;
*MP      - Movement points&lt;br /&gt;
*MP      - Multiplayer&lt;br /&gt;
*MOP     - Monster of perfection&lt;br /&gt;
*MoL     - Mage of Light&lt;br /&gt;
*N3T     - No 3-Teams; A belief stating that contests between exactly three opposing forces are inherently unbalanced&lt;br /&gt;
*OAB     - Options are Bad; In reference to gameplay, not user interface options.  Mostly used by Turin. See also [[FrequentlyProposedIdeas]] (idea #1)&lt;br /&gt;
*OFWRA   - Old Flame War Revival Alert; In other words, we have discussed this before and have no interest in discussing it again, especially if it got ugly&lt;br /&gt;
*OT      - Off Topic: can refer to either the forum (http://www.wesnoth.org/forum/viewforum.php?f=11) or spam&lt;br /&gt;
*RIPLIB  - Reduction In Power when Leveling Is Bad: means that when a unit upgrades, at least one of its options should be strictly superior to the original unit. [http://www.wesnoth.org/forum/viewtopic.php?t=1423 Reference 1] / [http://www.wesnoth.org/forum/viewtopic.php?t=7205 Reference 2]&lt;br /&gt;
*RPG     - Role Playing Game - [http://www.wesnoth.org/forum/viewtopic.php?t=4385 1)] Wesnoth's experience system. &amp;lt;nowiki&amp;gt;2)&amp;lt;/nowiki&amp;gt; An &amp;quot;RPG-style&amp;quot; game on the MP server means the primary focus will be walking your leader-units through a scripted storyline involving map exploration and lots of WML.&lt;br /&gt;
*RTFM    - Read The Manual&lt;br /&gt;
*RTS     - Real Time Strategy Game - not Wesnoth&lt;br /&gt;
*SP      - Single Player (Campaigns)&lt;br /&gt;
*SVN     - Term for up-to-date Wesnoth [[WesnothSVN]] ([[What_Is_SVN]])&lt;br /&gt;
*TBS     - Turn Based Strategy Game - Wesnoth&lt;br /&gt;
*TOD     - Time of Day&lt;br /&gt;
*TWP     - The Wesnoth Philosophy: [[WesnothPhilosophy]]&lt;br /&gt;
*UMC    - User Made Campaign (any campaign not packaged with Wesnoth)&lt;br /&gt;
*WC      - Walking Corpses&lt;br /&gt;
*WICOT  - WML is capable of this (the requested feature is already possible to script, so no need to hard-code it in C++)&lt;br /&gt;
*WINR    - Wesnoth Is Not Realistic&lt;br /&gt;
*WIN_    - Wesnoth Is Not... (Warcraft, Lord of the Rings, medieval Europe, an RPG, a wargame, a war simulation, etc.)&lt;br /&gt;
*WML     - Wesnoth Markup Language: [[ReferenceWML]]&lt;br /&gt;
*XP      - Experience&lt;br /&gt;
*ZOC     - Zone of Control&lt;br /&gt;
&lt;br /&gt;
== General Acronyms ==&lt;br /&gt;
&lt;br /&gt;
*AFAICT  - As Far As I Can Tell(A statement with a disclaimer on truthfulness)&lt;br /&gt;
*AFAIK   - As Far As I Know (A statement with a disclaimer on truthfulness)&lt;br /&gt;
*BTW     - By the Way (A statement with a disclaimer on relevance)&lt;br /&gt;
*OtOH    - On the Other Hand (A contrast)&lt;br /&gt;
*EV      - Expected Value&lt;br /&gt;
*IIRC    - If I Recall Correctly (A statement with a disclaimer on truthfulness)&lt;br /&gt;
*IMHO    - In My Humble Opinion (A statement with a disclaimer on objectiveness)&lt;br /&gt;
*IMO     - In My Opinion (A statement with a disclaimer on objectiveness)&lt;br /&gt;
*NYSPOS  - No, you stupid piece of **** (An impolite refutation hidden in an acronym)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* Enter other resources in here.&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FAQ&amp;diff=10139</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FAQ&amp;diff=10139"/>
		<updated>2006-06-18T19:20:22Z</updated>

		<summary type="html">&lt;p&gt;Baufo: /* How do I download user campaigns? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Frequently Asked Questions=&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
===What is Battle for Wesnoth?===&lt;br /&gt;
Battle for Wesnoth is a fantasy turn-based strategy game.&lt;br /&gt;
&lt;br /&gt;
===What license is the game distributed under?===&lt;br /&gt;
The project is distributed under the [http://www.fsf.org/copyleft/gpl.html GPL]. All contributors retain copyright on the portions of the project that they contribute.&lt;br /&gt;
&lt;br /&gt;
===How to get informed about new releases?===&lt;br /&gt;
Subscribe to new releases at [http://freshmeat.net/subscribe/38720/?url=%2Fprojects%2Fwesnoth%2F Freshmeat].&lt;br /&gt;
&lt;br /&gt;
===A new version is out, but where is the download for [Windows, Mac OS, etc.]?===&lt;br /&gt;
The downloads are NOT part of the official project.  The BFW team only releases the game's source code.  Binary executables or applications are always contributed by community volunteers.  If not for these volunteers, there would never be any downloads for us to enjoy.  The volunteers compile the game and upload it on their own time, and sometimes they cannot do this in a timely fashion (or at all, at times)  Although there are usual packagers designated for each operating system, there are times when other members of the community are asked to step in and contribute when the usual people cannot.&lt;br /&gt;
&lt;br /&gt;
Every time a new version is released, the usual volunteers are always notified by the project leaders.  '''Please refrain from making forum posts asking where your download is''' because it doesn't help anything - the packagers already know, and they will get to it as soon as they can.  In the past, the Windows and Mac communities have come together to produce home-grown unofficial builds for the community to use, and the renewed interest in community and learning how to compile is generally a good thing.&lt;br /&gt;
&lt;br /&gt;
===Why doesn't Wesnoth have my favorite feature?===&lt;br /&gt;
Because we are building this game for ourselves, to suit our own preferences. We're not building the game for you, in large part because this is our hobby, not our job; whether you like it or not is immaterial to us.&lt;br /&gt;
You may wonder, then, what the point is of soliciting ideas, as we do on the forum.  We, the developers, have certainly come up with many good ideas on our own, but our players often do as well, and generally ones we don't think of ourselves.  If a player comes up with an idea we like, we might implement it.  Not because they asked for it, but because of its own merits as an addition to our game.&lt;br /&gt;
&lt;br /&gt;
The beautiful thing about the license our game is distributed under, as compared to closed-source, commercial games, is that if you want that feature badly enough, you can take the code and art of our game and modify it yourself; you are free to re-use any work in Wesnoth, as long as you follow the rules of the [http://www.fsf.org/copyleft/gpl.html GPL].  From this, you can build a game exactly the way that you like. Just don't expect us to build that game for you.  Building this game is our hobby, not our profession, and you did not pay us to make it; rather, we are the ones who have paid for it, in time and labor.&lt;br /&gt;
&lt;br /&gt;
===Do you want help making this game? How can I help?===&lt;br /&gt;
Yes, we want your help. Whether you're a programmer, artist, musician, writer, translator, level designer, playtester, or just have some great suggestions, you're welcome to contribute. How?  You can:&lt;br /&gt;
* join the [http://www.wesnoth.org/wiki/Project Project]&lt;br /&gt;
* share your point of view at the [http://www.wesnoth.org/forum/ Forum]&lt;br /&gt;
* talk with us on [irc://irc.wesnoth.org/wesnoth IRC]&lt;br /&gt;
* report bugs you find at [[ReportingBugs]]&lt;br /&gt;
* update the wiki&lt;br /&gt;
* play against us via the Multiplayer menu&lt;br /&gt;
* vote for Wesnoth at your favorite gaming web site&lt;br /&gt;
* Spread the word!&lt;br /&gt;
&lt;br /&gt;
=== What are the system requirements? ===&lt;br /&gt;
&lt;br /&gt;
We are not completely certain, but an x86 running at 600MHz with 128MB RAM should be adequate.  Slower machines will have trouble scrolling large maps or processing AI turns with many units.  See the [http://www.wesnoth.org/forum/viewtopic.php?t=7384 forum thread] about minimum and recommended system requirements.&lt;br /&gt;
&lt;br /&gt;
=== I'm bored; how do I speed the game up? ===&lt;br /&gt;
&lt;br /&gt;
There are several preferences you can change to shorten the time that the AI takes to make its moves. &amp;quot;Accelerated Speed&amp;quot; will make units move and fight faster. &amp;quot;Skip AI Moves&amp;quot; will not show the AI's units moving from hex to hex. Finally, you can turn off all combat animations via the &amp;quot;Show Combat&amp;quot; option on the Advanced tab.&lt;br /&gt;
&lt;br /&gt;
=== My computer is too slow; how do I speed the game up? ===&lt;br /&gt;
&lt;br /&gt;
First, turn off the music and sound effects. Turning off the color cursors will make your cursor respond faster. If scrolling the map is slow, run the game in &amp;quot;Full Screen&amp;quot; mode, not in a window.  Turn off combat animations via the &amp;quot;Show Combat&amp;quot; option on the Advanced tab.  You can try turning off halos and combat results, but this might make gameplay more difficult.&lt;br /&gt;
&lt;br /&gt;
== Gameplay and Controls ==&lt;br /&gt;
&lt;br /&gt;
=== How do I learn to play? ===&lt;br /&gt;
&lt;br /&gt;
If you just want to jump right in, start the game and play the tutorial.  If you like reading documentation, see [[WesnothManual]], which is also distributed as a PDF file.  At any time while playing, you can select help from the menu button (or hit F1). The online help is quite extensive and provides information on terrains, weapons, traits, abilities, units and a good overview of how to play.&lt;br /&gt;
&lt;br /&gt;
=== My unit leveled up but didn't improve. What happened? ===&lt;br /&gt;
&lt;br /&gt;
This is called &amp;quot;After Maximum Level Advancement&amp;quot; or AMLA for short. While most level 0, 1, and 2 units can advance, some cannot.  However, some level 3 units can advance to level 4, or even 5. You can see whether a unit can advance further by right clicking and selecting &amp;quot;description.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
After a unit reaches the highest level it can get, every time it gains 100 experience it gains 3 hitpoints. It does not heal when this happens. This is a minor bonus so that experience gained by maxed out units is not altogether wasted. It is generally better to give experience to lower level units, rather than continue to advanced units that have reached their maximum level.&lt;br /&gt;
&lt;br /&gt;
If the unit in question is the Necrophage, this is not a bug.  The Necrophage eats the corpses of the dead, allowing it to periodically completely heal.  Leveling into itself is how this is carried out.&lt;br /&gt;
&lt;br /&gt;
=== I tried to trap an enemy with several weak units, but it still escaped. What happened? ===&lt;br /&gt;
&lt;br /&gt;
Most units exert a zone of control (or ZOC).  IF an enemy moves into one of the six adjacent hexes, the zone of control will prevent it from moving any farther.  However some weak units are level 0, meaning they are so weak that they do not have a ZOC. You can still surround an enemy unit entirely with level 0 units to keep it from escaping, but if there is any gap in your ranks, it could escape.&lt;br /&gt;
&lt;br /&gt;
Also, some units have the &amp;quot;skirmish&amp;quot; ability, which allows them to ignore ZOCs.&lt;br /&gt;
&lt;br /&gt;
=== How can I see where an enemy unit can move next turn? ===&lt;br /&gt;
&lt;br /&gt;
During you turn you can click on an enemy unit. Wesnoth will highlight all the hexes the unit can move to in the next turn. This is useful when trying to arrange your units to block an enemy's movement.&lt;br /&gt;
&lt;br /&gt;
=== There's too much luck in this game! ===&lt;br /&gt;
&lt;br /&gt;
Sooner or later, you will become frustrated when your archmage with four 70% attacks misses all four times.  This does not mean that the AI is cheating or the random number generator is futzed.  It means you are noticing random negative events more than positive ones.  During the development of the game, many mathematicians have done sophisticated statistical analysis of the combat system.  Likewise, programmers have examined the random number generator.  Wesnoth has been deliberately designed so that the streaks of &amp;quot;bad&amp;quot; and &amp;quot;good&amp;quot; luck are a part of the gameplay.&lt;br /&gt;
&lt;br /&gt;
Since Wesnoth is GPLed, it is possible that, after the 1.0 release, a new development team will &amp;quot;fork&amp;quot; the source and produce a version more like Heroes of Might &amp;amp; Magic, with no randomness.  Until then, don't charge with your horsemen against rock trolls at night...&lt;br /&gt;
&lt;br /&gt;
=== The (random unit) is overpowered/underpowered! ===&lt;br /&gt;
&lt;br /&gt;
The development team has spent years tweaking the units in the game.  Each unit has had its gold cost, attack types, combat damage, defensive values, resistances, upgrade paths, and other stats carefully scrutinized and loudly discussed in the forum.  However, the game code and the units were being modified right up until the 1.0 release, so some unbalanced units may have slipped through.&lt;br /&gt;
&lt;br /&gt;
If you have evidence to back up your claim, search the forum for past discussions about this unit, and then try posting.&lt;br /&gt;
&lt;br /&gt;
=== The (random scenario) is too hard/easy! ===&lt;br /&gt;
&lt;br /&gt;
See above answer about random units.&lt;br /&gt;
&lt;br /&gt;
=== What do the different difficulty levels do? ===&lt;br /&gt;
&lt;br /&gt;
That depends on the scenario. Usually, the opponent will get more money and be able to recruit higher-level units at higher difficulty levels, and you will have fewer turns available.&lt;br /&gt;
&lt;br /&gt;
== Maps, Scenarios and Campaigns ==&lt;br /&gt;
&lt;br /&gt;
=== How do I beat scenario _______ ? ===&lt;br /&gt;
&lt;br /&gt;
If you are stuck on a scenario in a campaign, you'll probably find a walkthrough at [[MainlineScenarios]].  Or check out the &amp;quot;Strategies and Tips&amp;quot; forum at http://www.wesnoth.org/forum/viewforum.php?f=3&lt;br /&gt;
&lt;br /&gt;
=== Are there any tools to help me create maps and scenarios? ===&lt;br /&gt;
Yes, there is a tool called wesnoth_editor. It is a normal map-editor that should be a good help for creating the plain maps. For creating the scenarios there already is a scenario-editor included in the mac build. But this editor is rather outdated and it exists only for MacOS X. At the moment some community members are working on creating a nice and working scenario editor. You can have a look at the [http://www.wesnoth.org/forum/viewtopic.php?t=6925 forum post] about this tool. You will also find more info at [[CampGen]].&lt;br /&gt;
&lt;br /&gt;
=== How do I download user campaigns? ===&lt;br /&gt;
Choose &amp;quot;Campaigns&amp;quot; in the main Wesnoth menu. Then scroll down to the bottom and choose &amp;quot;Get More Campaigns...&amp;quot; or since 1.1.5 there is a &amp;quot;Get add-ons&amp;quot; button in the main menu. This connects you to the campaign server. In the campaign server you can view a list of all available campaigns and download them, as well as posting or deleting your own campaigns. If you are behind a firewall you may not be able to connect the the campaign server; in this case try contacting the author of the campaign via the forums to see if there is another way you can get the campaign.&lt;br /&gt;
&lt;br /&gt;
=== I already created a campaign and published it on the campaign server. How can I get translations for the campaign? ===&lt;br /&gt;
Just have a look at [[WesCamp]]. This project is the easiest way to get translations for your campaign. All the info you need you can find at [[WesCamp]].&lt;br /&gt;
&lt;br /&gt;
===How do I place an object or unit on my map with the map editor?===&lt;br /&gt;
You can't.  You need to make a multiplayer scenario file.  There are more details on the [[BuildingMaps|maps]] page.&lt;br /&gt;
&lt;br /&gt;
== Multiplayer ==&lt;br /&gt;
&lt;br /&gt;
===How to find players for multiplayer game?===&lt;br /&gt;
Hang around for a while on multiplayer servers and you might find someone to play with. If you observe other people playing you will get informed when someone joins the servers. Maybe you find someone willing to play in the irc channel dedicated to mp: #wesnoth-mp at irc.freenode.net.&lt;br /&gt;
You can also join #wesnoth at irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
===How can I make my computer into a dedicated Wesnoth server?===&lt;br /&gt;
&lt;br /&gt;
To setup a dedicated Wesnoth server, you have to compile the game with the &amp;quot;--enable-server&amp;quot; flag, and after you install, simply run wesnothd from the console.  This will start the server, listening on TCP port 15000.  To compile the server only you can use the flags &amp;quot;--disable-game --enable server&amp;quot;.  If you aren't using a linux or mac operating system, there are a few ways you can compile on Windows...here is one way http://www.wesnoth.org/wiki/CompilingWesnoth/CrossCompiling&lt;br /&gt;
&lt;br /&gt;
===Which versions of Wesnoth can play together?===&lt;br /&gt;
&lt;br /&gt;
I'm on a MAC, and my friends are on XP. I would like to play together with them. Is this currently possible? &lt;br /&gt;
&lt;br /&gt;
YES! All you need is to have the same version number.&lt;br /&gt;
&lt;br /&gt;
For a list of Mac-XP-compatible games (including BfW) see: http://www.insidemacgames.com/forum/index.php?showtopic=21818&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
===I selected an asian translation and am not able to see the letters correctly. What happened?===&lt;br /&gt;
&lt;br /&gt;
Since the size of the necessary fonts is too large, you'll need to download them separately (if you don't already have them). After that, simply copy the font to the '''fonts/''' directory in your wesnoth installation.&lt;br /&gt;
* Chinese font: [ftp://cle.linux.org.tw/pub/fonts/ttf/unicode/Arphic/gkai00mp.ttf gkai00mp.ttf]&lt;br /&gt;
* Japanese font: [http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/sqs-xml/sqs-font/sazanami-gothic.ttf sazanami-gothic.ttf]&lt;br /&gt;
&lt;br /&gt;
If you have futher questions have a look at [[WesnothAsianLanguages|this]] page.&lt;br /&gt;
&lt;br /&gt;
== Other Questions You Have ==&lt;br /&gt;
&lt;br /&gt;
The best way to get answers to less-frequently asked questions is by visiting the [http://www.wesnoth.org/forum BFW forum].  There are plenty of people willing to help.  Make sure you read ALL of the forum sticky notes and announcements before posting.&lt;/div&gt;</summary>
		<author><name>Baufo</name></author>
		
	</entry>
</feed>