csgo-retakes
This is a CS:GO Sourcemod plugin that creates a competitive-minded gamemode called retakes. The idea is that the T players spawn in a bombsite with the bomb, while the CT spawn on rotation routes and try to retake the site and defuse the bomb.
Status: Maintained. Not actively developed.
For plugin developers
My goal is to keep the base retakes plugin as simple as possible. See retakes.inc for how to extend the plugin.
Here are some examples of what could be done using those natives:
- different weapon allocation policies (by default, everyone gets an AK/M4, armor/helmet, and a kit)
- change how players get put into teams by changing their "round points", the team ratios, or by changing who is in the waiting queue if the game is full
- change how the bombsite is chosen each round (by default one is randomly picked each round)
Download
Stable releases are in the GitHub Releases section.
You may download the latest development build if you wish. If you report any bugs from these, make sure to include the build number (when typing sm plugins list
into the server console, the build number will be displayed with the plugin version).
Installation
Requirements
Only Sourcemod 1.9 or later is supported.
Instructions
Download the archive and extract the files to the game server. From the download, you should have installed the following (to the csgo
directory):
addons/sourcemod/plugins/retakes.smx
addons/sourcemod/translations
cfg/sourcemod/retakes
Configuration
The file cfg/sourcemod/retakes/retakes.cfg
will be autogenerated when the plugin is first run and you can tweak it if you wish.
You may also tweak the values in cfg/sourcemod/retakes/retakes_game.cfg
, which is executed by the plugin each map start.
Here are a few important cvars that are in cfg/sourcemod/retakes/retakes.cfg
:
sm_retakes_maxplayers
: maximum number of players allowed in the game at oncesm_retakes_ratio_constant
: what percentage of players go on the T team
You can enable optional addon plugins for more features, read the Addon Plugins section for more information.
Building
The build process is managed by my smbuilder project. You can still compile retakes.sp without it in the normal fashion, however.
To compile, you will need:
You should make sure you have a relatively recent version of smlib - some changes were made to accommodate sourcemod 1.7 changes. The plugin is currently compiled against sourcemod 1.7.1.
Creating and Editing Spawns
Edit mode can be launched by using the sm_edit
command (!edit in chat), which requires the map-change admin flag. Doing this brings up the edit menu which makes it easy to modify spawns.
Here is how to operate the spawn editor via commands:
- use
sm_edit
to launch into edit mode, this makes more spawn-editing commands avaliable (you shouldn't do this on a live, public server). Example:!edit
in chat on a map whose spawns you want to edit - use
sm_new
to create a new spawn. Example:!new ct a
in chat will create a new CT spawn for bombsite A where you are standing. - use
sm_show
to show the spawns for a site. Example:!show a
in chat will show all spawns for bombsite A. - use
sm_delete
to delete the nearest spawn. Example:!deletespawn
in chat. - use
sm_goto
to go to a spawn. Spawns are indexed from 0 upwards. Example:!goto 10
to go to spawn 10. - use
sm_iteratespawns
to fakesm_goto
commands every few seconds to visit every spawn in the map. - use
sm_deletemapspawns
to delete all spawns for the current map
Note: the plugin automatically saves the changed spawns on map ends to a file in addons/sourcemod/configs/retakes.
Addon plugins
The following plugins are optional and disabled by default. To enable them move them up from the addons/sourcemod/plugins/disabled
directory to addons/sourcemod/plugins
.
retakes_sitepicker
This plugin adds a simple admin command sm_site to let an admin pick between bombsites being used. For example, then can type: "!site a" or "!site any".
retakes_standardallocator
This plugin provides a simple sm_guns
(!guns in chat) command that lets users choose between regular and silenced M4's and whether they want to ever recieve an AWP. It also randomly gives out a small amount of grenades.
retakes_pistolallocator
This plugin is an alternative to retakes_standardallocator (meaning: you shouldn't use both of these plugins, just one!) that makes every round a pistol round and lets players choose which pistol they have.
Contribution and Suggestions
First, check the issue tracker to ask questions or make a suggestion. If you have a suggestion you can mark it as an enhancement.
Style/gameplay design choices that don't have to made here, should not be made here. Spawns can be edited by anyone running a server. How weapons are given can be set by the natives and forwards provided. Please don't submit requests to change these, since everyone will want something different.
Guidelines
- Create a fork on github, clone that, then create a branch to work on
git checkout -b mybranchname
- Follow the code-style already used as much as you can
- Submit a pull request when you're happy with the new feature/enhancement/bugfix
- Favor readability and correctness over all else
- For a moderately advanced feature, it may be simpler to write it as a plugin that uses the retakes natives from retakes.inc
- Keep it simple, stupid
Discord Chat
A Discord channel is available for general discussion.