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