TeamWatcher

TeamWatcher (TW) is a balancer that makes power balance of teams even.
TW has some admin features and bot managing features also.

Auto Balancing

The auto balancing is the main feature of TW. There are 2 types of balancing: player balancing and score balancing.

Player Balancing

The player balancing makes number of team members even.
TW considers member’s K/D (kills/deaths) rate.

Example:

Red    Blue
aaa    eee
bbb    fff
ccc
ddd

In this situation, TW will perform the player balancing and display the console message:

[TW] ccc (3rd): Red => Blue (players unbalance)
Red    Blue
aaa    eee
bbb    fff
ddd    ccc

Score balancing

The score balancing switches the strong player to the opposite side under certain conditions.

Example:

Red (46)    Blue (20)
aaa         ddd
bbb         eee
ccc         fff

In TDM, the score balancing will be performed when the score difference will be greater than 25.
The player who has highest K/D rate in his team will be switched to the opposite side,
and TW displays the console message:

[TW] aaa (1st): Red => Blue (score unbalance)
Red (46)    Blue (20)
bbb         aaa
ccc         ddd
            eee
            fff

Then, number of team members is now uneven on both sides.
So, TW will perform a player balancing.

[TW] fff (4th): Blue => Red (players unbalance)
Red (46)    Blue (20)
bbb         aaa
ccc         ddd
fff         eee

The threshold of the score balancing in CTF is 2. (will be performed when the score difference > 2)

Chat Command

Regular players can use some chat commands during a game play. You just say these commands.

Command Explanation
!shownextmap
!shownext
Shows map name of next round.
!teams
!balance
Makes number of team members even. TW considers member’s K/D (kills/deaths) rate.
!balance and !bal are the same as !teams.
!cyclemap Advances current map in a map cycle. This command require voting.
You cannot use this command at the beginning of round.
!nextmap <map-name> Puts specified map on next round regardless of a map cycle. This command require voting.
If <map-name> is omitted, TW displays available maps.

Once the next map is accepted, !nextmap always show the name of the next map, and no one can change the next map again until a map cycle occurs.

!kickbot Kicks all bots on teams. This command require voting.
We don’t recommend use of this command because some people will leave the game.
!restorebot Restores bots which were kicked by !kickbot on teams.

The rest of commands are useless for you such as !hi, !bye, !help, etc.

Voting

Some chat commands require voting. These commands will be not executed until the vote passes.

[TW] [Vote] Cyclemap? -- say !y or !n

Each player can vote by saying !y (agree) or !n (disagree).
You *cannot* use UrT vote keys such as F1/F2.

Then, TW says the vote status at a certain interval:

[TW] [Vote status] Yes: 1, No: 2, Voters: 3 (needs 50 percent, 4 voters)

This means that 1 of 3 voters voted to !y and 2 of 3 voters voted to !n.
The command will be executed by a 50 percent majority of 4 or more voters.

Inactivity Checking

TW has an ability of inactivity checking.

If you spent your entire last 90 seconds inside a 300 units radius sphere (even if you killed some enemies), you are moved to specs automatically.

Of course, you can join the team again if you wish to continue playing.

This feature is intended for AFKs. Potentially, campers will be hard to keep staying at his location because of this feature.

Temporally Banning