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:
bun install
Run the development server:
bun run dev
The application will be available at http://localhost:5173.
Use Bun for all project scripts.
Run linting:
bun run lint
Format the codebase:
bun run format
Run Svelte type and diagnostics checks:
bun run check
Typical workflow for changes is to run bun run lint first, then bun run format near the end of the task.
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.