SimpleReserve
SimpleReserve
Simple, easy-to-use Reserve slot plugin
Tired of not being able to offer VIPs reserved slots or being unable to join your own full server? SimpleReserve provides an easy way to add that functionality with bukkit permission support.
Features
- Simple to use reserve slots plugin with bukkit permission support
- Provides functionality for 2 reserve slot methods:
- Full method: Users with 'simplereserve.enter.full' may enter past the imposed player limit
- Kick method: Users with 'simplereserve.enter.kick' may enter a server when full by kicking the first player found that is able to be kicked. Users with the 'simplereserve.kick.prevent' permission are immune to being kicked(Utilize inheritance!)
Config Overview
The config file for SimpleReserve is very simple and will be auto-generated on first run. The file should contain:
reserve: type: both full: cap: 5 reverttokick: false kick-message: Kicked to make room for reserved user! full-message: The server is full! reserve-full-message: All reserve slots full!
Types:
- full - A type of full limits the reserve plugin to allowing people with the proper Permissions to join even when the server is full.
- kick - Conversely, a type of kick will only allow people with the proper Permissions to join a full server by kicking the first player it comes across that does not have Permission to prevent being kicked.
- both - A type of both can use either the full server or kick method, but the full method takes precedence if a user has that Permission.
- none - "none" type effectively eliminated the reserve slot functionality, allowing you to disable it without removing the plugin.
- if you put something else as the type, the plugin will automatically regenerate it back to "both". Please note this.
You may also customize the messages sent by the plugin for different situations using the 'kick-message' and 'full-message' config nodes.
Permissions Overview
Permissions for SimpleReserve are...well...simple. There are only 3 Permissions to worry about.
'simplereserve.enter.full' - Permission required to give "full" joining capabilities. Allows joining above limit. 'simplereserve.enter.kick' - Permission required to allow joining full server by "kick" method--kicks first player it can. 'simplereserve.kick.prevent' - Prevents player from being able to be kicked by someone joining using the "kick" method
Examples
- Lets say you have 4 usergroups. Guests(default), Users, Moderators, and Admins. You want to give Admins and Moderators joining full server via "kick" method, but you only want to be able to kick at the expense of guests.
Permissions:
Note that Users only have the prevent permission. Any groups that inherit from Users will also have the same permission. Now to ensure we're using the right type of reserve slot, the config.yml would look like:
groups: Guests: default: true info: prefix: '' suffix: '' build: false inheritance: permissions: Users: default: false info: prefix: '' suffix: '' build: true inheritance: Guests permissions: - 'simplereserve.kick.prevent' Moderators: default: false info: prefix: '' suffix: '' build: true inheritance: Users permissions: - 'simplereserve.enter.kick' Admins: default: false info: prefix: '' suffix: '' build: true inheritance: permissions: - '*'
reserve: types: full,kick,both,none type: kick
- Same situation but we want to be able to join over capacity instead of kicking. We only need to change Mod's 'simplereserve.enter.kick' permission to 'simplereserve.enter.full' and change "type: kick" to "type: full" in config.
- We can also use * to allow either method(DEPENDS ON PERMISSIONS PLUGIN), and just change the type to and from kick and full as desired. will allow whichever type is configured.
'simplereserve.enter.*'
- We could also allow mods to join using the kick method and admins to join using full. In config we'd set type to both, and give mods 'simplereserve.enter.kick' Permission only. In this case, Admins have both kick and full Permission, which will default to using full when both are available, and mods can join using the Permission they have.
As you can see, almost any desirable Situation is achievable.
Screenshots
Users attempting to join full server with no Permission to enter: User being kicked to make room for a reserved member: No kick-able players for "kick" join method:
Console output for full type joining:
20:17:46 [INFO] [SimpleReserve] Allowed player tj007razor to join full server!
Project & Source
See our project page for activity and source.
hi, i have this problem:
http://forums.bukkit.org/threads/spawn-player-problem.58378/
@XtenDvas
It's an issue with offline mode. Turn it on and it's gone.
Hello a got a bad bug with SR. I use the Kick Methode and everything works fine, till the server gets full and an new (unknown) Playerr entity joins the server. (unregistered guest)
What happens: The Player is not directly blocked, instead there come a kick message at the console and ingame "Player XX leaves the Server" but followed by the Message "Player XX joined the Server". That causes that the player is already blocked but the server things that the player has joined the Server. This "Ghostplayer" is not kickable... not ingame not via console and creates a new slot. That problem causes that my spawn was filled with "ghostplayers" and my ingame Serverslots went up to 21/10.
At first i thought that this is caused by another Plugin so i disabled one after another... and testet it. And the result shows, that the problem was caused by SR. :/.
MyPlugins: PEX, Essentials, MultivWorld, MultiInv, Logblock, mcmmo, nolagg, Citizen, iConomy, Chestshop, creaturebox, dynmap, lwc, mcdocs, noCheat, properTime, Spout, WorldBorder
Is there any known conflict with SR or does anyone notice the same problem? I'm using SR for a long time and it's the best reservation plugin in my opinion. So i hope i can solve that problem..
p.S. any chance to add permissions ranks for kicking people? So that Player in groups with lower ranks will kicked before player with higher ones?
Thanks for the plugin btw. Sry for my terrible english, hope you could take my point.
@XtenDvas
The bypassing login is an issue on my end but getting all your permissions etc should not be related and actually have to do with the authentication.
Works bad with xAuth plugin... Its turn off the "Logged from another location" protection. When player joins with your nick if you online on full server they kicks you from the game , passes login and get all permissions, gamemodes, rights... Can you fix it please?
@Gizmocubesworld
That is caused by Jobs improperly handling the player quit event. The reason you see it when SimpleReserve does things is because simplereserve kicks people...
Thank you so much! All I needed was way to bypass player limits for just a coupla people on my server, and this works perfectly =)
http://clip2net.com/clip/m104294/1325164269-clip-36kb.png i think it caused by simplereserve. happens when server is full and someone tries to join, but sometimes it says to console not 'Disconnecting player adwaf because the server is full' but 'Disconnecting efsfsf [/24.53.135.243:42082]: The server is full!' and no errors occured.
there are some messages about kicking player and simplereserve plugin in the error. using craftbukkit 1597 and the last simplereserve and jobs.
@ray0911
Should be fixed in v0.3.2
PermissionsBukkit-1.2 SuperpermsBridge-1.2 CB1498
Only ops are able to join the server when its full. I added "'simplereserve.enter.full" to both permissionsbukkit and the OLD permissions. But player still can not join when server is full. SuperpermsBridge-1.2 should allow me to continue to use this plugin using the old permissions files. Does it matter which world file I give the player the permissions? Does it matter which world they are in?
Players with the permissions to enter when server get the message "The server is full!". So it looks like they are not getting the permissions set to them..
permissionbukkit (tryed to give to to player, default group, etc..) simplereserve.enter.full: true
config.yml reserve: types: full,kick,both,none type: both
@ray0911
It shouldn't require a bridge. It should support recent PermissionsBukkit/BukkitPerms/PEX/GroupManager fully. Can you describe your problem better and/or create a ticket so I can try to reproduce?
Nice dev page.. But I still was unable to give players permissions in permissionsbukkit/bridge. If anyone got this working please let me know.
Glad to see you have continued this project on BukkitDev. Excellent plugin!