Difference between revisions of "ServerAdministration"

From The Battle for Wesnoth Wiki
(Categorize)
(Available commands: update with the latest command additions/tweaks)
Line 20: Line 20:
  
 
'''/query metrics''': this command will show a simple metrics report of how the server has been performing. (available to non-administrators)
 
'''/query metrics''': this command will show a simple metrics report of how the server has been performing. (available to non-administrators)
 +
 +
'''/query netstats''': shows some network stats. (available to non-administrators)
 +
 +
'''/query wml''': shows stats about WML documents and their current memory consumption. (available to non-administrators)
  
 
'''/query status [<nickmask>]''': 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.
 
'''/query status [<nickmask>]''': 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.
  
'''/query kick <nickmask>''': this command will disconnect the user matching the given nickmask from the server.
+
'''/query motd [<message>]''': 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)
  
'''/query ban <ipmask>''': this command will make the server refuse connections matching the given ipmask.
+
'''/query msg <message>''': 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.
  
'''/query ban <nickmask>''': this command will make the server refuse connections from the ip address used by nicks matching the given nickmask. This is usually more convenient than having to work out the user's ip address and type it in.
+
'''/query lobbymsg <message>''': 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.
  
'''/query bans''': will show a list of currently banned ipmasks
+
'''/query kick <mask>''': this command will disconnect the user matching the given nick or ip mask from the server.
  
'''/query kban <nickmask>''': this command is equivalent to 'kick <nick>' 'ban <nick>' -- i.e. bans the user's ip address where the nick matches nickmask and disconnects them all in one go. The most common way to ban someone from the server.
+
'''/query ban <mask> [<reason>]''': this command will make the server refuse connections from users matching the given nick or ip mask.
  
'''/query kban <ipmask>''': this command will make the server refuse connections matching the given ipmask and kick all users with a matching ip address. The only way to kick users by ipmask.
+
'''/query bans''': will show a list of currently banned ipmasks
 
 
'''/query unban <ipmask>''': this command will remove the specified ipmask from the ban list
 
  
'''/query motd [<message>]''': 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
+
'''/query kban <mask> [<reason>]''': this command is equivalent to 'kick <mask>' 'ban <mask> [<reason>]' -- i.e. bans the user matching the given nick or ip mask and disconnects them all in one go. The most common way to ban someone from the server.
  
'''/query msg <message>''': 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.
+
'''/query unban <ipmask>''': this command will remove the specified ip mask from the ban list
  
'''/query lobbymsg <message>''': 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.
 
  
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ipmasks are masks that contain exactly 3 '.'s.
+
Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ipmasks are masks that contain at least one '.'.
  
 
== Future extensions ==
 
== Future extensions ==

Revision as of 00:13, 27 April 2008

Overview

The Wesnoth server, wesnothd provides a simple interface for administering the server from within the game itself.

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.

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,

/query <password>

where <password> 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,

/query admin <passwd>

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.

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.

Available commands

/query metrics: this command will show a simple metrics report of how the server has been performing. (available to non-administrators)

/query netstats: shows some network stats. (available to non-administrators)

/query wml: shows stats about WML documents and their current memory consumption. (available to non-administrators)

/query status [<nickmask>]: 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.

/query motd [<message>]: 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)

/query msg <message>: 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.

/query lobbymsg <message>: 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.

/query kick <mask>: this command will disconnect the user matching the given nick or ip mask from the server.

/query ban <mask> [<reason>]: this command will make the server refuse connections from users matching the given nick or ip mask.

/query bans: will show a list of currently banned ipmasks

/query kban <mask> [<reason>]: this command is equivalent to 'kick <mask>' 'ban <mask> [<reason>]' -- i.e. bans the user matching the given nick or ip mask and disconnects them all in one go. The most common way to ban someone from the server.

/query unban <ipmask>: this command will remove the specified ip mask from the ban list


Masks are arguments that can contain wildcards ('*' and '?'). '*' matches any number of characters (including none), and '?' any one character. Ipmasks are masks that contain at least one '.'.

Future extensions

The current administrative interface is fairly primitive. We plan to provide some further extensions in the future, such as,

/query mute <nick>: 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.