Afkbooter

AfkBooter - Boot players who idle too much on your server. This is the original AfkBooter by @neromir, old thread can be found here. It is being posted here as approved by @neromir and will be maintained through future Bukkit versions here.

Features

  • Prevent players from idling on your server beyond a given time limit.
  • Allows you to set a list of player names who are immune to idle-kicking.
  • Allows you to set a player count threshold below which nobody will be kicked.
  • Allows you to set a custom kick message for both the kicked player to see and one that is broadcast to all players on the server when the player is kicked.
  • Allows you to determine if player idling status should be merely announced rather than having idlers kicked. If set to true, it will be announced when players are no longer idling. The kick broadcast message is used to determine the text of the message announced when a player goes idle.
  • Works with any number of people on the server (does not fail when there's only a single person on).
  • Allows you to set a kick-check frequency. Rather than arbitrarily set a kick-check interval for you, it allows you to determine what is best for your server.
  • Allows you to specify which events, out of a given set, should be listened to for purposes of activity checking.
  • Allows you to specify if players should be counted as active while moving in a vehicle.
  • Allows you to set whether idlers should be counted as "in bed" for checking if all players are in bed to move the server time forward to day.
  • Allows you to set whether idlers should be blocked from picking up items.
  • Integrated with Permissions 3.1.6. Should also work fine with Permissions 2.7.3.

To install

  • Simply put the jar file in your plugins directory for CraftBukkit.
  • On first run it will create a file called "afkbooter.properties" in the directory "plugins/AfkBooter" and populate it with the default settings.
  • You should then stop your server, change the settings to match what you want, and re-run it.

Permissions

  • afkbooter.exempt: Anyone that has the exempt node will not be kicked by the plugin. (Note that the exempt node is in addition to any names listed in the exempt-players list in the settings file.)
  • afkbooter.config: Anyone that has the config node will have access to all the below-listed commands

Commands

  • /afkbooter kickTimeout [number] - Changes the idle time (sec) allowed before players are kicked.
  • /afkbooter kickMessage [message] - Changes the message a kicked player sees.
  • /afkbooter kickBroadcast [message] - Changes the message broadcast to all players when someone is kicked.
  • /afkbooter listExempt - List the players on the exempt list.
  • /afkbooter addExempt [playerName] - Add a player to the exempt list.
  • /afkbooter removeExempt [playerName] - Remove a player from the exempt list.
  • /afkbooter playercount [number] - Set the threshold below which no players will be kicked.
  • /afkbooter useJumpIgnore [true|false] - Set whether or not to use experimental jump ignoring code.
  • /afkbooter kickIdlers [true|false] - Set whether or not idlers should be kicked or merely announced as idling.
  • /afkbooter ignoreVehicles [true|false] - Set whether or not to ignore player movement while in vehicles.
  • /afkbooter useFauxSleep [true|false] - Set whether or not to use faux sleep (afk players are considered in bed).
  • /afkbooter blockIdleItems [true|false] - Set whether or not item pickup should be blocked for idlers.
  • /afkbooter list - List players marked as AFK.

Configuration

A player can be considered active when the plugin catches one of the following events (depending on how you set it):

  • Join
  • Movement (looking around past a certain threshold, I believe 30 degrees, does count as movement)
  • Chat/command
  • Opening the inventory (simply holding the inventory open does not trigger this - only the actual open inventory action does)
  • Block placement
  • Block break
  • Dropped item
  • Player interacting with a block
  • Player interacting with an entity

Event names which can be listed in the listened-events property:

  • PLAYER_MOVE
  • PLAYER_CHAT
  • PLAYER_COMMAND_PREPROCESS (to detect commands as well as chat)
  • PLAYER_DROP_ITEM
  • BLOCK_PLACE
  • BLOCK_BREAK
  • PLAYER_INTERACT
  • PLAYER_INTERACT_ENTITY
  • INVENTORY_OPEN (DO NOT USE)

Changelog


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

Categories

Members

Recent Files

Bukkit