KildClient supports peer to peer chat (that is, you talk directly to the other person, and not via a server, be it a MUD server or a chat server), which allows you to talk to other users of KildClient or other clients that support the MudMaster or zChat protocols (both are supported by KildClient).
There are several advantages of chatting directly with the other person:
You can chat even if the MUD is down, since the MUD server is not involved.
Since the chat is direct, it cannot be snooped by immortals or administrators.
The chat is independent from the MUD, so you can chat even if you in a situation in which it would not be possible to talk through the MUD.
The chat also supports other features that are not possible through a MUD, such as snooping a session, that is, seeing everything the other player sees in the screen (if they allow you to do so, of course), or sending everything you see to your chat party (if you allow that, of course), or transfering files.
These features do not pose a security risk, because they can be disabled and the other person can only see your output if you allow it, and they can only send files if you allow them to.
The chat plugin requires the Gtk3 Perl bindings, and also the Perl bindings for the vte library. If you cannot load the plugin and it complains about not finding these bindings, go to https://metacpan.org/release/Gtk3/ and download them.
To load the plugin, enter /$world->loadplugin('chat') in the command entry box. You should see Plugin loaded. If an error happened, you probably do not have the bindings mentioned in the above paragraph.
If you want to have the plugin always loaded, you can put that line (without the slash in the beginning) to your script file, and the plugin will loaded whenever you open a World.
Now that the plugin is loaded, you have two options: calling somebody or accepting calls from other persons.
The first thing you should do is set you chat nickname. To do that, type /chat::setname("nickname"). You only need to do this once, as the chat name will be saved and restored when you open the World again.
To accept calls, enter /chat::accept in the command entry box. Other people can now call you. You will need to give them your IP address. Calls are being waited on port 4050, which is the default port for the chat protocols. If you want to listen for connections in another port, just pass that port number as argument, for example, /chat::accept(5000). Be sure to inform other people the port you are using.
When somebody wants to chat to you, a dialog box will appear asking if you want to accept the chat. If you want to chat with them, select Yes to establish the chat connection, otherwise click No to deny the chat request.
To call somebody, use the call
function:
enter /chat::call("host").
host
is the hostname or IP address of the
person you wish to chat with. This command tries connecting to port
4050, if they are using another port, pass that port number as a
second argument to the function.
You can substitute call
for
zcall
. The later tries using the zChat protocol
instead of the default MudMaster protocol. Use the
zcall
function if you know they support the zChat
protocol.
If the other person accepts the chat, the connection will be established.
Each chat connection has its own window where the text received is displayed, and with an entry box where you can type messages that are sent to the other person. To send something, just enter the message and press ENTER.
There are some special commands that can be entered in chat windows, these will be described in the next session.