VIP-Plugin is a simple plugin designed for CS2 server owners, enabling them to establish VIP groups through the CSS Permission system for authentication.
- Database Integration: Utilize a SQL database to store VIP services.
- VIP Group Management: Define and configure VIP groups with various perks and limitations.
- Custom Event Bonuses: Grant special bonuses to VIPs upon events like spawning, kills, or bomb interactions.
- Dynamic Configuration: Customize VIP settings such as health, armor, money, grenades, and more.
- Connect/Disconnect Messages: Display custom messages when VIPs join or leave the server.
- Random VIP Selection: Automatically select a VIP after a specified number of rounds.
- Night VIP System: Implement a special VIP status based on server time conditions.
- Player Information Commands: Retrieve detailed information about players and their services.
- Service Management Commands: Enable, disable, delete, and retrieve information about services.
- Download the latest release
- Unzip the package and upload files to csgo/addons/counterstrikesharp/plugins
Upon the first launch, the VIP-Plugin.json file will be automatically created in csgo/addons/counterstrikesharp/configs/plugins/VIP-Plugin
{
"Settings": {
"Prefix": "{lightred}VIP " // // Text displayed before plugin's chat messages
"Database": {
"Enabled": false, // disabling this will deactivate all features reliant on the database
"SqlServer": {
"host": "www.site.com",
"port": 3306,
"database": "vip-plugin",
"username": "user",
"password": "password",
"prefix": "" // table prefix
}
},
"DatabaseVipsConfig": {
"Enabled": false,
"Commands": {
"css_vp_service_enable": {
"Enabled": true
},
"css_vp_service_disable": {
"Enabled": true
},
"css_vp_service_delete": {
"Enabled": true
},
"css_vp_service_info": {
"Enabled": true
},
"css_vp_player_info": {
"Enabled": true
},
"css_vp_player_info": {
"Enabled": true
},
"css_vp_player_addflags": {
"Enabled": true
},
"css_vp_player_addgroup ": {
"Enabled": true
}
}
}
},
"VIPGroups": [
{
"Permissions": "@vip-plugin/vip", // CSS permission required for this VIP group
"Priority": 1, // if a player has multiple groups, one with higher priority will be chosen
"UniqueId": "vip1", // used for storing services in DB, must be unique
"Name": "VIP", // Name of the VIP group
"Events": {
"Spawn": {// Bonuses given to VIPs upon spawn
"HP": 105, // Player's HP
"ArmorValue": 100, // Armor value (0 = no armor)
"Helmet": true, // Whether to give a helmet
"HelmetOnPistolRound": false, // Give helmet on pistol round?
"DefuseKit": true, // Give defuse kit?
"Zeus": true, // Give Zeus x27?
"ZeusOnPistolRound": true, // Give Zeus on pistol round?
"HealthshotAmount": 1, // Number of healthshots
"HealthshotOnPistolRound": true, // Give healthshot on pistol round?
"ExtraMoney": 2000, // Bonus money
"ExtraMoneyOnPistolRound": false, // Give extra money on pistol round?
"Grenades": { // Grenade amounts(0 = don't give)
"Smoke": 1,
"HE": 1,
"Flashbang": 1,
"FireGrenade": 1,
"Decoy": 0
}
},
"Kill": { // Rewards for kills
"HP": 2, // HP gained on normal kill
"HeadshotHP": 3, // HP gained on headshot kill
"Money": 200, // Money for normal kill
"HeadshotMoney": 300 // Money for headshot kill
},
"Bomb": { // Rewards for bomb interactions
"PlantMoney": 500, // Money for planting the bomb
"DefuseMoney": 500 // Money for defusing the bomb
},
"Round": { // Rewards based on round outcome
"WinMoney": 1000, // Money for winning a round
"LoseMoney": 0 // Money for losing a round
}
},
"Limits": {
"MaxHP": 120, // Maximum health
"MaxMoney": 16000 // Maximum money
},
"Misc": {
"ExtraJumps": { // Extra jump options
"Amount": 0, // Number of extra jumps (0 = disabled, 1 = double jump etc.)
"VelocityZ": 260, // Jump height
"NoFallDamage": true // // Disable fall damage after extra jumps
},
"Bhop": {
"Enabled": false,
"VelocityZ": 260, // the height of a jump
},
"Smoke": {
"Enabled": false, // Enable colored smoke
"Type": 0, // 0 = Fixed color, 1 = Random color
"Color": "#FF0000" // Smoke color in hex code
},
"HealthRegen": {
"Enabled": false,
"Interval": 5, // add HP every 'Interval"
"Delay": 5, // delay after round start
"Amount": 5 // amount of HP, limited by Limits.MaxHp
},
"ArmorRegen": {
"Enabled": false,
"Interval": 5, // add Armor every 'Interval"
"Delay": 5, // delay after round start
"Amount": 5 // amount of Armor, limited by 100
},
"FastPlant": {
"Enabled": false,
"Modifier": 0.5, // 1 = normal speed, 0.5 = 50% faster, 0.1 = 10% of the normal speed required etc.
"TimeAfterRoundStart" : 0 // time after round start for the feature to start working
},
"FastDefuse": {
"Enabled": false,
"Modifier": 1, // 1 = normal speed, 0.5 = 50% faster, 0.1 = 10% of the normal speed required etc.
"TimeAfterRoundStart" : 0 // time after round start for the feature to start working
},
"NoFallDamageGlobal": false, // Disable fall damage globally for the VIP group
"Gravity": 1, // Gravity level (1 = normal)
"Speed": 1 // Movement speed multiplier (1 = normal, 1.05 = 5 % faster)
},
"Messages": {
"Chat": {
"Connect": {
"Enabled": true,
"Message": "{darkred}VIP {default}{playername} joined the server",
"DontBroadcast": true // Hide default connect message
},
"Disconnect": {
"Enabled": true,
"Message": "{darkred}VIP {default}{playername} left the server",
"DontBroadcast": true // Hide default disconnect message
}
}
}
}
],
"RandomVIP": {
"Enabled ": false,
"AfterRound ": 3, // Round after which to choose a VIP
"MinimumPlayers ": 2, // Minimum players required
"RepeatPickingMessage": 3, // repeat the 'picking random vip' message
"PermissionsGranted ": [], // List of CSS permissions
"PermissionExclude": [] // Exclude players with these permissions
},
"NightVIP": {
"Enabled": false,
"SendMessageOnVIPResaved": false, // res
"StartHour": 22, // The hours can be 8-22 or 22-8(which mean from 22 to 24 and 00 to 08)
"EndHour": 8,
"TimeZone": "UTC", // TZ indentifier
"RequiredNickPhrase": "YourSite.com", // Required nickname phrase(empty = pass)
"RequiredScoreboardTag": "YourSite.com", // Required scoreboard tag(empty = pass)
"PermissionsGranted ": [], // List of CSS permissions
"PermissionExclude": [] // Exclude players with these permissions
},
"ConfigVersion": 1
}
css_vp_service_enable
Set the availability status of a service to Enabled.
<service_id>
: The ID of the service to enable.
Syntax: css_vp_service_enable <service_id>
Example: css_vp_service_enable 1
css_vp_service_disable
Set the availability status of a service to Disabled.
<service_id>
: The ID of the service to disable.
Syntax: css_vp_service_disable <service_id>
Example: css_vp_service_disable 2
css_vp_service_delete
Delete a service.
<service_id>
: The ID of the service to delete.
Syntax: css_vp_service_delete <service_id>
Example: css_vp_service_delete 3
css_vp_service_info
View detailed information about a service.
<service_id>
: The ID of the service to get information about.
Syntax: css_vp_service_info <service_id>
Example: css_vp_service_info 4
css_vp_player_info
View service info menu.
Syntax: css_vp_player_info
Example: css_vp_player_info
css_vp_player_info
Get information about a player.
<steamid64>
: The Steam ID of the player to retrieve information for.
Syntax: css_vp_player_info <steamid64>
Example: css_vp_player_info 76561198012345678
css_vp_player_addflags
Add flags to a player for a specified duration.
<steamid64>
: The Steam ID of the player to add flags to.<duration>
: Duration in minutes for which the flags will be active.<flag1> ...
: Flags to add to the player.
Syntax: css_vp_player_addflags <steamid64> <duration> <flag1> ...
Example: css_vp_player_addflags 76561198012345678 30 @css/root @vip-plugin/vip
css_vp_player_addgroup
Add a group to a player for a specified duration.
<steamid64>
: The Steam ID of the player to add the group to.<duration>
: Duration in minutes for which the group will be active.<group_id>
: The Unique ID of the group to add.
Syntax: css_vp_player_addgroup <steamid64> <duration> <group_id>
Example: css_vp_player_addgroup 76561198012345678 60 vip1
css_vip
Open menu with service info.Example: css_vip
Available Timezones
- You can find the list of available timezones on the wikipedia: wiki.
- The value in config shall match TZ identifier, e.g. Africa/Abidjan.