Skip to content

rohankmr414/crowbar

Repository files navigation

🔧 crowbar

A terminal UI for connecting to any Source or Source 2 dedicated server over RCON. Execute commands with live autocomplete — all from your terminal.

Works with CS:GO, CS2, TF2, Garry's Mod, L4D2, Rust, and any other game using the Source RCON protocol.

Go License

Features

  • Live autocomplete — fetches commands and cvars via cvarlist at connection time for instant, lag-free suggestions
  • Real-time log streaming — receives server logs via UDP and automatically filters out polling noise
  • Raw multi-packet support — custom TCP RCON parser completely bypasses the cvarlist truncation bug found in standard libraries
  • Quality of life — command history (↑/↓), local display clearing (Ctrl+L), disconnected mode, and dynamic game-specific themes

Install

Download Binaries (Recommended)

You can download pre-compiled binaries for Windows, macOS, and Linux from the Releases page.

Extract the archive and run the crowbar executable from your terminal.


Build from Source

# Using go install
go install github.com/rohankmr414/crowbar@latest

# Or clone and build manually
git clone https://github.com/rohankmr414/crowbar.git
cd crowbar
go build -o crowbar .

Usage

crowbar -H <host> -p <port> -P <password> [-l <log-port>]

Flags

Flag Short Default Description
--host -H 127.0.0.1 Server IP address
--port -p 27015 Server RCON port
--password -P (required) RCON password
--log-port -l 27115 Local UDP port for receiving log stream (must be reachable by the game server)
--public-ip (auto-detected) Public IP to advertise for UDP log streaming

Examples

# Connect to a local server
crowbar -P myrconpassword

# Connect to a remote CS2 server
crowbar -H 192.168.1.100 -p 27015 -P secret

# Connect to a Garry's Mod server on a custom port
crowbar -H 10.0.0.5 -p 27025 -P secret

# Use a custom log port
crowbar -H 10.0.0.5 -P secret -l 27200

UDP Log Streaming Limitations

Crowbar receives logs over UDP using logaddress_add. This requires network reachability from the game server to your machine.

  • If you are behind NAT/router, forward UDP --log-port to the machine running crowbar.
  • Allow inbound UDP on your OS/cloud firewall for --log-port.
  • If auto-detected IP is wrong (VPN, CGNAT, multi-WAN), set --public-ip manually.
  • Some ISPs use CGNAT or carrier-level firewalls that block unsolicited inbound UDP, so port forwarding may not be possible on residential/mobile connections.
  • Some hosting/VPN setups block inbound UDP entirely; in that case command execution still works, but live log streaming will not.

Key Bindings

Key Action
Enter Send command / accept autocomplete selection
Tab Apply top autocomplete suggestion
/ Navigate command history or autocomplete list
PgUp / PgDn Scroll log viewport
Ctrl+L Clear local terminal viewport
Esc / Ctrl+C Quit

How It Works

┌─────────────────────────────────────────┐
│  Log Viewport (scrollable)              │
│  ── server logs stream here via UDP ──  │
│  ── command responses appear here ──    │
├─────────────────────────────────────────┤
│  ❯ command input (with autocomplete)    │
└─────────────────────────────────────────┘
  1. RCON — connects over TCP using the Source RCON Protocol
  2. Log streaming — auto-detects your public IP and sends logaddress_add so the server streams logs via UDP
  3. Autocomplete — fetches the full command/cvar list via cvarlist once at connection time, then filters locally for instant suggestions
  4. TUI — built with Bubble Tea (Elm-architecture)

Built With

License

MIT

About

A beautiful, live-updating TUI for managing Source Engine dedicated servers over RCON.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages