BSKicker
BSKicker (pun intended) kicks idle players from busy servers to make room for other players. For minecraft 1.2.5, 1.2.4 and 1.2.3.
It was designed from the ground up by MehrCraft/XMdead, a professional Java developer and long-time gamer, to address the needs of Big Servers.
Features
- Negligible impact on server load. Among other things, it does not listen to player events because they are resource intensive.
- Avoids false-idle kicks.
- Flexible configuration.
Installation
- Place the JAR file in the server's plugin directory.
- When loaded for the first time it will create a BSKicker subfolder that contains config.yml.
- Edit config.yml to match your preferences, or leave it as is since it starts you with reasonable settings.
- Optionally setup the bsKicker.active permission for your default (true) and exempt (false) player groups. Unlike players, OPs are exempt from kicks by default.
Configuration
- log.level: Only changed for debugging purposes if you are having trouble.
- task.initialDelayTicks: How many server ticks after the server starts should BSKicker start. You want BSKicker to be one of the last plugins to load. Setup this to a high enough number to ensure it.
- task.frequencyTicks: Every how many ticks should BSKicker wake up. Make this number high enough so that it only wakes up a few times between checks. The wake up and go back to sleep process happens in microseconds and causes no load on the server. It is used purely to allow the runs to happen on a "time" basis instead of being dependent on number of ticks.
- check.frequencyMinutes: The time between checks. If a player is determined idle by the check, the player's idle count is increased. If the player moved his idle count is reset to 0.
- check.maxIdleCount: When a player's idle count reaches this level he is eligible for kicking.
- check.minPlayerCount: There is no need to idle kick players on an empty server. Kicking only begins when there are at least these many players on the server. If you want to idle kick on empty servers, simply set this value to 0.
- check.idleKickMessage: The message you display to the kicked players. You may customize it to be friendly, humorous, or anything you like.
Future plans
- Please note that future features are either not implemented yet or are only partially implemented.
- This plugin will eventually implement proactive troubleshooting. Proactive troubleshooting is code that detects when the plugin fails to perform as designed - for example if the idle check tasks take too long to execute or an error is thrown - and notifies the developer of it. This allows the developer to identify plugin problems early and release an updated version... possibly before the server or its users realize that they have a problem. Any plugin support tools implemented as part of proactive troubleshooting are non-intrusive and do not affect the server, other plugins or users. Any troubleshooting support features, like turning on debug messages, will only affect support staff and will never interfere with the server's normal operation. We are confident that these professional-level features will deliver previously unheard-of levels of reliability for server plugins.
- Additional features are envisioned for the plugin. This description page will be updated as they get released.
Servers
- This section added to recognize servers running the plugin.
- Zombie Zone 13 - http://zone13.enjin.com/
My apologies. I got frustrated with minecraft because no matter what server I played on they would wipe the map and start over every few months. So I gave up on Minecraft and have been playing World of Tanks and not paying much attention. Didn't even notice that 1.3 came out.
I will try to take care of it this weekend.
Also, if anyone would like to take over the plugin, I would be glad to give them the source code. All I ask is that they keep my name as the original author.
Is it working with 1.3 yet?
I'd like to request this be updated.
What is the address of your server? I was trying to join to check it out but I could not find the server on your website, and the addresses I found for it by googling were all inactive.
What you describe seems very strange since for a kick to happen multiple checks of position and orientation would all have to show the same values, but once I get onto your server I should be able to troubleshoot the problem.
Um one weird thing happened today. A player was moving, shooting gun, fighting zombie, etc...like normal, then BSKicker kicked him for being idle...
Hey, very great plugin you have here :) I'm using it on my server. This is my serer website. It is a very new server.
Promoted to full Release status. We still have a perfect "zero bug reports" record.
Do you run BSKicker on your server?
Tested on CB1.2.4-R1.0 and CB1.2.5-R1.0, and promoted to Beta. Not a single bug report since it was made available.
@S3thc0n
No, this plugin will not detect chat. Chat messages are events and would cause some amount of lag. But that should not matter.
I envision that a server will typically be configured with a 5-10 minute idle timeout, and an idle check every 1 to 2 minutes. That is frequencyMinutes=1 or 2, maxIdleCount=10 or 5.
A movement - any movement - during any of those idle checks will be detected and reset the player's timeout counter to 0.
Also, the typical minPlayerCount will likely be 10, 50 or 100 (depending on the server size, the number being one that is as high as possible while still letting the server run with no lag and leaving some free slots). If the number of logged on players is less than that number, nobody will get kicked for idling (if the server's admin chooses so). In that scenario you can sit idle and chat for hours.
Finally, many big servers have a webchat feature integrated with the chat system. If you are going to be "just chatting" during a busy time for the server, you are better off using the webchat and not tying up a slot.
BTW, I just submitted the plugin for Alpha release. Hopefully you will be able to test it soon.
Does this also react on chat messages? Would be good.
Good job!