Skip to content

mrelmida/JaRCON

Repository files navigation

⚡ JaRCON (Just Another RCON Client)

A modern, highly polished, and feature-rich Terminal User Interface (TUI) client for administering game servers using the RCON protocol. Built in Go using the Bubble Tea framework and styled with Lip Gloss, it features cross-platform support for both Minecraft and Source Engine servers (including CS2, TF2, Rust, Ark, GMod, etc.).


✨ Features

  • 🎮 Multi-Server status Dashboard: Asynchronously monitors all saved server profiles. Displays real-time online/offline statuses, active players, and query latencies in a clean grid.
  • 📟 Interactive Console:
    • Scrollback History: Scroll through command output smoothly using PgUp/PgDn.
    • Smart Autocomplete: Positional tab completion for commands, arguments, selectors (@a, @p), and online players (Minecraft).
    • Command Frequency Ranking: Autocomplete suggestions are automatically prioritized by how frequently you execute them.
    • Log Search & Filters (Ctrl+F): Filter console logs in real time.
  • 👥 Player Administration Panel: Monitor real-time player listings (Name, SteamID/UniqueID, Ping, Connection Time) and execute quick actions like Kick, Ban, Private Message, and Op/Deop (Minecraft).
  • 📝 Command Preset Macros: Palette of templates with automated popup modals to fill placeholders (e.g. kick {player_name}) before execution.
  • 🔧 Minecraft Special panel: An interactive dashboard to inspect and edit server gamerules (boolean toggles and numeric inputs), reload whitelists, save chunks, or stop the server.
  • 🤖 Copilot AI (The /yolo Command): Translate natural language prompts to executable RCON commands using OpenAI, Anthropic, Gemini, Ollama, or local engines. Supports conversational context memory (last 10 turns) and sandboxed tool calling.
  • 📥 Advanced Log Export Controls: Export logs using a clean configurator modal supporting TXT, JSON, and CSV formats, regex filter rules, and time scopes.
  • 🔍 Console Output Diff Viewer: Interactively select and inspect comparative LCS line diffs of two command outputs.
  • 🔔 Native OS Desktop Notifications: Trigger Unix notify-send messages (or terminal sound bells) on log keyword matches (e.g. banned, kicked).
  • ⚙️ Configurable Keybindings: Customize every keyboard shortcut via a simple keybindings.yaml configuration.

🛠️ Installation & Building

  1. Prerequisites: Make sure you have Go installed on your system.
  2. Build the Binary:
    go build -o jarcon
  3. Run the Application:
    ./jarcon
    Note: On your first run, a wizard will guide you to configure your default AI co-pilot provider and settings.

⌨️ Shortcuts & Keybindings

All keybindings are configurable in keybindings.yaml next to your config folder (usually ~/.config/jarcon/keybindings.yaml).

Keybinding Action
Tab Cycle through navigation tabs
1 - 6 Quick jump to specific tabs
Ctrl+C Gracefully quit
Ctrl+L Clear console buffer
Ctrl+S Open Advanced Log Export Configurator
Ctrl+D Open Console Output Diff Comparative Selector
Ctrl+F Open Search filter for logs
Ctrl+T Toggle auto-scroll lock

🔒 Credentials & Obfuscation

Passwords are automatically stored securely in your system keyring (keychain/Secret Service APIs) via the go-keyring library. If a local keyring is not available, passwords fall back to a base64-XOR obfuscation algorithm on disk inside config.yaml to ensure they are never exposed in plain text.

About

A modern, highly polished, and feature-rich terminal user interface (TUI) client for administering game servers using the RCON protocol.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages