02.07.2007, 10:00
- What is it?
GUIRCON is basically an entire new rcon protocol built on top of the server. The current system is very basic, and although custom commands can be handled in scripts, you cannot send any data back to the rcon client that sent it. The protocol is also inefficient, having to send the password with every command due to connections only being temporary, and it can be confusing for people wanting to develop the protocol.
GUIRCON does not use any part of the original system whatsoever. It consists of a server plugin, which creates its own TCP sockets to accept connections and interpreted information, a pawn script to call functions related to the system, and there is also a basic Win32 dialog application to enable visual and user-friendly server control.
The 'netcode' has been massively simplified compared to the original. It uses a similar syntax to the IRC protocol, in that it's simply a command, and any parameters, such as "MSG [text]". This makes development of the protocol very easy, and means you can modify it to suit your needs without having to worry about confusing packet structures.
- How does it work
As mentioned before, the most important part is the plugin. This opens up sockets in your server, which will accept connections from any client wishing to connect. It also handles the information regarding players, messages and events to send to users connected. By calling the send function from your script, you can send any data you want to connected GUIRCON clients.
The script also handles callbacks, so you can interpret and respond to any commands the GUIRCON clients send. This means you can add your own commands onto the ones already implemented, to extend the functions to whatever required.
The included client is used to send information to the server, such as commands to kick, ban, or get player information. The client also interprets responses from the server, and can add this information to the chatbox.
- Other Information
Please note, I would consider this to be a 'beta' version, simply because I've not had the capacity to test it neither on linux (though it does compile, a makefile and compiled .so is available), nor on a populated server in a normal environment. Basic tests with me or another user have highlighted bugs which have been fixed, but I would still recommend you test it yourself before firing it up on a 100 player server.
I ask that any problems that do occur, you let me know of. I'll continue to improve and fix this until I'm satisfied, and it can confidently be used in well populated servers.
The client included is, as said, very basic. I plan on extending both client and plugin, to include more advanced features. A 2D gamemap with player blips and information is on the cards for very soon, for example.