Pugsharp is a PUG System Plugin for CS2 based on the awsome CounterStrikeSharp by roflmuffin. Its intended purpose is to be used with our fork of eventula, but ofc can be used in a different environment as well.
Warning This Plugin is in a very early state of development and is not fully working right now! We keep you updated on our discord below, if you are interested in using it.
You can find the full documentation on pugsharp.lan2play.de .
If you want to help developing or translating, join our discord:
- Configuration via http(s) json (example below)
- Configuration via json file
- api reporting to a http(s) server
- Report start of match
- Report round results
- Report map ended
- Report series ended (for bo3, ...)
- automatic team assignment
- map and starting team vote
- automatic pause if player disconnects
- pause / unpause feature
- demo recording
Warning Don't use this in production right now!
If you want to know how to use PugSharp, hop over to our Documentation .
!ready
Mark the player as ready!pause
Pause the match in the next freezetime!unpause
Unpause the match. To continue the match, both teams have to !unpause.
<requiredParameter>
This marks parameters that are required for commands
[optionalParameter]
This marks parameters that can be optional added to commands
!ps_loadconfig <url> [authToken]
Load a MatchConfig to initialize a match!ps_loadconfigfile <filename>
Load a MatchConfig to initialize a match. The file path must be either rooted or relative tocsgo/PugSharp/Config/
!ps_dumpmatch
Dumps the current matchstate and config to console
Field | DefaultValue | Description |
---|---|---|
maplist | - (required) | List of availbale maps for the map vote |
team1 | - (required) | [Team](TODO Link) Description |
team2 | - (required) | [Team](TODO Link) Description |
matchid | - (required) | Unique Identifier for the match |
num_maps | 1 | Number of Maps to be played. This should be an odd number to be able to determine an winner. |
players_per_team | 5 | Maximum possible number of players per team. |
min_players_to_ready | 5 | Number of players per team, that have to be ready to start the game. |
max_rounds | 24 | Maximum number of rounds that are played for mainmatch. |
max_overtime_rounds | 6 | Maximum number of rounds that are played in overtime. |
vote_timeout | 60000 (60s) | Timeout in milliseconds. If team does not complete vote within this timeout the map with the most votes gets banned. |
eventula_apistats_url | (optional) | Url where the Game State have to be send. |
eventula_apistats_token | (optional) | Optional Authtoken that is used to authenticate on apistats upload. |
eventula_demo_upload_url | (optional) | Url to upload the game demo to Eventula |
{
"maplist": ["de_vertigo", "de_dust2", "de_inferno", "de_mirage", "de_nuke", "de_overpass", "de_ancient"],
"team1": {
"name": "hallo",
"tag": "hallo",
"flag": "DE",
"players": {
"12345678901234567": "Apfelwurm",
"12345678901234568": "strange name"
}
},
"team2": {
"name": "asd",
"tag": "asd",
"flag": "DE",
"players": {
"12345678901234569": "BOT R00st3r",
"76561198064576360": "heatwave"
}
},
"matchid": "40",
"num_maps": 1,
"players_per_team": 2,
"min_players_to_ready": 2,
"max_rounds": 24,
"max_overtime_rounds": 6,
"vote_timeout": 60000,
"eventula_apistats_url": "https://dev.lan2play.de/api/matchmaking/40/",
"eventula_apistats_token": "S0XRU0UhIExFQ0tFUiEK",
"eventula_demo_upload_url": "https://dev.lan2play.de/api/matchmaking/40/demo"
}
Field | Description |
---|---|
admins | List of admins with the steamId and a Name |
{
"admins": {
"12345678901234569": "BOT R00st3r",
"12345678901234567": "Apfelwurm"
}
}
- Plugin Framework: CounterStrikeSharp by roflmuffin
- Docker test setup: joedwards32/cs2
- Metamod fix script: ghostcap-gaming/cs2-metamod-re-enable-script
- Metamod: https://www.sourcemm.net/