RCON v1.0.1RCON v1.0.1 is released!
Control your server with any telnet client!
Hi there, I'm new to this community, and so far I've been enjoying the new version (0.4), so I decided to try and write a plugin. I started thinking about important things that would come in handy for a server administrator, when I was told that VC-MP no longer has RCON functionality. So I started working on this plugin. I'm not too experienced in C/++ and the development/improvement of the plugin is in progress, as there may be some issues which I will work to fix if they are found.
+ About Plugin
I started working on this plugin around 10 days ago, I have been too excited to get this plugin working asap. So far, it's been mostly stable! Even though I didn't test the plugin as much as it deserves, but I hope it runs well. Please report bugs whenever you discover them!
This plugin creates a TCP socket and binds on a configured port, then it accepts client connections, which will need to identify to the server with a password to be able to control the server. Everything will be documented below.
+ Source Code
The source code can be found here(https://github.com/Kirollos/VCMP_RCON)
Note: Pull requests are welcomed!
Plugin binaries (compiled on both Windows and Linux) can be found here(https://github.com/Kirollos/VCMP_RCON/releases)
On the first installation, you need to run the server with the plugin, then you can shut down the server.
This plugin's configuration entries can be found in server.cfg as the following:
- rcon_enabled [true/false]
- rcon_port [integer]
- rcon_bindip [IPv4] - Binds the RCON socket to a specific IP address. Set it to "0.0.0.0" to bind it on all IP addresses
- rcon_password [string] - The RCON password
+ How-to compile
- Windows: Just load the visual studio solution file and compile. All should work with no problems.
- Linux: running "make" in the main directory shall do everything needed.
Note that you need to run "make release32" for x86 server and "make release64" for x64 server!
+ How-to use
This plugin can be accessed with almost any telnet client. PuTTY can work in Raw/Telnet mode as well.
Some clients that are written by me can be found here(https://github.com/Kirollos/VCMP_RCON/tree/master/clients).
+ Built-in commands
All the commands can be found type sending "help".
+ Squirrel related stuff
This plugin gives you more ability to control it through your scripts, adding your own commands, etc.
This plugin sends a callback to squirrel if the input command is not defined in the main plugin commands, which is:
function RCON_OnCommand(clientid, ip, command, params)
- integer clientid - The ID of the client that requested the command (Note: clientid is not usually unique!)
- string ip - The client's IPv4 address
- string command - The requested command
- string params - The requested parameters
The plugin also provides the following functions:
RCON_Send(int clientid, string text);
This function returns an array which looks like this:
// [string IP, bool IDENTIFIED]
["127.0.0.1", true], // first client
["192.168.1.2", false], // second client
... // etc..
+ Thanks to
- VC-MP team for their SDK header.
- Whoever has written the plugin SDK introduction page on the wiki.
- Castagna - Motivated me to start working on my plugin.
- SLC - Introduced me to SQImports and stuff..
- Sachiko - Helped w/ testing the plugin and catching some bugs.
- Many others helped me w/ the testing.
* This topic will be updated regularly and will be more organised!