A CounterStrikeSharp plugin for Counter-Strike 2 matches
- Install the latest release of Metamod and CounterStrikeSharp.
- Download the latest release of CS2 Match Plugin.
- Extract the ZIP file contents into
addons/counterstrikesharp.
- Prefix for chat messages.
- Type:
string - Default:
[{red}Match{default}]
- Bots join the game to fill slots. Not recommended to be enabled.
- Type:
bool - Default:
false
- A string that identifies your server.
- Type:
string - Default: empty
- Matchmaking mode. Players not assigned to a team will be kicked from the server (unless they are administrators).
- Type:
bool - Default:
false
- Time to players ready up. Requires
match_matchmakingto betrue. Players will be kicked if they don't ready up in time. - Type:
int - Default:
300
- The URL to send all events to.
- Type:
string - Default: empty
- Key of the header sent on remote log request.
- Type:
string - Default: empty
- Value of the header sent on remote log request.
- Type:
string - Default: empty
- Are we recording demos?
- Type:
bool - Default:
true
- CSTV's broadcast delay (in seconds).
- Type:
int - Default:
105
- Number of players needed for a match.
- Type:
int - Default:
10
- Number of players needed per team.
- Type:
int - Default:
5
- Max number of rounds to play.
- Type:
int - Default:
24
- Additional rounds to determine winner.
- Type:
int - Default:
6
- Teams can pause at any time.
- Type:
bool - Default:
false
- Are knife rounds enabled?
- Type:
bool - Default:
true
- Time to decide side (in seconds).
- Type:
int - Default:
60
- Time to forfeit a team (in seconds).
- Type:
int - Default:
60
Important
Keeping this setting enabled makes debugging issues easier.
- Are we debugging the plugin?
- Type:
bool - Default:
true
- Prints a status report of the plugin in the console. Requires
@css/configpermission.
- Forcefully starts the match during warmup. Requires
@css/configpermission.
- Changes the current map. Limited mapnames starting with
de_. Requires@css/configpermission.
- Forcefully restarts a running match to warmup. Requires
@css/configpermission.
- Loads a Get5 match configuration file (JSON) relative to the
csgo/addons/counterstrikesharp/config/plugins/MatchPluginorcsgodirectories. Requires@css/configpermission.
- Tries to restore a round in a live match. Requires
@css/configpermission.
Not all properties from Get5 Match Schema are being used, check the source code for the match_load command.
We only support 64-bit SteamIDs, e.g. 76561197960287930.
leaderid(string) property has been added. It's theSteamIDfor the in-game leader of the team. If absent, the plugin will elect the first player as the team in-game leader.
{
"matchid": "12345",
"maplist": ["de_train", "de_dust2", "de_inferno"],
"team1": {
"name": "Team 1",
"players": {
"12345": "Player 1",
"12345": "Player 2",
"12345": "Player 3",
"12345": "Player 4",
"12345": "Player 5"
}
},
"team2": {
"name": "Team 2",
"players": {
"12345": "Player 6",
"12345": "Player 7",
"12345": "Player 8",
"12345": "Player 9",
"12345": "Player 10"
}
},
"cvars": {
"match_matchmaking": "true"
}
}The plugin has compatibility with most Get5 events. Once you setup get5_remote_log_url ConVar with a URL, the plugin will send events to it. You can refer to the events at Get5 Events & Forwards.
Not all events are implemented, and some events may have some differences, so please check below.
OnMapPickedOnMapVetoedOnDemoUploadEnded
user_idproperty may benull.ping(number | null) property has been added.
ping(number | null) property has been added.
new_stateandold_stateproperties can't havepre_veto,veto,going_liveandpost_gamestates. The lifecycle of the plugin follows this order:none→warmup→knife→waiting_for_knife_decision→live→none.
winnerproperty may benull.result(number) property has been added.0isMapResult.None;1isMapResult.Completed;2isMapResult.Cancelled;3isMapResult.Forfeited.
winnerproperty may benull.last_map_number(number) property has been added.