README
ΒΆ
π§ 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.
Features
- Live autocomplete β fetches commands and cvars via
cvarlistat 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
cvarlisttruncation 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-portto 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-ipmanually. - 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) β
βββββββββββββββββββββββββββββββββββββββββββ
- RCON β connects over TCP using the Source RCON Protocol
- Log streaming β auto-detects your public IP and sends
logaddress_addso the server streams logs via UDP - Autocomplete β fetches the full command/cvar list via
cvarlistonce at connection time, then filters locally for instant suggestions - TUI β built with Bubble Tea (Elm-architecture)
Built With
- Bubble Tea β TUI framework
- Lipgloss β Terminal styling
- Bubbles β TUI components (viewport, text input)
- pflag β POSIX-style CLI flags
License
MIT
Documentation
ΒΆ
There is no documentation for this package.
Click to show internal directories.
Click to hide internal directories.