Configuration
Learn how to configure CS2-SimpleAdmin to suit your server's needs.
Configuration File Location
The main configuration file is located at:
addons/counterstrikesharp/configs/plugins/CS2-SimpleAdmin/CS2-SimpleAdmin.json
Configuration Structure
The configuration file is divided into several sections:
Database Configuration
Configure your database connection:
"DatabaseConfig": {
"DatabaseType": "SQLite",
"SqliteFilePath": "cs2-simpleadmin.sqlite",
"DatabaseHost": "",
"DatabasePort": 3306,
"DatabaseUser": "",
"DatabasePassword": "",
"DatabaseName": "",
"DatabaseSSlMode": "preferred"
}
Database Types:
SQLite- Local database file (good for single server)MySQL- MySQL/MariaDB server (required for multi-server setups)
MySQL Example:
"DatabaseConfig": {
"DatabaseType": "MySQL",
"DatabaseHost": "localhost",
"DatabasePort": 3306,
"DatabaseUser": "cs2admin",
"DatabasePassword": "your_password",
"DatabaseName": "cs2_simpleadmin",
"DatabaseSSlMode": "preferred"
}
Other Settings
General plugin settings:
"OtherSettings": {
"ShowActivityType": 2,
"TeamSwitchType": 1,
"KickTime": 5,
"BanType": 1,
"TimeMode": 1,
"DisableDangerousCommands": true,
"MaxBanDuration": 10080,
"MaxMuteDuration": 10080,
"ExpireOldIpBans": 0,
"ReloadAdminsEveryMapChange": false,
"DisconnectedPlayersHistoryCount": 10,
"NotifyPenaltiesToAdminOnConnect": true,
"ShowBanMenuIfNoTime": true,
"UserMessageGagChatType": false,
"CheckMultiAccountsByIp": true,
"AdditionalCommandsToLog": [],
"IgnoredIps": []
}
Settings Explained:
| Setting | Description | Default |
|---|---|---|
ShowActivityType | How to display admin actions (0=hide, 1=anonymous, 2=show name) | 2 |
TeamSwitchType | Team switch behavior | 1 |
KickTime | Delay before kicking player (seconds) | 5 |
BanType | Ban type (1=SteamID, 2=IP, 3=Both) | 1 |
TimeMode | Time display mode | 1 |
DisableDangerousCommands | Disable potentially dangerous commands | true |
MaxBanDuration | Maximum ban duration in minutes (0=unlimited) | 10080 |
MaxMuteDuration | Maximum mute duration in minutes (0=unlimited) | 10080 |
ExpireOldIpBans | Auto-expire IP bans after X days (0=disabled) | 0 |
ReloadAdminsEveryMapChange | Reload admin permissions on map change | false |
DisconnectedPlayersHistoryCount | Number of disconnected players to track | 10 |
NotifyPenaltiesToAdminOnConnect | Show penalties to admins when they connect | true |
ShowBanMenuIfNoTime | Show ban menu even without time parameter | true |
UserMessageGagChatType | Use UserMessage for gag (alternative chat blocking) | false |
CheckMultiAccountsByIp | Detect multiple accounts from same IP | true |
AdditionalCommandsToLog | Array of additional commands to log | [] |
IgnoredIps | IPs to ignore in multi-account detection | [] |
Metrics and Updates
"EnableMetrics": true,
"EnableUpdateCheck": true
EnableMetrics- Send anonymous usage statisticsEnableUpdateCheck- Check for plugin updates on load
Timezone
Set your server's timezone for accurate timestamps:
"Timezone": "UTC"
See the list of timezones below.
Warning Thresholds
Configure automatic actions when players reach warning thresholds:
"WarnThreshold": {
"998": "css_addban STEAMID64 60 \"3/4 Warn\"",
"999": "css_ban #USERID 120 \"4/4 Warn\""
}
Example: Automatically ban a player for 60 minutes when they receive their 3rd warning.
Multi-Server Mode
Enable if you're running multiple servers with a shared database:
"MultiServerMode": true
When enabled:
- Bans are shared across all servers
- Admin permissions can be global or server-specific
- Player data is synchronized
Discord Integration
Send notifications to Discord webhooks:
"Discord": {
"DiscordLogWebhook": "https://discord.com/api/webhooks/...",
"DiscordPenaltyBanSettings": [...],
"DiscordPenaltyMuteSettings": [...],
"DiscordPenaltyGagSettings": [...],
"DiscordPenaltySilenceSettings": [...],
"DiscordPenaltyWarnSettings": [...],
"DiscordAssociatedAccountsSettings": [...]
}
Webhook Settings: Each penalty type can have its own webhook configuration:
"DiscordPenaltyBanSettings": [
{
"name": "Color",
"value": "#FF0000"
},
{
"name": "Webhook",
"value": "https://discord.com/api/webhooks/YOUR_WEBHOOK_HERE"
},
{
"name": "ThumbnailUrl",
"value": "https://example.com/ban-icon.png"
},
{
"name": "ImageUrl",
"value": ""
},
{
"name": "Footer",
"value": "CS2-SimpleAdmin"
},
{
"name": "Time",
"value": "{relative}"
}
]
Available Placeholders:
{relative}- Relative timestamp{fixed}- Fixed timestamp
Map Configuration
Configure default maps and workshop maps:
"DefaultMaps": [
"de_dust2",
"de_mirage",
"de_inferno"
],
"WorkshopMaps": {
"aim_map": "123456789",
"surf_map": "987654321"
}
Custom Server Commands
Add custom commands to the admin menu:
"CustomServerCommands": [
{
"Flag": "@css/root",
"DisplayName": "Reload Admins",
"Command": "css_reloadadmins"
},
{
"Flag": "@css/cheats",
"DisplayName": "Enable sv_cheats",
"Command": "sv_cheats 1"
}
]
Menu Configuration
Configure menu appearance and options:
"MenuConfig": {
"MenuType": "selectable",
"Durations": [
{ "name": "1 minute", "duration": 1 },
{ "name": "5 minutes", "duration": 5 },
{ "name": "15 minutes", "duration": 15 },
{ "name": "1 hour", "duration": 60 },
{ "name": "1 day", "duration": 1440 },
{ "name": "7 days", "duration": 10080 },
{ "name": "14 days", "duration": 20160 },
{ "name": "30 days", "duration": 43200 },
{ "name": "Permanent", "duration": 0 }
],
"BanReasons": [
"Hacking",
"Voice Abuse",
"Chat Abuse",
"Admin disrespect",
"Other"
],
"KickReasons": [
"Voice Abuse",
"Chat Abuse",
"Admin disrespect",
"Other"
],
"WarnReasons": [
"Voice Abuse",
"Chat Abuse",
"Admin disrespect",
"Other"
],
"MuteReasons": [
"Advertising",
"Spamming",
"Spectator camera abuse",
"Hate",
"Admin disrespect",
"Other"
],
"AdminFlags": [
{ "name": "Generic", "flag": "@css/generic" },
{ "name": "Chat", "flag": "@css/chat" },
{ "name": "Change Map", "flag": "@css/changemap" },
{ "name": "Slay", "flag": "@css/slay" },
{ "name": "Kick", "flag": "@css/kick" },
{ "name": "Ban", "flag": "@css/ban" },
{ "name": "Perm Ban", "flag": "@css/permban" },
{ "name": "Unban", "flag": "@css/unban" },
{ "name": "Show IP", "flag": "@css/showip" },
{ "name": "Cvar", "flag": "@css/cvar" },
{ "name": "Rcon", "flag": "@css/rcon" },
{ "name": "Root (all flags)", "flag": "@css/root" }
]
}
Timezone List
Click to expand timezone list
UTC
America/New_York
America/Chicago
America/Denver
America/Los_Angeles
Europe/London
Europe/Paris
Europe/Berlin
Europe/Warsaw
Europe/Moscow
Asia/Tokyo
Asia/Shanghai
Asia/Dubai
Australia/Sydney
Pacific/Auckland
... (and many more)
For a complete list, see the info.txt file in the documentation folder.
Commands Configuration
You can customize command aliases in:
addons/counterstrikesharp/configs/plugins/CS2-SimpleAdmin/Commands.json
Example:
{
"Commands": {
"css_ban": {
"Aliases": [
"css_ban",
"css_ban2"
]
}
}
}
This allows you to:
- Disable commands - Remove all aliases from the array
- Add aliases - Add multiple command variations
- Rename commands - Change the command name while keeping functionality
Best Practices
Security
- Use MySQL in production - SQLite is not suitable for multi-server setups
- Set MaxBanDuration - Prevent accidental permanent bans
- Enable DisableDangerousCommands - Protect against accidental server crashes
- Use strong database passwords - If using MySQL
Performance
- Set ReloadAdminsEveryMapChange to false - Unless you frequently modify admin permissions
- Limit DisconnectedPlayersHistoryCount - Reduce memory usage
- Use database indices - Migrations create these automatically
Multi-Server Setup
- Enable MultiServerMode - Share data across servers
- Use MySQL - Required for multi-server
- Configure server IDs - Each server gets a unique ID automatically
- Test penalties - Ensure bans work across all servers
Troubleshooting
Changes not taking effect
Solution: Reload the plugin or restart the server:
css_plugins reload CS2-SimpleAdmin
Discord webhooks not working
Solution:
- Verify webhook URL is correct
- Check that the webhook is not deleted in Discord
- Ensure server has internet access
TimeMode issues
Solution: Set your timezone correctly in the configuration
Next Steps
- Learn admin commands - Browse available commands
- Set up admins - Add your admin team
- Configure modules - Extend functionality