Skip to content

SimplePanel-CS2 is a web-based administration panel designed to manage bans, mutes, and administrative tasks for servers using CounterStrikeSharp (CS2) SimpleAdmin.

License

Notifications You must be signed in to change notification settings

wiruwiru/SimplePanel-CS2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SimplePanel-CS2

SimplePanel-CS2 is a web-based administration panel designed to manage bans, mutes, and administrative tasks for Counter-Strike 2 servers.

๐Ÿš€ Features

  • ๐Ÿ–ฅ๏ธ 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.

๐Ÿ“‹ Requirements

Server Dependencies

Before installing SimplePanel-CS2, ensure you have the following dependencies installed on your CS2 server:

SimpleAdmin Dependencies

SimpleAdmin requires the following additional plugins:

  • PlayerSettings - Required by MenuManagerCS2
  • AnyBaseLibCS2 - Required by PlayerSettings
  • MenuManagerCS2
  • MySQL database

Chat Logs Support

To enable chat logs functionality, you need to install the following SimpleAdmin module:

Application Dependencies

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

๐Ÿ› ๏ธ Installation

  1. Download the latest release:

    • Go to the Releases page
    • Download the latest SimplePanel-v*.zip file
    • Extract it to your desired location
  2. Install dependencies:

    pnpm install

    Or using npm:

    npm install
  3. Configure environment variables: Create a .env file in the root directory with your database and Steam authentication settings.

    Generating SESSION_SECRET

    You need to generate a secure random string for the SESSION_SECRET environment 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

    Obtaining STEAM_API_KEY

    To get your Steam API key:

    1. Visit https://steamcommunity.com/dev/apikey
    2. Log in with your Steam account
    3. Register a new API key by providing a domain name.
    4. Copy the generated API key and add it to your .env file as STEAM_API_KEY
  4. 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.

๐Ÿ“– Available Permissions

Administrative Access

  • @web/root - Full access to all functionalities
  • @web/access - Access to the administrative page

Admin Management

  • @web/admin.create - Create administrators
  • @web/admin.edit - Edit any administrator
  • @web/admin.delete - Delete any administrator

Ban Management

  • @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

Mute Management

  • @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

Group Management

  • @web/group.create - Create permission groups
  • @web/group.edit - Edit permission groups
  • @web/group.delete - Delete permission groups

Player Search

  • @web/search.players - Search players (through connection logs)

Chat Logs

  • @web/chatlogs.view - View messages sent by players

๐Ÿ” Permission Hierarchy

Permissions follow a hierarchical structure where:

  • @web/root grants access to all functionalities
  • General permissions (without .own) allow actions on any sanction
  • .own permissions only allow actions on sanctions applied by the user themselves
  • If a user has the general permission, they automatically have access to the .own permission

๐Ÿ—บ๏ธ Roadmap

Current Version (v1.0.0)

  • โœ… 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

Upcoming features

  • 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.

Feature ideas

  • Reports and appeals
  • Ticket system

๐Ÿ“„ License

This project is licensed under a Modified MIT License with Commercial and Attribution Restrictions.

Key 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

Commercial License

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.

๐Ÿ“ž Support


About

SimplePanel-CS2 is a web-based administration panel designed to manage bans, mutes, and administrative tasks for servers using CounterStrikeSharp (CS2) SimpleAdmin.

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project