Included Game Modes

This is an Overview over the game modes that currently ship with piqueserver


piqueserver.game_modes.arena gamemode

Arena, A game of team survival. The last team standing scores a point.

A map that uses arena needs to be modified to have a starting area for each team. A starting area is enclosed and has a gate on it. Each block of a gate must have the EXACT same color to work properly. Between each rounds, the gate is rebuilt. The gates are destroyed simultaneously at the start of each round, releasing the players onto the map. Players are free to switch weapons between rounds.

Spawn locations and gate locations MUST be present in the map metadata (map txt file) for arena to work properly.

The spawn location/s for the green team are set by using the data from the arena_green_spawns tuple in the extensions dictionary. Likewise, the blue spawn/s is set with the arena_blue_spawns key. arena_green_spawns and arena_blue_spawns are tuples which contain tuples of spawn coordinates. Spawn locations are chosen randomly.


the script retains backwards compatibility With the old arena_green_spawn and arena_blue_spawn

The arena_max_spawn_distance can be used to set MAX_SPAWN_DISTANCE on a map by map basis. See the comment by MAX_SPAWN_DISTANCE for more information

The locations of gates is also determined in the map metadata. arena_gates is a tuple of coordinates in the extension dictionary. Each gate needs only one block to be specified (since each gate is made of a uniform color)

Sample extensions dictionary of an arena map with two gates: In this example there is one spawn location for blue and two spawn locations for green:

extensions = { 'arena': True, 'arena_blue_spawns' : ((128, 256, 60),),
'arena_green_spawns' : ((384, 256, 60), (123, 423, 51)), 'arena_gates':
((192, 236, 59), (320, 245, 60)) }

Code author: Yourself

piqueserver.game_modes.babel gamemode

Babel: reach the heavens by building a tower

Derived from by Yourself

Release thread:

piqueserver.game_modes.freeforall gamemode

Free for All: shoot anyone


piqueserver.game_modes.infiltration gamemode

Infiltration is an asymetric intel-based game mode where one team, the attackers, tries to infiltrate the defenders base and steal the intel. Defenders receive points for keeping the intel out of the attackers hands and attackers recieve points for capturing the intel.


# Attackers get attacker_score_multiplier points for taking and capturing
# the intel.
attacker_score_multiplier = 10

# Defenders gain 1 point for every defender_score_interval seconds that the
# intel remains untouched.
defender_score_interval = "30sec"

# The ratio of attackers to defenders. Be aware that setting this
# incorrectly might prevent players from joining
attacker_ratio = 1.6

Originally created by: TheGrandmaster / hompy

piqueserver.game_modes.onectf gamemode

One CTF: CTF with a single intel, placed in the center.

piqueserver.game_modes.push gamemode

Code author: danhezee, StackOverflow, izzy, Danke, noway421, IAmYourFriend

The concept

Each team spawns at a set location with the enemy intel. They must “push” the intel towards their control point, which is also at a set location. The only way to arrive there is by building bridges over the deadly water. Further introduction to the game mode:

Setting Up New Maps

Spawn and CP locations must be configured via extensions in the map’s map_name.txt metadata:

>>> extensions = {
...     'push': True,
...     'push_spawn_range' : 5,
...     'push_blue_spawn' : (91, 276, 59),
...     'push_blue_cp' : (91, 276, 59),
...     'push_green_spawn' : (78, 86, 59),
...     'push_green_cp' : (78, 86, 59),
...     'water_damage' : 100
... }

Additional (but optional) extensions, to mark each team’s build area and prevent the enemy from building there (and thereby helping the enemy). The build area is defined by x and y of upper left corner, followed by x and y of bottom right corner on the map:

'push_blue_build_area' : (64, 100, 243, 500),
'push_green_build_area' : (268, 100, 447, 500),


  • /r Quickly respawn to refill blocks and ammo (if enabled)
  • /resetintel <team> Manually reset the blue or green team’s intel


# Disallow removal of map blocks. This allows a larger variety of maps that
# rely on more fragile structures. It also prevents griefing (like removing
# the map blocks before and after your team's bridge).
protect_map_blocks = true

# Allow the usage of /r to quickly respawn. As players can't refill blocks at
# their base, they would have to suicide otherwise. This is illogical, messes
# up their kill-death ratio and gives them an undeserved punishing respawn time.
allow_respawn_command = true

# How long to wait to allow the command /r again
respawn_cmd_delay = "15sec"

# Players have to wait this amount after spawning before they can pick
# the intel up. This is to reduce the instant/careless intel pickups.
intel_pickup_delay = "3sec"

# How long can you remove your own last blocks
block_removal_delay = "15sec"

# Reset intel after it was dropped somewhere
reset_intel_after_drop = "3min"

# No building near cp within this block range (can be overwritten using
# map extension parameter "push_cp_protect_range")
default_cp_protect_range = 8

# Disable grenade damage within enemy spawn.
disable_grenades_at_spawn = false

piqueserver.game_modes.tdm gamemode

Team Deathmatch game mode.


..Maintainer: Triplefox

piqueserver.game_modes.tow gamemode

Tug of War game mode, where you must progressively capture the enemy CPs in a straight line to win.

Maintainer: mat^2