A modern, reliable, and feature-rich web interface for your Rust game server's RCon.
Check out the live version: rust-rcon-web.evs-ptr.workers.dev
wss:// connections out of the box.This project was built to provide a modern, fast, and enjoyable RCon experience. While other tools exist, Rust RCon Web focuses on:
Clone the repository:
git clone https://github.com/evs-ptr/rust-rcon-web.git
cd rust-rcon-web
Install dependencies:
# With Bun
bun install
# Or with npm
npm install
Run the development server:
# With Bun
bun run dev
# Or with npm
npm run dev
The application will be available at http://localhost:5173.
This project uses Vitest for unit testing.
Run all tests:
bun run test
Run tests in watch mode:
bun run test:unit
.
├── src
│ ├── lib
│ │ ├── config-state.svelte.ts # Global UI state management (Svelte 5 Runes)
│ │ ├── storage-synced.ts # localStorage persistence & cross-tab sync
│ │ └── components/ui/ # Reusable Shadcn UI components
│ ├── routes
│ │ ├── +page.svelte # The main landing page
│ │ └── rcon/ # Core RCON application logic and components
│ │ ├── +page.svelte # Entry point for the /rcon route
│ │ ├── rust-rcon.ts # Handles RCON message protocol
│ │ ├── websocket-wrapper.ts# Manages the WebSocket connection & reconnects
│ │ ├── servers-manager.svelte.ts # Manages adding, deleting, and switching servers
│ │ ├── ServerMain.svelte # Main component for a connected server
│ │ ├── ServerConsole.svelte# The interactive console component
│ │ └── ServerChat.svelte # The interactive chat component
│ └── tests/ # Vitest unit tests
├── static/ # Static assets (images, favicon)
└── package.json # Project dependencies and scripts
Carbon Control Panel by Carbon Community
webrcon by Facepunch
Contributions are welcome.
Distributed under the MIT License.