3 releases
Uses new Rust 2024
| 0.1.2 | Feb 21, 2026 |
|---|---|
| 0.1.1 | Feb 14, 2026 |
| 0.1.0 | Feb 12, 2026 |
#146 in Game dev
48KB
949 lines
rcon-cli
A command-line RCON client for remote server administration.
This client was developed with Factorio in mind, but may work with other RCON-compatible games.
Installation
Homebrew (macOS/Linux)
brew tap connor-hanson/rcon-cli
brew install rcon-cli
Cargo (crates.io)
cargo install rcon-cli
From Source
cargo install --path .
Features
- Interactive Mode - Connect once and run multiple commands in a persistent session
- One-Shot Mode - Execute single commands and exit
- Config File Support - Store server credentials in a JSON file for easy access
- Lightweight - Minimal dependencies and fast execution
- Cross-Platform - Works on macOS, Linux, and Windows
- Auto-Reconnection - Automatically attempt server reconnection if server connection dies
Usage
Configuration File
Store server credentials in a JSON config file to avoid typing them repeatedly.
Example Config File
Create a file (e.g., ~/.rcon-config.json):
{
"configs": {
"production": {
"host": "192.168.1.100",
"port": 27015,
"password": "prod_password"
},
"staging": {
"host": "192.168.1.101",
"port": 27015,
"password": "staging_password"
},
"local": {
"host": "127.0.0.1",
"port": 27015,
"password": "dev_password"
}
}
}
Set Environment Variable
Point to your config file:
export RCON_CONFIG_PATH=~/.rcon-config.json
Using Configs
rcon-cli --config-name custom_config_profile
This loads the host and password from your config file, so you don't need to pass --address or --password flags.
Interactive Mode
Connect to a server and run commands interactively:
> rcon-cli
Enter address: <your_server_address>
Enter port: <your_server_port>
Enter password: <your_server_password>
[2026-02-14T01:13:27Z INFO rcon_cli] Connected!
> <enter command>
rcon-cli --address <ip_addr> --port <port> --password <password> --show-responses --auto-reconnect
Example:
rcon-cli --address 127.0.0.1 --port 27015 --password mypassword
One-Shot Mode
Execute a single command and exit:
rcon-cli --address <ip_addr> --port <port> --password <password> -c <command>
Example:
rcon-cli --address 127.0.0.1 --port 27015 --password mypassword -c "/players"
Dependencies
~9–26MB
~337K SLoC