Awesome
<p align="center"> <img src="https://i.imgur.com/BdC2Qz9.png" alt="ARRCON Banner" /> </p> <p align="center"> A lightweight cross-platform RCON client compatible with <b>any game using the Source RCON Protocol</b>.<br/> <p align="center"> <a href="https://github.com/radj307/ARRCON/releases/latest"><img alt="GitHub release (latest by date)" src="https://img.shields.io/github/v/release/radj307/ARRCON?label=Latest+Version&style=flat"></a> <nobr/> <a href="https://github.com/awesome-selfhosted/awesome-selfhosted#games---administrative-utilities--control-panels"><img alt="Mentioned in Awesome-Selfhosted" src="https://awesome.re/mentioned-badge.svg"></a> <nobr/> <a href="https://github.com/radj307/ARRCON/releases"><img alt="Downloads" src="https://img.shields.io/github/downloads/radj307/ARRCON/total?label=Downloads&style=flat"></a> </p> <p align="center"> <a href="https://github.com/radj307/ARRCON/actions/workflows/MakeRelease.yaml"><img alt="Release Workflow Status" src="https://img.shields.io/github/actions/workflow/status/radj307/ARRCON/MakeRelease.yaml?label=Build Status&logo=github&style=flat"> </p> <p align="center"> <a href="https://github.com/radj307/ARRCON/releases">Downloads</a>  |  <a href="https://github.com/radj307/ARRCON/wiki">Wiki</a>  |  <a href="https://github.com/radj307/ARRCON/issues">Issues</a> </p>Features
- Highly configurable
- Cross-Platform:
- Windows
- Linux
- macOS
- Works for any game using the Source RCON Protocol
- Handles large packets without issue
- Handles multi-packet responses without issue
- Supports Minecraft Bukkit's colorized text
- You can set delays in the INI file or directly on the commandline
- Supports saving a server's connection info so you can connect to it with 1 word
If you've ever usedssh
'sconfig
file, this will be very familiar. (albeit with more sensible syntax)- This can be done in a text editor or entirely from the commandline
- Can be used as a one-off from the commandline, or in an interactive console
- Supports piped input using shell operators.
For example;echo "help" | ARRCON -S myServer
would send thehelp
command to themyServer
host- Piped commands are sent after any commands explicitly specified on the commandline
- Supports piped input using shell operators.
- You can write scripts and manually execute them with the
-f
/--file
options in addition to shell scripts- Commands are separated by newlines
- Commands from script files are sent after any piped commands
- Line comments can be written using semicolons
;
or pound signs '#'
- Shows an indicator when the server didn't respond to your command
Installation
Get the latest version for your OS from the releases page.
If you're using the Windows or MacOS versions, see the additional information below.
There is no installation process required, simply extract the archive to a location of your choice, then run it using a terminal emulator.
If you want to be able to run ARRCON from any working directory without specifying its location, you must add the location to your environment's PATH variable.
Windows
On newer versions of Windows, you may be required to "unblock" the executable before Windows will let you use it.
This is because the executable isn't signed with a Microsoft-approved signing certificate, which costs upwards of $300/year.
To unblock it, Right-Click on ARRCON.exe
in the file explorer and click Properties at the bottom of the right-click menu.
Check the unblock box, then click Apply.
MacOS
If you're running macOS 10.9 or later, you must install gcc
via HomeBrew or some other package manager!
If homebrew is installed, you can run this command to install and setup gcc
automatically: brew install gcc
This is because Apple no longer includes libstdc++
by default as of macOS 10.9 (See #11), which is required for ARRCON to run.
Building from Source
See here for a brief guide on building ARRCON from source.
Usage
ARRCON is a CLI (Command-Line Interface) program, which means you need to run it through a terminal.
On Windows, you can use cmd.exe
or powershell.exe
by R+Clicking on the start menu and selecting "Command Prompt" or "PowerShell".
For more detailed usage instructions, see the Getting Started page on the wiki.
To see a list of commands, use ARRCON -h
or ARRCON --help
To see a list of environment variables, their current values, and a description of each, use ARRCON --print-env
Modes
-
Interactive Shell
Opens an interactive console session. You can send commands and view the responses in real-time.- Used by default when there are no command arguments.
- Connection remains open until you disconnect or kill the process, or if the server closes.
-
One-Shot
This mode is designed for scripting, it sends commands directly from the commandline in sequential order before exiting.
(You can also open an interactive shell at the same time with the-i
/--interactive
options.)Supported input methods:
- Commandline Parameters
These are any arguments that are not short/long-opts and not captured by short/long-opts. - Shell Scripts
- Redirected input from STDIN
- Script Files
Splits commands by line, and allows comments using a semicolon;
or pound sign#
.
Comments are always considered line comments.
Use the '-f
' or '--file
' options to specify a scriptfile to load.
- Commandline Parameters
Contributing
If you want to add a new feature, fix a bug, or just improve something that annoys you, feel free to submit pull requests and/or issues.
Feedback & Requests
Feel free to leave feedback on the issues tab!
There are a number of premade templates for the following situations:
- Questions
- Bug Reports
- Protocol Support Requests
- A note on Battleye's RCON protocol:
Battleye's RCON protocol requires sending "keep-alive" packets at least every 45 seconds to maintain the connection, which is better suited by a multithreaded GUI application, and as such will not be implemented in ARRCON.
Other protocols or game-specific implementations however, will be considered.
- A note on Battleye's RCON protocol:
- Feature Requests
- Suggestions
- Documentation Suggestions or Additions
Pull Requests
Feel free to submit a pull request if you've added a feature or fixed a bug with the project!
Contributions are always welcomed, I'll review it as soon as I see the notification.