Websocket RCON client

Hello!
I have lately been considering doing an RCON client for rust.
Mostly because i find there is a few things missing from rusty and rustAdmin. Dont get me wrong these are both great tools but they seem more aimed towards smaller servers.

Due to this i want to make a system that is great both for large and small servers.
I talked about doing this quite a while back but never got to it until now :slight_smile:

But before i go and just create something i would love input from the community!
What i have planned so far is roughly this

Modes
There is multiple modes to the software, “Server”, “Client” and “Stand Alone”

Server Mode
If you are running a big server and have a lot of users you could run the server mode, configure it and add users with permissions (Eg select what they can and can not do!)
It will also be possible to add some “chat” commands to your server (Eg you could setup a command if a user writes “!rules” the server responds with a predefined text)
You can change the basic look of the server and clients (CUstom server logo when login in and some other astetics to make it look more integrated into your server style)

Client Mode
This is used for staff members to login to the server with a pre defined username and password

Stand Alone Mode
IF you are running a smaller server or simply want a “normal” RCON client this is exactly that
It packs the features of the Server Mode into a standalone client without features like permission setting etc.

We are also thinking about letting people define custom styles from a file if you would like to do so. (Based on CSS)
All of this with proper documentation and support from us of course!

Now my question is this:
Is this something you would use?
Would you like other features, if so what features?

(Updated mindmap is here)
Hopefully i can get Frank Walls to help me out with the graphics so we can get the look to be as professional as our last project the rust building planner!

Already started work on one 2 weeks ago. Wanted to have it open-source and for everyone to download, because I don’t trust the webbased RCON websites which conveniently store the password for you :slight_smile:

We could team up if you’re interested.

I’m playing with websockets as well at the moment. Would be curious as to what others have come up with.

it would be a web application or desktop application?

https://github.com/acupofspirt/rust-experimental-webrcon - here is JS implementation. You may fork it.

The identifier is actually used to link a response to a command. If you send ‘status’ with identifier 23, the response will also be 23, so you know it’s the response to your status command.

Thank you much for explanation! Just format of this communication is nowhere documented. I’ve got only example from Garry.
Perhaps you can explain what is “Stacktrace” field and why “Type” always equal to 3?

I have no idea at this point what Stacktrace is used for (other than the usual meaning of it). Type is most likely the type of message, in Source RCON Protocol this is used to determine what kind of message is being sent/received, like so:

3 = SERVERDATA_AUTH
2 = SERVERDATA_AUTH_RESPONSE
2 = SERVERDATA_EXECCOMMAND
0 = SERVERDATA_RESPONSE_VALUE

I’m guessing in this case, Type 3 is something like ‘standard message’, but I’m not sure.

At the risk of turning this into a WAYWO thread… https://github.com/jamiek23/rconparty

Main difference between mine and acupofspirt’s repo is that mine is a front end, but happens to include a small (34 LOC) object for handling the RCON connection. Could probably use their fancier library at some point in the future.