CS:GO competitive PUG plugin
A server running this plugin will alternate between an idle/warmup phase and an actual match.
While waiting for 10 players, the server should be left on some aim/dm type maps. During the idle phase, all players will respawn automatically. When enough players have readied up (via /ready), the game will progress to the match phase.
After all players have readied up, the following steps will occur:
- Vote for the map to play.
- Vote for team captains.
- Pick teams.
- Switch to the match map
- Wait for all players to load the map and ready up
- Live on 3
- Play match
- Switch back to an aim/dm map and idle
- SourceMod 1.6 - Either an official release build or a stable branch snapshot should work
- SM cURL
Please note that the plugin has only been tested on Linux dedicated servers. In theory everything should also work on Windows servers, but there are no guarantees.
- Install SourceMod. SourcePawn include files and Linux binaries for the required extensions are already included with GoonPUG. If you are running a windows server you will need to install the extension .dll's on your own.
- Extract the contents of the
goonpug_<version>.zipfile into your csgo server folder. Everything is properly organized underneath the standard
- Install the plugin.
A 'stable' pre-compiled .smx file is included with the plugin, but this version may not include the latest changes from the git source.
If you wish to compile the most recent version of the plugin yourself, please note that it has only been tested using the compiler bundled with SM distrubtions, and the web compiler is not supported.
cd csgo/addons/sourcemod/scripting ./compile.sh goonpug.sp cp compiled/goonpug.sp ../plugins/
- Configure your server to work properly with the Steam Workshop.
Instructions can be found on the Valve Developer Wiki.
Please note that you MUST put your API key in
webapi_authkey.txtfor the plugin to work, even if you run srcds with the
-authkeycommand line option.
Map rotations must be specified using SourceMod map lists.
Example map lists are included with the plugin.
Maps specified in
goonpug_idle_maplist.txt will be used for the idle/warmup rotation, and maps specified in
goonpug_match_maplist.txt will be used for the match map vote selection.
If you don't need any special functionality, you can use the example maplists.cfg file as well.
cd csgo/addons/sourcemod/configs cp maplists.cfg.example maplists.cfg
Please note that workshop maps must be entered as workshop/####/mapname in the maplist files. The "mapname" does not have to match the current name of the map .bsp file for workshop maps since they tend to be updated regularly. The proper .bsp filename will be fetched via the Steam Workshop API.
GoonPUG cvars can be set or overridden in your
gp_web_api_enabledspecifies whether or not the plugin should use the goonpug-web stats API. Defaults to
gp_web_api_urlspecifies the URL for the goonpug-web stats API. This has no effect if
gp_web_api_enabledis set to zero. URLs should be entered with the
Two .cfg files are included with GoonPUG and can be found in
The default values should be sufficient for most users, but they can be customized as necessary.
goonpug_pug.cfgwill be executed for any matches started by the plugin. For convenience, this should be the file executed by your gamemodes_server.txt for the Classic Competitive gametype.
goonpug_warmup.cfgwill be executed for any warmup rounds.
All user commands can be prefixed in chat with any one of the
They can also be issued in the console by prefixing the command with
For example, to ready up a player could say any one of
/ready in chat, or the player could use
sm_ready in his or her console.
.readySet yourself as ready.
.notreadySet yourself as not ready.
All admin commands require the SM
Admin commands can be prefixed with
/ in chat, or with
sm_ in the console.
Currently, the plugin admin commands do not appear in the
/lo3Start a match with the current teams and on the current map.
/endmatchEnd the current match. Match results and stats will be saved to the GoonPUG server and the GO:TV demo will be saved.
/abortmatchAbort the current match. Match results and stats will not be saved and the GO:TV demo will be discarded.
/restartmatchRestart the current match. Note that if the match is in the second half, the plugin will swap the teams back to the sides they originally started on.
The GoonPUG plugin can optionally sync players' statistics (including RWS) with the goonpug-web backend.
GO:TV match demos will be automatically recorded and saved if GO:TV is enabled on the server.
GoonPUG is copyright (c) 2014 Astroman Technologies LLC. GoonPUG is distributed under the GNU General Public License version 3. See COPYING.md for more information.