SimplePanel-CS2 is a web-based administration panel designed to manage bans, mutes, and administrative tasks for Counter-Strike 2 servers.
- 🖥️ Server list: View your server's details from Steam API.
- 🎮 Ban Management: View, create, edit, and remove bans with full permission control.
- 🔇 Mute Management: View, create, edit, and remove mutes with full permission control.
- 👥 Admin Management: Create, edit, and manage administrators with granular permissions.
- 🔐 Permission System: Flexible permission groups with hierarchical access control.
- 🔍 Player Search: Search players through connection logs and history.
- 💬 Chat Logs: View player chat messages (requires SimpleAdmin_ChatLogs module).
- 🌐 Multi-language Support: Create custom language files or use the included ones (English, Spanish, Portuguese BR/PT). Language files are located in
public/lang/. - 🎨 Theme Customization: Create custom themes or use the included ones (Default, Blue). Theme files are located in
public/themes/. - 🔑 Steam Authentication: Secure login via Steam OpenID.
Before installing SimplePanel-CS2, ensure you have the following dependencies installed on your CS2 server:
- CounterStrikeSharp (Minimum API Version: 342)
- Metamod:Source
- SimpleAdmin
SimpleAdmin requires the following additional plugins:
- PlayerSettings - Required by MenuManagerCS2
- AnyBaseLibCS2 - Required by PlayerSettings
- MenuManagerCS2
- MySQL database
To enable chat logs functionality, you need to install the following SimpleAdmin module:
The panel itself requires:
- Node.js (v20.9.0 or higher)
- pnpm (or npm/yarn)
- MySQL/MariaDB database
- Access to your CS2 server's SimpleAdmin database
-
Download the latest release:
- Go to the Releases page
- Download the latest
SimplePanel-v*.zipfile - Extract it to your desired location
-
Install dependencies:
pnpm install
Or using npm:
npm install
-
Configure environment variables: Create a
.envfile in the root directory with your database and Steam authentication settings.You need to generate a secure random string for the
SESSION_SECRETenvironment variable. Use one of the following methods: Windows (Node.js):node -e "console.log(require('crypto').randomBytes(64).toString('base64'))"Linux/Mac:
openssl rand -base64 64
To get your Steam API key:
- Visit https://steamcommunity.com/dev/apikey
- Log in with your Steam account
- Register a new API key by providing a domain name.
- Copy the generated API key and add it to your
.envfile asSTEAM_API_KEY
-
Start the application:
pnpm start
Or using npm:
npm start
The database tables will be automatically created on first startup if your database credentials are configured correctly.
Note: If you want to modify or contribute to the project, see DEVELOPMENT.md for development setup instructions.
@web/root- Full access to all functionalities@web/access- Access to the administrative page
@web/admin.create- Create administrators@web/admin.edit- Edit any administrator@web/admin.delete- Delete any administrator
@web/ban.view- View ban list@web/ban.add- Add a ban@web/ban.edit- Edit any ban@web/ban.edit.own- Edit only own bans@web/ban.unban- Unban any ban@web/ban.unban.own- Unban only own bans@web/ban.remove- Remove any ban from registry@web/ban.remove.own- Remove only own bans from registry@web/ban.comment.add- Add comments to bans@web/ban.comment.delete- Delete any ban comment@web/ban.comment.delete.own- Delete only own ban comments
@web/mute.view- View mute list@web/mute.add- Add a mute@web/mute.edit- Edit any mute@web/mute.edit.own- Edit only own mutes@web/mute.unmute- Unmute any mute@web/mute.unmute.own- Unmute only own mutes@web/mute.remove- Remove any mute from registry@web/mute.remove.own- Remove only own mutes from registry@web/mute.comment.add- Add comments to mutes@web/mute.comment.delete- Delete any mute comment@web/mute.comment.delete.own- Delete only own mute comments
@web/group.create- Create permission groups@web/group.edit- Edit permission groups@web/group.delete- Delete permission groups
@web/search.players- Search players (through connection logs)
@web/chatlogs.view- View messages sent by players
Permissions follow a hierarchical structure where:
@web/rootgrants access to all functionalities- General permissions (without
.own) allow actions on any sanction .ownpermissions only allow actions on sanctions applied by the user themselves- If a user has the general permission, they automatically have access to the
.ownpermission
- ✅ Ban management system
- ✅ Mute management system
- ✅ Admin management
- ✅ Permission groups
- ✅ Server groups
- ✅ Custom flags
- ✅ Player search
- ✅ Chat logs
- ✅ Multi-language
- ✅ Theme customization
- ✅ Discord notifications (webhook)
- ✅ Add comments to sanctions
- Audit log viewer
- Automated panel installation
- Responsive and style improvements
- Players can view their active penalties and history when logged in
- SimpleAdmin module that helps to easily manage penalties to make the panel more effective.
- Reports and appeals
- Ticket system
This project is licensed under a Modified MIT License with Commercial and Attribution Restrictions.
- 🚫 Commercial Use Prohibited: The software may not be used for commercial purposes without explicit permission
- 📝 Mandatory Attribution: You must maintain visible attribution to WiruWiru in all copies and distributions
⚠️ No Removal of Credits: You may not remove, obscure, or modify credits to the original author
To obtain a commercial license or use this software for commercial purposes, please contact the author at: https://github.com/wiruwiru
For full license details, see LICENSE file.
- Issues: GitHub Issues