Time Controls

Overview

As of v0.5, ChessCraft supports Time Controls, which allow you to put a time limit on the length of games. These are the possible time control types:

TypeSyntaxExample
No time controlNoneNone
Game-basedG/<minutes>G/40 - "finish in 40 minutes or lose"
Move-basedM/<seconds>M/180 - "move in 180 seconds or lose"
Rollover<moves>/<minutes>[/<increment>]30/60;20/20 - "30 moves in 60 minutes, then 20 moves in 20 minutes (then repeat)"

Setting the Time Control on a Game

There are two ways to set a time control on a game:

1) Using the /chess tc <time-control> command, e.g.:

/chess tc M/30

2) Using the Time Control control panel sign. Left-click the sign to cycle through the available predefined time controls, or right-click to cycle backwards through the list. The time control shown on the sign will be used when the game is started. See Predefined Time Controls below for more information on how to add your own definitions.

You must set the game's time control after the game has been created, but before the game has been started. Once the game has started, the time control cannot be changed!

When a time control is active on a game (i.e. not None), the chess clock displays on the board's control panel will change from showing an elapsed time to a remaining time for each player. In addition, players will be periodically warned when they are running out of time to make a move (by default when 30 seconds remains, but see the time_control.warn_seconds setting in the Configuration.

Default Time Controls

By default, new games do not have any time control associated with them. There are two ways of setting a default time control:

  • You can set a global default time control with the time_control.default configuration setting, e.g. /chess set time_control.default G/60
  • You can set a per-board default time control with the default_tc board attribute, e.g. /chess board set default_tc G/60 (while standing on the board you want to change)

Per-board settings will override the global setting. To remove a per-board setting, do /chess board set default_tc ""

You can also lock the time control on a per-board basis with the lock_tc board attribute, so that players cannot change it. E.g. to enforce a G/40 time control on a board:

/chess board set default_tc G/40
/chess board set lock_tc true

More on Rollover Controls

The full specification for one rollover phase is moves/minute or moves/minutes/increment. When an increment is included, this number of seconds will be added to the player's remaining time when a move is made.

Rollovers have multiple phases, each separated by a ";" (semicolon). When the required number of moves for a phase has been made, the next phase starts. When a new phase starts, unused time in the old phase is added to the player's remaining time.

When all phases have been completed, the first phase starts again.

Examples:

  • 30/60 - must make 30 moves in 60 minutes, or lose
  • 20/20/30 - must make 20 moves in 20 minutes, or lose (30 seconds is added to your remaining time after each move)
  • 30/60;20/20/30 - a combination of the above two controls - after 30 moves, switch to the 20/20 control, then after 20 more moves, switch back to the 30/60 control.

Fast Chess

See http://en.wikipedia.org/wiki/Fast_chess

Here are the time controls which implement the fast chess types described in the above page:

  • Rapid or Quick: G/10 up to G/60
  • Blitz: M/180 to M/300
  • Bullet: M/60 to M/180
  • Lightning: M/10 to M/60

Time increments are not currently supported for G/ and M/ time controls, but this a planned feature.

Predefined Time Controls

You can add your own predefined time controls by editing the timecontrols.yml file in the main plugin directory (/plugins/ChessCraft/). This file contains a list of time control definitions. Here is the file:

# This file contains a set of predefined time controls.  These can be selected via the control
# panel by left- or right-clicking the "Time Control" sign.
#
# Edit this as you please, and run "/chess reload tc" when finished (or restart the server).
# Be sure to use valid YAML!  No tabs, and consistent indentation!
#
# The "label" must fit on three lines of the sign.  Use ";" for line breaks, no more than 15 
# characters per line.
#
# See http://dev.bukkit.org/server-mods/chesscraft/pages/time-controls for a description
# of the "spec" string.
#

time_controls:
  - label: None
    spec: None
  - label: Game in 40;minutes
    spec: G/40
  - label: Move in 3;minutes;(Lightning)
    spec: M/180
  - label: Move in 10;minutes;(Blitz)
    spec: M/600
  - label: Move in 20;minutes;(Active)
    spec: M/1200
  - label: 30 Moves in;15 minutes;(+30s/move)
    spec: 30/15/30

Comments

Posts Quoted:
Reply
Clear All Quotes