RCON

From SDG Wiki
Revision as of 21:21, 14 June 2018 by User (talk | contribs)
Jump to: navigation, search

Template:Ambox/Documentation

The Remote Console tools exist to help you administer your server without connecting as a player.

There are two ways to invoke Rcon: HTTP Requests, and the Rcon Protocol.

Setup

to-doc The setup process isn't finalized yet, as I want you to be able to assign Rcon keys permissions and configure the port in the server config.

HTTP Requests

Intended for web-based control panels to run commands on the server.

Requests can be sent to {Server}/rcon/{Command}?key={Key}&arg1=value1&arg2=value2.

Key Value
Command Id of a command as would be used in chat, e.g. teleport or tp
Key An authorized Rcon key you've assigned permissions to run this command.
Arg Key=Value pairs of arguments to the command.

Responses are returned in JSON. If a command was found and executed the response looks like:

{
    "Success": true,
    "Output": "{Logs}"
}

Whereas a failed response which didn't execute a command will contain an error explanation:

{
    "Success": false,
    "Error": "{Explanation}"
}

Rcon Protocol

Using the protocol is more complex than the HTTP requests, but has the advantage of streaming log data from the server.

To keep things simple it's implemented as null-terminated UTF8 messages over a TCP socket connection.

All Rcon messages start with "RCON" followed by the version number, the type of message and then any parameters.

RCON Version Type Parameters

Client to Server Messages

Authentication

Should be the first packet you send. Wait for an AUTH reply from the server as notification that you were approved for login, or ERR if you were rejected.

Key Value
RCON RCON
Version 1
Type AUTH
Parameters Authorized RCON key.

Example:

RCON 1 AUTH MySecretKey

Execute Command

Can be sent once you've authenticated to execute a command.

Key Value
RCON RCON
Version 1
Type CMD
Parameters Command as would be used in chat.

Example:

RCON 1 CMD teleport -from=player1 -to=player2

Server to Client Messages

Welcome

Sent after your AUTH packet is verified and approved for login.

Key Value
RCON RCON
Version 1
Type AUTH
Parameters None.

Example:

RCON 1 AUTH

Error

Sent if your AUTH packet was denied, or a packet you sent was malformed.

Key Value
RCON RCON
Version 1
Type ERR
Parameters Explanation of error.

Example:

RCON 1 ERR Bad Key

Log Relay

Sent to mirror log messages that were printed on the server.

Key Value
RCON RCON
Version 1
Type LOG
Parameters Line(s) of output relayed from the log.

Example:

RCON 1 LOG LogAIModule: Creating AISystem for world Devtest