Index
Xelagot server/client
Server/Clients user interface
Version 2.9999949
Note: 'bot,master' protocol must be changed to 'master' as from version 2.9999949.
This interface can be found in the xelagot menu Bot | Server/clients. Selecting it opens a screen with the following items:
- a menu bar at the top
- a server connection list on the left
- a server memo on the right
- an input field for chat, beneath the connection list and the memo, and
a button with a '@' symbol for selecting chat output, to the left of the input field
- a status bar at the bottom
Usage: for customising and connecting the Server. One can also connect the various clients available in the program, but that be done better through the Clients user interface.
Menu bar
The menu bar has three headers: Server for the server options, CentralClient for the options of the central client, and BotClients for the options of the bot clients. The Server menu is the most important one, the other two can also be found in the Clients user interface.
- Server | Connect
brings up the connect selector, where you input the Port number of the listening connection, the number of seconds to wait before attempting automatic reconnection, and enable or disable automatic reconnection.
- Server | Disconnect
to disconnect the server
- Server | Show Clients
select All Clients to see all entries in the Server connection list. The other choices show only clients that are online: Clients Online shows all those logged in, Non-Bots Online only clients which dont have the "bot" protocol, Bots Online those that use the "bot" protocol.
- Server | Enable Chat on Login
if checked, puts a checkmark next to the client's name on the server connection list when the client logs in, if it is a non-bot client: this enables chatting to the client when Broadcast is turned off. If not checked, the user has to manually enable chat.
- Server | Broadcast
if checked, Broadcast mode is on, checkmarks next to the client names in the server connection list are ignored and chat is sent to all online clients visible on the list. If unchecked, Broadcast is turned off and chat is only sent to clients with a checkmark.
- Server | Show Debug Messages
if checked, all server messages are printed to the server memo (this includes uncoded passwords), otherwise only chat messages are printed
- Server | Save Server File
allows to change the name and path of the server file, which contains the login and password data of the clients. Server files ending in an 'enc' extension are encrypted, other files are saved as text.
- Server | Load Server File
to load a different server file.
- CentralClient | Connect
brings up a selector for the Central Client to input the necessary data to connect to a remote server: IP number, port, login name, password
- CentralClient | Disconnect
disconnects the Central Client from a remote server
- CentralClient | Show Debug Messages
if checked, all Central Client messages are printed to the server memo (this includes uncoded passwords), otherwise only chat messages are printed
- BotClients | bot name | Edit
brings up a selector for the Bot Client to input the necessary data to connect to a remote server: IP number, port, login name, password. Does not connect nor disconnect the Bot Client.
- BotClients | bot name | Connect
brings up a selector for the Bot Client to input the necessary data to connect to a remote server: IP number, port, login name, password. Attempts to open a connection to the remote server.
- BotClients | bot name | Disconnect
Disconnects the Bot Client from a remote server.
Server connection list (Server's Client Database)
This list contains the Server Connection list, which defines the login procedure for remote clients contacting the server. The interface to this list serves two purposes:
- the user can edit the data used by the server during the login procedure of remote clients, save and load the list of data.
- the user can select one of four modes of viewing the list of clients: all, online only, online non-bots, online bots. One can view the remote clients connected to the server, and also force clients to disconnect.
It has two columns, one visible showing the names of the clients, one hidden to the right of the list showing the protocols. Use the horizontal scroll bar to view the hidden area.
The title bar of the first column describes what is shown on the list: all clients, clients online, non-bots online or bots online. The user can change the selection by clicking on it or with the items of the menu Server | Show Clients.
Each line on this list has the data of one of the clients. The first column contains:
- a checkbox
if checked, chat messages are sent to the client even if Broadcast is turned off. This allows sending private messages.
- an image
if the client is offline, no image will appear. If the client is online, a smiling face indicates that the client has recently 'spoken', a small blob shows heartbeat (once every 60 seconds) has been detected. Bot Clients using the "bot" protocol show in fuchsia, others show in orange.
- a name
the login name of the client
The second column has the protocols used by the client.
This list has its own pop-up menu: right click on the list or on a list item to activate it. On it are the following items:
- add client
to add a client (login name, password, protocols) to the Server connection list. This addtion is saved to the Server file automatically. The protocols used at present are
- none (leave empty)
- bot
used by bots running an action script or chatting to their owners, i.e. all Bot Clients, and by a Central client connecting to Bot Clients.
- master
used by bots sending data through scripts with CLWriteToBot or AnyWriteToBot statements, and by a Central client connecting to Bot Clients. A 'master' is automatically a 'bot' i.e. the old notation 'bot,master' has been dropped.
- administrator
used by server administrators logging in with the Xelagot Administrator Client.
- user
used by bot owners logging in with the Xelagot User Client. The 'User Bots' field must contain the login names of the bots belonging to the User. USE THIS FIELD ONLY if the Protocol is User, leave it empty otherwise.
Protocols have a cetain hierarchy: a 'bot' which is also 'master' has the master protocol (as from version 2.9999949, only one protocol may be used, double protocols are deprecated).
- edit client
to edit the data of a client (login name, password, protocols, user bots) on the Server connection list. These changes are saved to the Server file automatically. The protocols used at present are
- none (leave empty)
- bot
used by bots running an action script, i.e. all Bot Clients, and by a Central client connecting to Bot Clients.
- master
used by bots sending data through scripts with CLWriteToBot or AnyWriteToBot statements, and by a Central client connecting to Bot Clients. A 'master' is automatically a 'bot' i.e. the old notation 'bot,master' has been dropped.
- administrator
used by server administrators logging in with the Xelagot Administrator Client.
- user
used by bot owners logging in with Xelagot User Client. The 'User Bots' field must contain the login names of the bots belonging to this User.
Protocols have a cetain hierarchy: a 'bot' which is also 'master' has the master protocol (as from version 2.9999949, only one protocol may be used, double protocols are deprecated).
This option does not close an open connection to the client. To close a connection so that changes take effect, click on 'expel client'.
- delete client
to remove a client permanently from the Server connection list. The Server file is automatically updated. If the client is logged in, this closes the client's connection.
- expel client
to close a connection to a client. It does not remove the client from the list nor does it prevent the client from logging in again.
The Server file is called Server.enc (encoded) by default, and is in the Preferences folder. The user can select another location and name for this file with menu Server | Save Server File. If needed, various Server files can be made and saved in this way. Server files can be loaded with the menu Server | Load Server File.
The Server file is encoded by default: all server files with the extension '.enc' are encoded files. If the name of the server file (when saved by the xelagot program) is changed, if the extension is not '.enc' the file is saved as plain text.
Server memo
Usage: to monitor the data flow between the server and remote clients.
This Memo shows all chat messages between the server and the clients connected to the server. It also shows the chat messages sent by the Central client to the remote server. If menu Server | Show Debug Messages or menu Client | Show Debug Messages is checked, also shows all messages produced by the server and/or client software (this includes uncoded passwords). The caption above the Memo shows which messages will be printed.
All messages have the time, a description and the text of the message. Central Client messages have a '*' symbol after the time.
On chat messages, the description is 'from name', 'to name' for the server application, or 'from Host', 'to Host' for the Central Client.
On server debug messages, the description has all the information about the client connections available to the server, when clients are involved.
On Central Client debug messages no description is used.
Chat messages sent or received by the server are shown in blue, Central Client chat messages are in fuchsia, debug messages are in grey.
Input field for chat and chat output button
Usage: for testing purposes.
In the input field below the Server connection list and the Server memo the user can type in text. This text is sent when the user presses the Enter key.
- if the chat output button is blue (up), the text is sent by the server to the connected clients. If Broadcast is turned on, all online clients on the visible list receive the message, otherwise only the ones with a checkmark next to their name receive it. In this mode, the person at the server can chat with people using Central Clients.
- if the chat output button is fuchsia (down), the Central Client sends the text to the remote server (the Host).
The colour of the output button corresponds to the colour of the text in the Server memo.
Status bar
The status bar at the bottom of the screen is divided into panels:
- the leftmost panel indicates the state of the server and the number of online connections
- the next small panel is empty if Broadcast is not selected, and has 'Br' if broadcast is on. You turn Broadcast on and off by clicking on this panel or with the menu Server | Broadcast
- the panel to the right shows the state of the Central Client
Server and user interface
The Server must have a list containing the login names, password and protocols of the clients which are allowed to connect to it. The user can make this list by right-clicking on the Server connection list provided by the user interface and adding, editing and deleting entries.
Once the Server connection list is made, the Server is ready to open a listening connection. A suitable Port must be found to do so. Any unused port will serve the purpose, ports range from 0 (not valid for the bot) to 65535, high port numbers are usually free. Avoid using ports which are marked as Services or Protocol: the files containing data about the standard ports are in your Windows directory or in a sub-directory and are called Services and Protocol.
To open a listening connection, click on menu Server | Connect, fill in the port number (and if you wish, modify the other data) and click Accept.
As from the moment the Server opens a listening connection, your system is vulnerable to attacks from hackers through the port being used by the Server.. That is always the case when using server software.
To close a listening connection, select menu Server | Disconnect.
When listening for potential clients, if a client attempts to connect to the Server, a login protocol is activated by the server. Login name and password are checked. If the check fails, the Server disconnects the intruder. If the check succeeds, the login name of the client is shown on the Server connection list with an image next to it. The Server accepts only one instance of a login name at a time.
For testing purposes: when a client is connected to the Server, the user and the client can communicate freely. To send messages to the client, a checkmark must be set next to the client's name, or Broadcast must be on. Messages will be sent only to visible names (you can change your selection of names by clicking on the title bar of the Server connection list). The user can type in and send text (press Enter) through the server using the chat input field. The button next to this field must be blue for the server to send the messages. One should avoid sending messages to Bot Clients because they require special leading codes: uncheck all Bot Clients (the fuchsia images) or select non-bots online if you wish to communicate with other clients (note that Central Clients using the bot protocol will appear as bots) .
To expel a client, either remove it from the Server connection list or use the expel menu item. Both actions are found on the pop-up menu (right-click on a name on the Server connection list).
The Server file (structure)
The server file contains the names, passwords and protocols of clients that may log in. It is normally made automatically by the bot, see here. The text variant has the following structure: each client is written on a separate line. The client line contains:
name=password,protocol
or
name=password,User;botlist
where botlist is a comma separated list of the bots of this User. For example:
Delph=bananas,master
Pipo=apples,bot
Alex=guru,User;Delph
XelaG=ohmy2,User;Delph,Pipo,MyBonnieLie$OverTheOce@n
Mary=sky123,User;*
MyBonnieLie$OverTheOce@n=,bot
The asterisc in user Mary's botlist means she has access to all bots. User XelaG can also access all bots, because they are all listed. The last entry ommits a password.
Index