NOTE: Quatrix panel is still under development.
A web-based management panel for Counter-Strike 2 dedicated servers. Quatrix provides real-time monitoring, RCON console, player management, and multi-instance support through a modern web interface.
Target users: CS2 server administrators running Linux dedicated servers
Scope: Server-side management only (no client modifications or exploits)
Quatrix addresses common pain points in CS2 server management:
- Multi-instance efficiency: Run multiple CS2 server instances without duplicating 60GB+ game files
- Plugin management: Centralized plugin pool with per-instance configuration
- Real-time control: WebSocket-based live updates for console, chat, and player data
- Modern interface: React-based UI with responsive design and dark mode
- Dashboard: Real-time CPU, RAM, and network usage monitoring
- RCON Console: Interactive command execution with color-coded output and command history
- Player Management: Live player list with Steam profiles, connection times, and kick/ban controls (Requires SimpleAdmin for admin management)
- Chat Monitor: Real-time in-game chat with player avatars and filtering
- File Manager: Web-based config editor (supports
.cfg,.json,.txt,.toml) - Analytics Dashboard: Historical system performance metrics with customizable time ranges (24h, 7d, 30d)
- Multi-instance support: Manage multiple CS2 servers from one panel
- Granular symlinking: Shares game files (
.vpkassets) while isolating configs and plugins - Plugin pool: Deploy plugins to multiple instances from a central repository
- Auto-repair: Validates and fixes file structure issues on server start
- Automated backups: Scheduled database and configuration backups with retention policies
- ACL Permission System: Granular access control with permissions like
servers.create,servers.update,users.manage - Transparent Observer Mode: All users can view all pages, but actions are restricted based on permissions
- User authentication: JWT-based sessions with optional 2FA (TOTP)
- Admin system: Integrated with CounterStrikeSharp's ecosystem (compatible with SimpleAdmin for user management)
- Multi-language: English and Turkish localization (i18next)
โโโโโโโโโโโโโโโ
โ React UI โ โ WebSocket/REST โ โโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโ โ Node.js API โ
โโโโโโโโฌโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโผโโโโโโ โโโโโโผโโโโโ โโโโโโโผโโโโโโ
โ SQLite DB โ โ Plugins โ โ CS2 Core โ
โโโโโโโโโโโโโ โ Pool โ โ (60GB+) โ
โโโโโโโโโโโ โโโโโโโฌโโโโโโ
โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโ
โ โ
โโโโโโโผโโโโโโโ โโโโโโโโผโโโโโโ
โ Instance 1 โ โ Instance 2 โ
โ (symlinks) โ โ (symlinks) โ
โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ
Stack:
- Frontend: React 19, Vite 7, Tailwind CSS, Socket.IO client
- Backend: Node.js 20+, Express, Socket.IO 4.8, better-sqlite3
- Automation: SteamCMD integration, systemd service management
- Ubuntu 20.04+ or Debian 11+ (64-bit)
- Root or sudo access
- At least 70GB free disk space (for CS2 server files)
curl -sSL https://raw.githubusercontent.com/cspamsky/quatrix/main/install.sh | sudo bashThis script will:
- Install Node.js 20, .NET 8 SDK, and required 32-bit libraries
- Create a
quatrixsystem user - Clone the repository to
/home/quatrix/quatrix - Install dependencies and build the frontend
- Configure a systemd service
- Set up UFW firewall rules for CS2 ports
# Install dependencies
sudo apt update
sudo apt install -y curl git build-essential lib32gcc-s1
# Install Node.js 20
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# Clone and setup
git clone https://github.com/cspamsky/quatrix.git
cd quatrix
npm install
cd client && npm install && npm run build && cd ..
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Start the server
npm startAccess the panel at http://your-server-ip:3001
Default credentials are created on first run. Check the console output for login details.
- Create an instance: Dashboard โ Instances โ Add New
- Configure settings: Set server name, port, game mode, and map
- Install plugins: Use the plugin pool to deploy Metamod:Source and CounterStrikeSharp
- Start server: Click Start button in the instance card
Execute commands directly from the web interface:
changelevel de_dust2
sv_cheats 1
mp_warmup_end
- Upload plugins to the central pool:
Plugins โ Upload - Deploy to instances: Select plugin โ Choose instances โ Deploy
- Edit configs: File Manager โ Navigate to plugin folder โ Edit
.json/.cfg
Quatrix uses a granular ACL (Access Control List) system. Available permissions:
*- Root access (all permissions)servers.create- Create new server instancesservers.delete- Delete server instancesservers.update- Modify server settingsservers.console- Access RCON consoleservers.files- Manage server filesservers.database- Access database managementplugins.manage- Install and configure pluginsanalytics.view- View system analyticsusers.manage- Manage users and permissions
Users without specific permissions can view pages in read-only mode (Transparent Observer).
quatrix/
โโโ client/ # React frontend (Vite + React 19)
โ โโโ src/
โ โโโ components/ # Reusable UI components
โ โโโ pages/ # Route-based page components
โ โโโ contexts/ # React context providers
โ โโโ hooks/ # Custom React hooks
โ โโโ utils/ # Client-side utilities
โ โโโ config/ # Frontend configuration
โ โโโ locales/ # i18n translation files
โ โโโ types/ # TypeScript type definitions
โโโ server/ # Node.js backend (Express + Socket.IO)
โ โโโ src/
โ โโโ routes/ # API endpoint definitions
โ โโโ services/ # Business logic and integrations
โ โโโ middleware/ # Express middleware (auth, rate limiting)
โ โโโ utils/ # Server-side utilities
โ โโโ config/ # Backend configuration
โ โโโ types/ # TypeScript type definitions
โโโ data/ # Application data (database, SteamCMD)
โโโ install.sh # Automated installation script
Completed:
- โ Multi-instance management with symlink optimization
- โ Real-time RCON console and chat monitoring
- โ Steam profile integration (avatars, SteamID conversion)
- โ Plugin pool and deployment system
- โ Web-based file editor
- โ Admin permission management
- โ 2FA authentication
- โ ACL-based permission system (granular access control)
- โ Transparent Observer mode (read-only access for unauthorized users)
- โ System analytics dashboard with historical metrics
- โ Automated backup system for configs and database
Planned:
- Workshop map downloader integration
- External database support (MySQL/MariaDB) for shared stats
- REST API documentation for third-party integrations
- Advanced server performance analytics and alerting
- Multi-server cluster management
Contributions are welcome. Please follow these guidelines:
- Fork the repository and create a feature branch
- Follow existing code style: ESLint for JS/TS, Prettier for formatting
- Test your changes: Ensure the panel builds and runs without errors
- Write clear commit messages: Use conventional commits format
- Submit a pull request: Describe what your changes do and why
# Install dependencies
npm install
cd client && npm install && cd ..
# Run in development mode
npm run dev # Backend (port 3001)
cd client && npm run dev # Frontend (port 5173)- Check existing issues before creating a new one
- Include CS2 server version, OS version, and Node.js version
- Provide error logs from
journalctl -u quatrixor console output
MIT License - see LICENSE file for details.
Author: cspamsky
Repository: github.com/cspamsky/quatrix
This project is not affiliated with Valve Corporation. Counter-Strike 2 is a trademark of Valve Corporation.
Quatrix is designed for legitimate server administration only. Do not use this software for cheating, exploits, or any activities that violate Valve's terms of service.
