⚠️ Important Notice: If you are using other admin plugins or AdminList plugins, conflicts may occur and cause errors. You should not use plugins like !calladmin and !report as they will conflict with AdminPlus. I am continuously updating the plugin and waiting for your bug reports.
Advanced CounterStrikeSharp admin plugin with comprehensive features: ban/kick system, easy menu system, voting system, fun commands, communication control, and reservation system. No database required - file-based storage, easy setup.
- 🔨 Ban System: SteamID & IP bans with temporary/permanent options
- 👥 Admin Management: Add/remove admins with immunity levels
- 💬 Communication Control: Mute, gag, and silence players
- 🗳️ Voting System: Map votes, kick votes, ban votes, and custom votes
- 🎮 Interactive Menus: Easy menu system for management
- 🎯 Fun Commands: Teleport, freeze, blind, drug effects, and more
- 📢 Chat Commands: Admin say, center say, HUD messages
- 🔒 Reservation System: Admin priority slots and player management
- 📊 Report System: Player-to-player reporting with Discord integration
- 🌍 Multi-language: English, Turkish, French, Russian, German, and Brazilian Portuguese support
- 📝 Advanced Logging: All actions logged to files and 7 different Discord webhook channels
- 🔗 Discord Integration: Server status, ban logs, admin commands, communication logs, connection tracking, chat logs, and report system
- 🔔 Smart Notifications: Intelligent admin alerts based on action importance and type
- 🛡️ Security & Performance: Memory leak protection, input validation, and optimized performance
- CounterStrikeSharp framework
- Metamod:Source plugin
- Download the latest release
- Extract all files from the zip to
csgo/addons/counterstrikesharp/plugins/ - Copy language files to
csgo/addons/counterstrikesharp/plugins/AdminPlus/lang/ - Restart your server
The plugin uses file-based storage:
csgo/addons/counterstrikesharp/configs/admins.json- Admin permissionscsgo/cfg/banned_user.cfg- SteamID banscsgo/cfg/banned_ip.cfg- IP banscsgo/addons/counterstrikesharp/plugins/AdminPlus/communication_data.json- Mute/gag datacsgo/addons/counterstrikesharp/plugins/AdminPlus/adminplus-discord.json- Discord webhook configurationcsgo/addons/counterstrikesharp/plugins/AdminPlus/adminplus_menu_config.json- In-game menu key bindings (created automatically on first load)
The built-in center menu reads key bindings from this file in the plugin folder. If the file is missing, AdminPlus creates it with defaults on startup.
| Key | Default | Action |
|---|---|---|
moveUp |
W |
Move selection up |
moveDown |
S |
Move selection down |
select |
E |
Confirm / open option |
back |
A |
Go back (submenus only; also slider left when a slider is selected) |
exit |
R |
Close menu |
sliderLeft |
A |
Previous slider value |
sliderRight |
D |
Next slider value |
Allowed button names: W, S, E, A, D, R, Tab, Shift
Example:
{
"moveUp": "W",
"moveDown": "S",
"select": "E",
"back": "A",
"exit": "R",
"sliderLeft": "A",
"sliderRight": "D"
}After editing the file, reload the map or restart the server so bindings apply.
css_ban <target> [duration] [reason] # Ban a player temporarily or permanently [@css/ban]
css_ipban <target> [reason] # IP ban a player [@css/ban]
css_unban <steamid/ip> # Remove ban from player [@css/unban]
css_lastban # Show recently disconnected players for banning [@css/ban]
css_baninfo <steamid/ip> # Get ban information [@css/ban]
css_cleanbans # Clear all bans [@css/root]
css_cleanipbans # Clear all IP bans [@css/root]
css_cleansteambans # Clear all SteamID bans [@css/root]
css_banlist # Show ban list menu [@css/ban]
css_addadmin <steamid64> <group> <immunity> # Add new admin [@css/root]
css_removeadmin <steamid64> # Remove admin [@css/root]
css_adminlist # List all admins [@css/root]
css_admins # Show online admins [All players]
css_report <target> <reason> # Report a player for admin review [All players]
css_calladmin <reason> # Call admin for help/assistance [All players]
css_mute <target> [duration] [reason] # Mute player voice [@css/chat]
css_unmute <target> # Unmute player [@css/chat]
css_gag <target> [duration] [reason] # Gag player chat [@css/chat]
css_ungag <target> # Ungag player [@css/chat]
css_silence <target> [duration] [reason] # Mute + gag player [@css/chat]
css_unsilence <target> # Remove mute + gag [@css/chat]
css_mutelist # Show muted players [@css/chat]
css_gaglist # Show gagged players [@css/chat]
css_cleanall # Clean all punishments [@css/root]
css_cleanmute # Clean all mute records [@css/root]
css_cleangag # Clean all gag records [@css/root]
css_kick <target> [reason] # Kick player from server [@css/generic]
css_slay <target> # Kill player instantly [@css/slay]
css_slap <target> [damage] # Slap player with damage [@css/slay]
css_rename <target> <new_name> # Rename player [@css/slay]
css_money <target> <amount> # Set player money [@css/slay]
css_armor <target> <amount> # Set player armor [@css/slay]
css_team <target> <t/ct/spec> # Change player team [@css/kick]
css_swap <target> # Swap player to opposite team [@css/kick]
css_freeze <target> [seconds] # Freeze player movement [@css/slay]
css_unfreeze <target> # Unfreeze player [@css/slay]
css_beacon <target> <0|1> # Toggle beacon on player [@css/slay]
css_blind <target> <seconds> # Blind player [@css/slay]
css_unblind <target> # Unblind player [@css/slay]
css_drug <target> <seconds> # Apply drug effect [@css/slay]
css_undrug <target> # Remove drug effect [@css/slay]
css_shake <target> <seconds> # Shake player screen [@css/slay]
css_unshake <target> # Stop screen shake [@css/slay]
css_glow <target> <color> # Make player glow [@css/slay]
css_color <target> <color> # Change player color [@css/slay]
css_bury <target> # Bury player underground [@css/slay]
css_unbury <target> # Unbury player [@css/slay]
css_gravity <value> # Change server gravity [@css/slay]
css_clean # Remove all weapons from ground [@css/slay]
css_goto <target> # Teleport to player [@css/slay]
css_bring <target> # Bring player to you [@css/slay]
css_hrespawn <target> # Respawn player at last position [@css/slay]
css_respawn <target> # Respawn dead player [@css/cheats]
css_noclip <target> <0|1> # Toggle noclip [@css/cheats]
css_god <target> <0|1> # Toggle godmode [@css/cheats]
css_speed <target> <multiplier> # Change player speed [@css/cheats]
css_unspeed <target> # Reset player speed [@css/cheats]
css_hp <target> <health> # Set player health [@css/cheats]
css_sethp <team> <health> # Set team default health [@css/cheats]
css_weapon <target> <weapon> # Give weapon to player [@css/cheats]
css_strip <target> [filter] # Remove weapons from player [@css/cheats]
css_map <map> # Change map [@css/generic]
css_wsmap <workshop_id> # Change workshop map [@css/generic]
css_rcon <command> # Execute RCON command [@css/root]
css_cvar <cvar> [value] # Get/set cvar value [@css/generic]
css_who # Show player information [@css/generic]
css_rr # Restart current round [@css/generic]
css_players # List all players in console [@css/root]
css_asay <message> # Admin-only message [@css/chat]
css_csay <message> # Center message to all [@css/chat]
css_hsay <message> # HUD message to all [@css/chat]
css_psay <target> <message> # Private message [@css/chat]
css_say <message> # Say to all players [@css/chat]
css_vote <question> <option1> <option2> [options...] # Create custom vote [@css/generic]
css_votemap <map1> <map2> [maps...] # Map vote [@css/generic]
css_votekick <target> # Kick vote [@css/generic]
css_voteban <target> # Ban vote [@css/generic]
css_votemute <target> # Mute vote [@css/generic]
css_votegag <target> # Gag vote [@css/generic]
css_votesilence <target> # Silence vote [@css/generic]
css_rvote # Revote [Player only]
css_cancelvote # Cancel active vote [@css/generic]
css_admin # Open admin menu [@css/ban]
css_report <target> <reason> # Report a player [All players]
css_calladmin <reason> # Call admin assistance [All players]
css_adminhelp # Show detailed command help [@css/generic]
Discord entegrasyonu için csgo/addons/counterstrikesharp/plugins/AdminPlus/adminplus-discord.json dosyasını oluşturun:
{
"discordWebhooks": {
"banWebhook": "https://discord.com/api/webhooks/0123456789/abc123def456",
"adminActionsWebhook": "https://discord.com/api/webhooks/0123456789/xyz789ghi012",
"communicationWebhook": "https://discord.com/api/webhooks/0123456789/jkl345mno678",
"serverStatusWebhook": "https://discord.com/api/webhooks/0123456789/pqr901stu234",
"connectionLogsWebhook": "https://discord.com/api/webhooks/0123456789/vwx567yza890",
"chatLogsWebhook": "https://discord.com/api/webhooks/0123456789/bcd123efg456",
"reportAndCalladminWebhook": "https://discord.com/api/webhooks/0123456789/hij789klm012",
"reportAndCalladminWebhookMentionUserId": "@everyone",
"serverAddress": "your-ip:port"
}
}- 🇹🇷 Her webhook URL'nizi Discord Kanal Ayarları > Entegrasyonlar > Webhooks bölümünden kopyalayabilirsiniz.
- 🇺🇸 You can copy your webhook URLs from Discord Channel Settings > Integrations > Webhooks section.
- 🔨 banWebhook:
- 🇺🇸 Sends detailed information to your Discord channel for ban and unban operations
- ⚡ adminActionsWebhook:
- 🇺🇸 Sends notifications to Discord channel for admin commands (kick, slay, teleport, etc.)
- 💬 communicationWebhook:
- 🇺🇸 Sends logs to Discord channel for mute, gag, silence operations
- 🖥️ serverStatusWebhook:
- 🇺🇸 Sends server status and player information to Discord channel
- 🔌 connectionLogsWebhook:
- 🇺🇸 Sends player join/leave information to Discord channel
- 💭 chatLogsWebhook:
- 🇺🇸 Sends in-game messages to Discord channel
- 📢 reportAndCalladminWebhook:
- 🇺🇸 Sends notifications to your Discord channel for report and calladmin operations
Check the images folder examples to see how your Discord logs will look:
- 🇺🇸 Server status and player count
- 🇺🇸 Details of ban and unban operations
- 🇺🇸 Commands and operations used by admins
- 🇺🇸 Mute, gag, silence operations
- 🇺🇸 Player join/leave logs
- 🇺🇸 In-game message logs
- 🇺🇸 Player report and admin calling logs
The plugin features a powerful built-in menu system, accessible via css_admin:
- 👥 Admin Management: Add/remove admins with immunity levels and group management
- 🔨 Player Commands: Ban, kick, mute, gag, slay, slap players with intuitive interface
- 🌍 Server Commands: Change map, restart round, cleanup operations
- 🎯 Fun Commands: Teleport, freeze, blind, drug effects, and visual modifications
- 🔫 Weapon Management: Give weapons, strip weapons, and weapon control
- ⚡ Physics Control: Noclip, godmode, speed, health, and movement modifications
- 💬 Communication: Chat controls, announcements, and player messaging
- 🗳️ Voting System: Map votes, kick votes, ban votes, and custom voting
- Responsive Design: Works on all screen resolutions
- Real-time Updates: Live player information and status
- Quick Actions: One-click commands for common tasks
- Permission-based: Shows only commands you have access to
- Search & Filter: Find players quickly with search functionality
The plugin currently supports English, Turkish, French, Russian, German, and Brazilian Portuguese languages with customizable messages through translation files.
Current language support:
- 🇺🇸 English - Primary language ✅
- 🇹🇷 Turkish - Full translation with modern color-coded messages ✅
- 🇫🇷 French - Full translation with modern color-coded messages (Thanks to felyjyn) ✅
- 🇷🇺 Russian - Full translation with modern color-coded messages added in v1.0.3 ✅
- 🇩🇪 German - Full translation with modern color-coded messages added in v1.0.3 ✅
- 🇧🇷 Brazilian Portuguese - Full translation added in v1.0.4 ✅
We're working on adding support for additional languages:
- 🇪🇸 Spanish (Español)
- 🇦🇷 Arabic (العربية)
- 🇮🇷 Farsi (فارسی)
- 🇱🇻 Latvian (Latviešu)
- 🇵🇱 Polish (Polski)
- 🇵🇹 Portuguese (Português)
- 🇨🇳 Chinese (Simplified) (中文简体)
Want to help translate AdminPlus to your language?
If you'd like to contribute translations for your language or help improve existing ones, please contact us on Discord! We'd love to have your help in making AdminPlus accessible to players worldwide.
- Discord: debr1s
- GitHub Issues: Create a translation request
The plugin uses CounterStrikeSharp's permission system:
@css/root- Full access to all commands@css/admin- Admin-level access@css/ban- Ban-related commands@css/chat- Communication commands@css/generic- Basic admin commands@css/slay- Fun and punishment commands@css/kick- Player management commands@css/cheats- Cheat-related commands@css/unban- Unban commands@css/reservation- Reservation system access
All admin actions are logged to:
csgo/addons/counterstrikesharp/logs/adminplus.log
Logs include timestamp, admin name, action performed, target, and reason.
Quick map access with aliases:
mirage,vertigo,inferno,nuke,overpass,ancient,dust2,anubis,train
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- Compatibility: CounterStrikeSharp API updated to
1.0.368 - Menu system
- Menu input handling aligned with MenuManager-style snapshot +
HasFlagdetection (fixes R not closing the menu) - Removed in-menu “Back” row; navigation uses A only (no dual A+Shift / R+Tab defaults)
- Submenu history/back footer shown only when back is available
- New
adminplus_menu_config.jsonfor customizable menu keys
- Menu input handling aligned with MenuManager-style snapshot +
- Discord: Webhooks send directly to Discord (removed Cloudflare Worker fallback)
- Commands
css_map/ map change works from server console!hideadmin/css_hideadmin— hide all admins from!admins(session toggle, not saved to config)- Plugin chat commands (e.g.
!admin) can be hidden from public chat while still executing
- Localization:
Menu.Back,HideAdmin.*strings added across all language files - Logging: Reduced noisy console output
- Discord Integration
- Added a new configuration option for manually setting the server IP address used in Discord notifications.
- Server owners can now override automatic IP detection with a custom IP address or domain name.
- The adminplus-discord.json file has been redesigned to support the new serverAddress option.
- Menu system
- Replaced external menu dependency with a fully built-in AdminPlus menu infrastructure.
- Added integrated button-controlled menu behavior with stable live refresh for vote menus.
- Reservation system
- Removed the concurrent “max reserved admins” cap (previously an extra admin could be rejected/kicked when too many admins were already connected).
- Players protected from being kicked for a reservation slot now use the same effective-permission model as
!admins/css_admins(@css/root,@css/ban,@css/genericviaadmins.json/ groups), plus@css/reservationfor dedicated reservation access.
- Discord webhooks
- Player IP is no longer included in connection logs or ban log embeds (privacy).
- 🔐 Admin Permission Reliability:
- Added robust effective permission checks for menu/command access
- Improved
css_addadminhandling for flag/group normalization - Added
css_adminreloadcommand for manual admin data refresh
- 🚫 Ban Enforcement Hardening:
- Added repeated post-connect ban rechecks to block reconnect bypass attempts
- Added extra early/late recheck stages for high-population server timing windows
- Added smart ban cache refresh based on file change timestamps
- Added clearer blocked-ban connect/console notifications
- 🔇 Mute/Gag Persistence Hardening:
- Added file change detection for
communication_data.jsonto reload manual edits safely - Re-applies punishments on connect/team/chat enforcement paths to avoid reconnect bypass
- Added file change detection for
- ⚙️ Auto File Bootstrap:
- Plugin now auto-creates required data/config files on load when missing
- Improved resilience for empty/first-run JSON files
- 🔗 Discord Improvements:
- Server address now uses dynamic
ip:hostportdetection (no fixed27015) - Online admin count now uses effective admin permission checks
- Server address now uses dynamic
- 🎮 Fun Command Behavior Fixes:
css_freeze: movement lock behavior refinedcss_drug: camera lock/forced look behavior improved
- 🌍 Localization Redesign:
- Unified prefix usage to a single
Prefixkey - Reworked user-facing messages to modern, clearer, game-friendly wording
- Improved plural wording (
<multiple>keys) and readability consistency - Added and synchronized missing translation keys across all supported languages
- Added Brazilian Portuguese (
pt-BR) language file
- Unified prefix usage to a single
- 🧩 Compatibility Update:
- Updated CounterStrikeSharp API package to
1.0.364
- Updated CounterStrikeSharp API package to
- 🛠️ General Stability & Performance:
- Added periodic cleanup improvements for report cooldown tracking dictionaries
- Included multiple compatibility and reliability fixes from community feedback
- Ban check stages: authorization -> connect-full -> spawn -> scheduled rechecks (
0.10,0.30,0.50,1.0,1.5,3.0,6.0,10.0seconds) - Manual file edits supported:
- Ban files (
banned_user.cfg,banned_ip.cfg) are reloaded only when fileLastWriteTimechanges - Communication punishments (
communication_data.json) are also reloaded on change detection
- Ban files (
- Why this is safer:
- closes timing/race windows where identity/IP arrives slightly later during connection
- avoids expensive blind reloads each tick while still reacting quickly to manual edits
- 📊 NEW: Report System: Player-to-player reporting with
/reportand/calladmincommands - 🔗 Advanced Discord Integration: 7 diferent webhook types for comprehensive logging:
- 🔨 Ban Logs: Real-time ban/unban notifications
- ⚡ Admin Commands: All admin command logs (slay, noclip, god, teleport, etc.)
- 💬 Communication Logs: Mute, gag, silence operations logging
- 🖥️ Server Status: Live server monitoring with player counts and uptime
- 🔌 Connection Logs: Player join/leave activity tracking
- 💭 Chat Logs: In-game message logging for moderation
- 📢 Reports & CallAdmin: Player report notifications with mentions
- ☁️ Advanced Machine Integration: Automatic Discord connection backup and failover protection
- 🌍 Language Support: Russian 🇷🇺 and German 🇩🇪 translations added
- 🛡️ Security Enhancements: Advanced input validation and memory leak protection
- ⚡ Performance Improvements: Code cleanup, debug log removal, and memory optimization
- 🔧 Bug Fixes:
- Fixed map re-opening issue on first map changes
- Enhanced command improvements and user experience
- Memory leak protection and garbage collection cleanup
- 🎯 Menu Integration: Report commands integrated into admin menu system
- 🔒 Cooldown System: 3-minute report cooldown with custom messages
- 🔔 Smart Notifications: Intelligent admin mention system for reports
- 🧹 Memory Management: Complete cleanup of unused objects and optimized cache
- 🌍 Expanded Multi-language Support: Complete translation system with 12+ languages
- 🔧 Code Improvements & Bug Fixes: Performance optimizations, security patches, bug fixes, and stability enhancements
If you encounter any issues or bugs:
- Check the GitHub Issues first
- Create a new issue with:
- Plugin version: AdminPlus v1.0.8
- CounterStrikeSharp version: Your CSS version
- Error logs: Any console errors
- Steps to reproduce: How to trigger the bug
- Expected behavior: What should happen
- Actual behavior: What actually happens
- GitHub Issues: Create an issue
- Discord: debr1s
- Steam Trade: 🔗 Support me - If you'd like to show your appreciation
- Documentation: Check this README for common solutions
- Plugin not loading: Check CounterStrikeSharp installation
- Commands not working: Verify admin permissions in
admins.json - Language files: Ensure
lang/en.json,tr.json,fr.json,de.json,ru.json,pt-BR.jsonare in correct directory
AdminPlus - Professional admin management for Counter-Strike 2 servers.






