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.
Update for v1.2.5 please
1.2.5 support :)?
I'm having a problem with this and gm too. Its like it has trouble passing the perm info thru. People that have the full server node have to try 2-3 times to get on.
Hello, can you check why does not work with Group Manager? We have a popular server, and this plugin is in a MUST HAVE list
@taylorjb
Yeah, it's not working for me with PermissionsBukkit.
@taylorjb Thanks man but don't worry about it. I've switched to PEX and it works fine with that :)
@TheMadMan697
We've tested with PEX and bPermissions, both of which are currently working.
Also, after reading some comments about permissionsbukkit(which hasn't been updated in 22 days), it seems it doesn't fully work, and a lot of people were having trouble getting it to function in 1.2.3/4.
I'll grab PermissionsBukkit and see if I can debug why it isn't functioning though.
@taylorjb
Doesn't work when I add the permissions to the actual group either I'm afraid. Previously it worked fine with inherited groups.
@TheMadMan697
That is actually a different problem where the permission doesn't seem to be inherited. If you explicitly add the permission to the admin group it should work.
Also, v0.4.4 should fix the allowed then kicked issue.
I just set-up a test server to try this out. only permissionsbukkit and simplereserve plugins. Max players is set to 1 and simplereserve config is the default that loads up.
This is my permissionsbukkit config file
This is the server Log
@funk1983
I'm really confused.
I have no OPs. Using PEX, I have my default group with simplereserve.enter.full permission. I set the max players of my server to 1, then try to log in with 2 users. It works. Not only does it tell me it let me in, but I am able to log on with both users. If I take away the permission I am not able to. I have tried several other combinations and all of them have worked as they should for me.
Can you post your permissions files/config files/any other useful diagnostic information?
Tested and yep only working for ops... :'(
@Rocky143 @TheMadMan697
Alright thanks, I'll be looking in to this tomorrow. Off to the airport!
@TheMadMan697
If a player is op and can join is because you have Admins slots: True in your server.properties file and just to let taylorjb know that the plugin is enabling but it is not functioning and yes I am using v0.4.3 and there are no errors upon loading.
v0.4.3 Is not working currently for me either. Players that have permission still can not join when the server is full. I have tried giving all of the permission nodes to the groups and none work, However if the player is op then they can join. I am using permissionsbukkit 1.6 and craftbukkit #2060 1.2.3-R0.2
@Rocky143
Are you sure it says v0.4.3 on startup? Are there any other conditions or error messages that might help me reproduce the problem so I may actually fix it?
Below is my own test of joining a full server(set available slots to 0), which is why I ask:
@taylorjb
That was v0.4.3
@Rocky143
v0.4.2 or v0.4.3?
0.4.3 fixed that.
@taylorjb
Still having problems I tried again but this time the plugin is actually trying to allow the player to join but the server stops the process. This is how it look like in the log:
2012-03-12 02:42:49 [INFO] [SimpleReserve] Allowed player mark_boy99 to join full server! 2012-03-12 02:42:49 [INFO] Disconnecting mark_boy99 [/10.0.0.2:61615]: Server is full
Please get back to us soon.
@Vitaminous
When using the official repository(not an external one), code commits automatically put the source up in zip format(I believe always marked as alpha). Sorry about that, I keep it uploading the source so people can use/modify it without svn.
Look for jars and/or beta/release files.