Skip to content
Tulonsae edited this page Feb 4, 2012 · 32 revisions

AfkBooter tracks player activity and once the time out limit is reached, the player will be kicked for idle activity, unless

  • They have the exempt permission (see Permissions below).
  • They are on the exempt list (see Commands and Config below).
  • The player threshold is set to a number greater than the number of ingame players (see Config below).

Players are determined to be active if they have moved or performed one of the configured activities listed in the Config section below. You can not turn off movement as an activity.

In order to reduce load on the Minecraft Server, the player move event is not used to monitor player movement. Instead, a movement tracker thread checks the player location every 5 seconds (with an initial delay of 10 seconds) and compares it to the previous location. If the player location is different (by greater than 1 block), then they are considered active. In addition, by default, the movement tracker checks if the player is in a vehicle and does not count that as activity, although it does record the location change. (You can turn off the ignore vehicle flag. See the Config section.) This algorithm means that it is possible for a player to have moved within the idle time and not have it counted. This should happen quite infrequently and certainly a rare mistaken idle kick is worth the reduced load on the server.

AfkBooter runs a timer thread which will check the ingame players and their last activity at the interval specified in the config (default is once a minute).

The exempt list may be used for temporary exemptions in situations when the staff doesn't want to give the more permanent exempt permission.

Commands

/afkbooter list

This lists the players on the exempt list. This does not include players that are exempt because they have the exempt permission.

/afkbooter add NAME ...

This adds the specified players to the exempt list. The name(s) are not checked to see if they are valid players, but are checked to see if they are already on the list.

/afkbooter remove NAME ...

This removes the specified players from the exempt list. The name(s) are not checked to see if they are valid players, but are checked to make sure they are on the list, before removing them.

Permissions

escapeplug.afkbooter.exempt

Exempts the players or members of the group from being kicked due to idle time.

escapeplug.afkbooter.change

Allows the player or members of the group to use the commands listed above.

Config

These are the AfkBooter configuation settings which may be found in the afkbooter section of the config.yml file in the EscapePlug plugin directory. The default values are listed.

enabled: true

Determines whether AfkBooter is enabled or not. Value is boolean.

version: ""

This will be set by AfkBooter to its current running version. If you set this value, it will be overwritten.

kick-timeout: 600

Sets the length of idle time in seconds. Value is Long.

timeout-check-interval: 60

Sets the frequency, in seconds, of how often AfkBooter will check to see if players have reached the kick-timeout limit. Value is Long.

player-count-threshold: 0

This sets how many players must be ingame before AfkBooter will kick idle players. This means that for a value of 0, idle players will always be kicked. Value is Int.

kick-message: "Kicked for idling."

This sets the message given to the player when they are kicked by AfkBooter. Value is String.

kick-broadcast: "Kicked for idling."

This sets the broadcast message announced by the server when a player is kicked by AfkBooter. Value is String.

exempt-players: ""

This lists players that are exempt from being kicked. Use the commands above to set this. These players are in addition to the players that are exempt because of the exempt permission. All names are listed in lower case. Value is a comma delimited string surrounded by [] as in "[player1, player2]".

ignore-vehicle-movement: true

Determines whether movement in a vehicle counts as activity or not. If you don't want idle players looping eternally in minecarts, set this to true. Value is Boolean.

event-player-chat: true

Determines whether chat counts as activity or not. If you want chat to count, set this to true. Value is Boolean.

event-inventory-open: true

Determines whether opening inventory counts as activity or not. If you want standing in one place, opening numerous chests to count, set this to true. Having a chest open does not count, regardless; only the action of opening the chest. Value is Boolean.

event-player-command-preprocess: true

Determines whether commands count as activity or not. If you want commands to count, set this to true. Value is Boolean.

event-player-drop-item: true

Determines whether dropping items counts as activity or not. If you want dropping item to count, set this to true. Value is Boolean.

event-block-place: true

Determines whether placing blocks counts as activity or not. If you want placing blocks to count, set this to true. Value is Boolean.

event-block-break: true

Determines whether breaking blocks counts as activity or not. If you want breaking blocks to count, set this to true. Value is Boolean.

event-player-interact: true

Determines whether player interaction counts as activity or not. If you want player interaction with objects or air to count, set this to true. Value is Boolean.

event-player-interact-entity: true

Determines whether player interaction with an entity counts as activity or not. If you want a player's action of right clicking an entity to count, set this to true. Value is Boolean.

Clone this wiki locally