Introduces a new documentation site for CS2-SimpleAdmin using Docusaurus, including developer API references, tutorials, user guides, and module documentation. Removes the CleanModule example and updates FunCommands and ExampleModule. Also updates main plugin and API files to support new documentation and module structure.
9.2 KiB
sidebar_position
| sidebar_position |
|---|
| 3 |
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