[INACTIVE][ADMN/GEN] Reserved v2.2.2b - The ultimate slot reservation plugin [490]

Discussion in 'Inactive/Unsupported Plugins' started by 8e8, Jan 30, 2011.

  1. Offline

    8e8

    Reserved The ultimate slot reservation plugin
    v2.2.2b [490]
    Download [JAR | config.yml] - Donate
    Updated: 3/8/2011 - 8:55pm EST
    Previous: v2.2.1b [490], v2.2b [490], v2.1b [440], v2.0.2 [232]

    Reserved is an extensive slot handling plugin designed to suit your needs. It currently supports multiple methods of reservation, including hMod's.
    Configuration (open)

    Download Permissions
    plugins/Reserved/plugin.yml
    Code:
    config:
      # The method to be used in reserving seats for players
      # default - If a player is on the reserve[Groups] list they can connect at anytime, and do not count towards max-players
      # hmod     - If a player on the reserve list connects when the server is full they are allowed
      # kick    - If a player on the reserve list connects when the server is full they are allowed, and someone is kicked* to make room for them
      # * If no one can be kicked then the connecting player is denied
      reserveMethod: hmod
    
      # The time a seat is reserved for when a player leaves (0 = disabled)
      holdSeats: 0
    
      # Log commands to server.log?
      logCommands: true
    
      # Log when the server is full?
      logOnFull: true
    
      # Log when a reserved player joins?
      logOnReserved: true
    
    # Players from this list will be allowed to connect when the server is full
    reserve:
      players:
        - 8e8
        - Player
      groups:
        - Admins
        - Moderators
    
    # A player from this list will be kicked when the server is full if reservedMethod: kick
    kick:
      # The players get searched first
      players:
        - 8e8
        - Player
      # The groups get searched in the order
      groups:
        - Members
        - Default
    
    # Players from this list will be immune* to drops due to slot reservation when the server is full and reservedMethod: kick
    # * Unless no one else can be kicked
    save:
      # The players get searched last
      players:
        - 8e8
        - Player
      # The groups get searched in order
      groups:
        - Admins
        - Moderators
    
    Special Thanks (open)

    @Kainzo @bleem313 @Synicyde : for lending me their servers for testing.
    @Jobsti @uncovery @Odjit @oliverw92 : for helping make this plugin what it is now. Your suggestions have been turned into features.
    @SquallSeeD31 : for pointing out the conflict with Whitelist

    @ Everyone who's supporting this plugin and trying to break it. Without you I'd be clueless about whether or not it really works.
    Changelog (open)

    v2.2.2b
    v2.2.1b
    v2.2b
    v2.1.1b
    v2.1b
    v2.0.2
    v2.0.1
    v2.0
    v1.1
    v1.0
     
  2. Offline

    meee

    The server has a maximum of 20 players, all slot are full.
    When a reserved guy join there will be 21 players on the server?
    Understand i that thing right?
     
  3. Offline

    8e8

    That's correct. Also, if there is a maximum of 20 players, and a reserved guy is already in the game, the next person to join will be let in.

    This is in theory of course as I haven't been able to formally test it, but the programming looks sound.
     
  4. Offline

    meee

    Is it possible to make to kick a not reserved player for a reserved player and give the kicked player the message: Kicked for Slot reservation? Cause i cant let join more people than 20. Sorry for bad english, i am from switzerland ;)
     
  5. Offline

    8e8

    I could allow that as an option, but why would you want to do that? Why can't you have more than 20 people? This plugin allows more than 20 people (if 20 is your max) if a player on the reserved list is trying to join when the server is full.
     
  6. Offline

    meee

    I bought the gameserver and 20 slot is the maximum. When more people are on the server is this against the agreement and my server is shutting down. I hope you understand what i am writing :D
     
  7. Offline

    Thrawn

    So if I understand this right, it only allows for one reserved slot past the cap? That sounds alright, but I'd also like it if it would kick after that additional slot if more reserved players attempt to join.
     
  8. Offline

    meee

    i think youre right.
    But here a example:

    20/20 Player are in the server.
    players on the server: player1, player2, player3, and so on.
    playerX has a reserves slot.
    playerX will join the server, but oh its full! The plugin note this and kick a random player like player1 or so. Now playerX can join whithout issues.

    Is that possible or is it to complex? I dont know how to program so i dont know what is possible and what is impossible
     
  9. Offline

    highz

    Maybe you can take a look at my plugin.
    That wont kick players but just reserve slots
     
  10. Offline

    meee

    Yeah is say your plugin bit its a bit wierd when the slots are "blocked"

    please keep your language clean... -silentspy
     
  11. Offline

    oliverw92

    We have over 80 people who need to be on the reserve list. It is a little annoying having to have a single line of 80 names separated by commas. Could you just keep it like Hey0 and make it so each player is on a separate line?
     
  12. Offline

    8e8

    I guess it needs to be made a BIT more clear, so here it goes.

    Let's say the has a max of 25 people and reserved.users has 5 people

    Ex 1.
    25 people join the game (MAX SLOTS)
    All 5 people in reserved.users join afterwards
    Total of 30 people ingame

    Ex 2.
    20 people join the game
    All 5 people on the reserved.users join afterwards (MAX SLOTS)
    The next 5 people to join will be allowed

    As I said... People on reserved.users don't count as taking up a slot. They will, but when someone joins it will act as if they don't. I don't want players to be kicked just because of a reservation, but if you guys want that option to prevent your server from going over it's cap I'll add it. I can also make reserved.users read line by line instead of separated by comma.
     
  13. Offline

    Jobsti

    @8e8

    Ahahahaaaa, thaaaank you !
    ;)

    I use #186 on Linux
    bukkit\plugins\Reserved\ -> the two config files
    In properties.location: server.properties (not correct?!)

    Serverrestart: server.propertiesserver.properties
    Next Restart: server.propertiesserver.propertiesserver.properties
    After next: server.propertiesserver.propertiesserver.propertiesserver.properties

    Request:
    Ex 3.
    20 people join the game
    All 5 people on the reserved.users join afterwards (MAX SLOTS)
    The next x people to join will be NOT allowed

    And a "cache" would be useful. Server is full but a user have to reconnect because chunkerror, in this moment, the cache says "this user can reconnect in the next 15 seconds, for other users, the server is full" ;)
     
  14. Offline

    8e8

    The caching sounds like a good idea. I'll be adding it along with a 'safelist' of people who can't be kicked by slot reservation, unless the only people taking up the slots are on the safelist, then it randomly kicks one of them.

    Also, it appears my theory wasn't as sound as I thought. I was just looking over my code doing test cases, and although it may seem to work it doesn't work fully as I want it to. I'm making the changes now along with those additions.
    --- merged: Jan 31, 2011 6:39 PM ---
    Updated for Craftbukkit #186, hopefully fixed the issues with slot calculation.
    @Jobsti
    I just remembered the caching suggestion. I'll add it in the next version.
     
  15. Offline

    meee

    THX man i am putting this instantly on my server :DDD
    :D
     
  16. Offline

    uncovery

    cab you make that work with the permissions plugin so groups can be used?
     
  17. Offline

    8e8

    Sounds like an excellent idea. I'll work on it.
     
  18. Offline

    SquallSeeD31

    Bug Report: Reserved 1.1 overrides KICK_OTHER, allowing kicked player to join
    CraftBukkit Version: 211

    Line 29 of ReserveListener.class (At least by my decompile) reads as follows:

    if (!event.getResult().equals(PlayerLoginEvent.Result.KICK_BANNED)) {

    As a result, if another plugin (such as oh, say, Whitelist) on a lower listening priority than Highest has already modified PlayerLoginEvent.result to KICK_OTHER, then if the server is not full (or the user is on the reserve list), that result will be overridden when Reserved allows the event. Since the purpose of Reserved is to provide the ability to modify a result of KICK_FULL to ALLOWED under certain conditions, I would recommend modifying the line as follows:

    if (event.getResult().equals(PlayerLoginEvent.Result.KICK_FULL)) {

    Since PlayerLoginEvent is called AFTER the ServerConfigurationManager has checked for bans and server capacity, this change should preserve the intended functionality of Reserved while also not interfering with plugins that use KICK_OTHER.
     
  19. Offline

    8e8

    While I was making that I had a thought that maybe a banned user could still join if I allowed the event, and sure enough it did. That's why I added that check. I didn't even think about another plugin that might be working with those events at the time. Thanks for pointing that out. I realize now the mistake I made.
     
  20. Offline

    -nameless-

    But what if there are for example 10 reserved Players on the Server and i have 20 Slots, will it be raised to 30 Slots ?
     
  21. Offline

    meee

    I think yes when you don't use the kick feature
     
  22. Offline

    8e8

    As meee said, yes, so long as you're not using the kick feature.
     
  23. Offline

    Jobsti

    Hey, idea:
    What's about reading the permissions config, to check the guest-users,
    and only kick them, if a reguser connects? ;)

    Option:
    default group: guest (from permission plugin)
    member kick default: true
    reserve kick default: true

    So, if the Server is full and a User from the reservelist connects, no one will be kicked, he can log in.
    If "reserve kick default: true", only a default user will be kicked if server is full.
    If a registered user connects, a default user will be kicked. If server is full of regusers, he can't connect.
     
  24. Offline

    ekeup

    8e8,
    Can you PLEASE add an option to allow reserve list people to count towards the max-players.
    I just want reserve list people to be able to join when the server is full.
     
  25. Offline

    8e8

    Uhh.. They do... IF you're using kickOnFull.

    I'm not quite sure what you want from me. I created the plugin so it can allow servers to go past max-players when full (a reserved player is joining), or kick a player when full (so the reserved player joining can get in). The method used by the other reserve plugin always reserves slots equal to the # of people on the reserved list. Meaning the only way you'd reach max-players is with everyone on that list being in game. That reduces the amount of people that can play at any given time, and I didn't want to go down that road.


    Progress on the update: I've finished the setup for the new additions (caching[named seats], Permissions groups for reserving/kicking), and have moved onto implementing it into the reservation method.
     
  26. Offline

    Odjit

    I don't know if this is what he meant, but I know its what I would like if you could :x

    The server that I administrate on liked the Hmod version of the reserve list, in which the behaviour was as follows.

    • Does not kick users already on.
    • Allows reserve slot players on past the maximum amount of players. (ie: 51/50)
    • However, reserve slot players still count toward the maximum player amount.
    For the last point there, the example would be, 55/50 players are on, 6 are reserved slot players. A non-reserved slot player cannot join at that point because the server is full. At the moment, your plugin would allow that person on, because to it, there are 49/50 non-reserved slot people on. If the server had 48/50 players, and 2 reserved slot people joined, then only reserved slot people could join past the 50 mark.

    I know you don't want to go down of that other plugin that road buuuut:
    The wish for this, is because we do not want to kick people who are playing, but nor do we want to go too far over our maximum amount (server stability issues, we are a large server). We don't want to lower the maximum either, because then if hardly any donators were on, the server would be limited in size for no reason.
     
  27. Offline

    MiniKahn

    INcompatible with the Whitelist 1.7 Plugin..

    very bad...
     
  28. Offline

    8e8

    I understand your concerns. I wanted to try and find a balance by having the 2 options, but I guess they just ain't enough for everyone's needs. I'll add in this option since it wouldn't require much.

    @MiniKahn
    Yeah, I'm aware of this. It was a bad oversight on my part. I wasn't thinking about the priority which my plugin takes over others. I've fixed this in the new version, and added a buttload of features. It's so much more improved that I called it 2.0 ;]


    The problem I'm having right now is being able to thoroughly test this plugin since I require a server and 3-4 people. I'm on IRC atm reaching out for some assistance. Hang in there folks. The update is coming shortly.
     
  29. Offline

    Synicyde

    Add verbose in server output? Maybe make it pm'd to the operator so they know when the servers full..an when a reserved player joins an what not :)
     
  30. Offline

    ledhead900

    Send your server info my way Ill come on and test it out, Experienced admin my self.
     

Share This Page