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_matchmaking
to 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
- 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/config
permission.
- Forcefully starts the match during warmup. Requires
@css/config
permission.
- Changes the current map. Limited mapnames starting with
de_
. Requires@css/config
permission.
- Forcefully restarts a running match to warmup. Requires
@css/config
permission.
- Loads a Get5 match configuration file (JSON) relative to the
csgo/addons/counterstrikesharp/config/plugins/MatchPlugin
orcsgo
directories. Requires@css/config
permission.
- Tries to restore a round in a live match. Requires
@css/config
permission.
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 theSteamID
for 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.
OnMapPicked
OnMapVetoed
OnDemoUploadEnded
user_id
property may benull
.ping
(number | null
) property has been added.
ping
(number | null
) property has been added.
new_state
andold_state
properties can't havepre_veto
,veto
,going_live
andpost_game
states. The lifecycle of the plugin follows this order:none
→warmup
→knife
→waiting_for_knife_decision
→live
→none
.
winner
property may benull
.result
(number
) property has been added.0
isMapResult.None
;1
isMapResult.Completed
;2
isMapResult.Cancelled
;3
isMapResult.Forfeited
.
winner
property may benull
.last_map_number
(number
) property has been added.