rust-rcon-web Svelte Themes

Rust Rcon Web

A fast, modern web console for Rust game server administration via RCon.

Rust RCon Web

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

Features

  • Real-Time Console & Chat: A color-coded console and a dedicated, clean in-game chat view. No more cluttered logs.
  • Effortless Server Management: Save, manage, and instantly switch between multiple server configurations. Your settings are persisted locally and even synced across browser tabs.
  • Intelligent Console UI: Includes essential features like command history (use arrow keys!), smart auto-scrolling that doesn't interrupt you, and a responsive design for any device.
  • Secure & Private: Credentials are never stored unless you explicitly choose to save them in your browser's local storage. Supports secure wss:// connections out of the box.
  • Open Source: Built with a modern, transparent, and open-source stack.

Why?

This project was built to provide a modern, fast, and enjoyable RCon experience. While other tools exist, Rust RCon Web focuses on:

  • Modern Technology: Built with Svelte 5, Vite, and TypeScript for a blazing-fast and reactive UI.
  • User Experience: From smart scrolling to command history, every feature is designed with the server administrator's workflow in mind.
  • Simplicity: A clean, intuitive interface that's easy to use from the start.

Getting Started

Prerequisites

Installation & Running

  1. Clone the repository:

    git clone https://github.com/evs-ptr/rust-rcon-web.git
    cd rust-rcon-web
    
  2. Install dependencies:

    bun install
    
  3. Run the development server:

    bun run dev
    

The application will be available at http://localhost:5173.

Quality Checks

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.

Testing

This project uses Vitest for unit testing.

  • Run all tests:

    bun run test
    
  • Run tests in watch mode:

    bun run test:unit
    

Project Structure

.
├── 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

Similar Projects

Technologies Used

Contributing

Contributions are welcome.

License

Distributed under the MIT License.

Top categories

Loading Svelte Themes