Inactive [ADMN] ThumbsApply v3.1.1 - Mute Guests and Auto-Promote them [1.2.3-R0.1]

Discussion in 'Inactive/Unsupported Plugins' started by TOdkommt, Sep 11, 2011.

  1. Offline

    TOdkommt

    ThumbsApply - The Auto-Application Plugin:
    Version: v3.1.2
    Tested Builds: #2034 (1.2.3-R0.1)

    ThumbsApply is a plugin, that makes life for admins a lot easier. You can not only auto-promote your server guests by letting them enter a password, hidden in the rules or by setting a certain time they have to be online.
    You can also Mute your Guests and show them a special Message on joining the server if you want. This Plugin supports Permissions 3.x, GroupManager, PermissionsEx, bPermissions and PermissionsBukkit.

    Bukkit Dev Page (Updates slower due to file approval): Click here

    by Todkommt

    Features:
    * Auto-promote Guests on your server
    * Mute guests
    * Show guests a special MotD
    * Fully customizable player messages
    * Supports per world promotion
    * Supports most common permissions plugins
    * Modular structure, you can download only the modules that you need
    * Promotion through password or after a certain time
    * Logs all promotions

    Donations:
    I put a lot of effort and time into this plugin, in which I don't get paid. If you enjoy this plugin, feel free to donate here if you want. The money will be directly referred to my minecraft server.

    Commands:

    * apply: | usage: /apply <password> | description: Promotes the player if the password is correct.
    * apply: | usage: /apply timeleft (if you have a group with MethodTimedPromotion) | description: Returns you the time left until promotion.

    Permissions:

    * ThumbsApply.NotGuest: give it to your groups with building rights (required).
    * group.<groupname>: give the permission to every group, replace groupname with the name of the group you are giving the permission to. This is to handle group management in permissions plugins that don't support that natively.


    Config:



    Here is a default Config with all entries explained:

    options: <-----General Options
    chatBlockEnabled: false <------Block Guests from chatting?
    joinMessageEnabled: true <-------Enable an extra join message for guests?
    tickDelay: 60000 <-------The delay between two ticks (higher is performance friendlier, but less accurate)
    blockPasswordInChat: true <-------Block the usage of the password in the chat (by both guests and players)?
    groups: <------Group configuration
    User: default <-----Any group below Users gets promoted to User after entering the password "default"
    Mod: '%1000' <------Any group below Mod gets promoted to Mod after being online for 1000 minutes


    Localization:

    3.0+ variables:
    * {player} outputs the player name
    * {group} outputs the group name
    * {password} outputs the password (only available with password promotion)
    * {time} outputs the time left until promotion (only available with timed promotion)


    Show Spoiler
    v2.1 or later:
    Just edit the file "localization.yml" made in /plugins/ThumbsApply/localization to your likes. DO NOT remove any single quotes. The $0 in JOIN_MESSAGE_PASSWORD and JOIN_MESSAGE_TIME represents the player name, the $1 in JOIN_MESSAGE_TIME represents the time the player has left until he gets promoted. The $0 in TIME_TO_GO_CHAT represents the time the player has left until he gets promoted.

    v2.4 or later:
    The Localization supports the standard Minecraft color codes as well as the following variables:
    * {player} outputs the player name
    * Temporarily removed: {timeleft} outputs the time left until promotion



    Downloads:

    Newest:
    Multi-Permissions Version:
    <Edit by Moderator: Redacted bit url>

    Modules (for v3.x):
    * ModuleTimedPromotion


    Show Spoiler
    Version 2.5.2:
    Multi-Permissions Version:
    Download | Source
    CraftBukkit 1240+:
    Permissions Version:
    Download | Source
    PermissionsEx Version:
    Download | Source
    Superperms/PermissionsBukkit Version:
    Download | Source


    Older:
    Permissions Version:
    Download | Source
    PermissionsEx Version:
    Download | Source
    Superperms/PermissionsBukkit Version:
    Download | Source
    GroupManager Version:
    Download | Source



    TODO:
    * Localization Files
    * Timed Promotion
    * Your requested features

    Feel free to suggest new features, or send in bug reports.


    Servers that use this plugin (feel free to post you server in the thread so i can add it):
    * www.OreCraft.org
    * www.Pr3datorCraft.com
    * www.coolioserver.net
    * roycraft.zapto.org
    * www.minecraft-spielplatz.de
    * www.famousserver.de
    * heroiccraft.com
    * lemoncraft.com
    * www.NeroCraft.com
    * zeoldcraft.com

    Changelog:

    Version 3.1.2
    * Final fix for localizations (haha, saying that since 4 versions)

    Version 3.1.1b
    * Minor fix for localizations (again >.<)

    Version 3.1.1a
    * Minor fix for localizations
    * Fix for join messages

    Version 3.1.1
    * Minor fix for localizations

    Version 3.1
    * Localizations now work
    * Added command to see the time remaining until promotion
    * Added log file

    Version 3.0.3
    * Declared as public release
    * Added save files for ModuleTimedPromotion
    * Added option to hide password in chat

    Version 3.0.1 beta
    * Added generated group defaults.
    * Added error message when no groups are present (to prevent that ugly NullPointer)

    Version 3.0 beta
    * Revisited the code, rewrote the main class from scratch
    * Modular version of the plugin.
    * Save of time for promotion not implemented yet
    * Relatively stable, but please give me feedback on any bugs.


    Show Spoiler
    Version 2.5.2
    * GroupManager now supports per world promotion.

    Version 2.5.1
    * Added bPermissions support.

    Version 2.5
    * Temporarily removed the {timeleft} and {togroup} localization vars due to bugs
    * Added per world group support (doesn't work with PermissionsBukkit or GroupManager)
    * Added debug mode to give more information on errors

    Version 2.4.2-2.4.4
    * Serveral small technical fixes. Check the BukkitDev page for more information.

    Version 2.4.1
    * Added Configuration reload command

    Version 2.4
    * Redid the localization variable system. More info in the Localization section.

    Version 2.3

    * Added thread restart command to debug the plugin
    * Added message with time until promotion when a player chats with chatblock and timedPromotion enabled

    Version 2.2

    * Added timed promotion

    Version 2.1

    * Added Localization
    * FIX: 2 Checks on command execution were missing

    Version 2.0

    * Updated for CB1597 (1.0.1-R1)
    * Complete Revamp of the plugin, removed serveral unnessessary features and completely rewrote the code to make it more extendable
    * Multi-Permissions Version for all common permission plugins



    Show Spoiler
    Version 1.5
    * Updated for CraftBukkit 1337
    * Combined all single version to one jar (without GroupManager by now)

    Version 1.4


    * Added GroupManager support
    * Added an option to promote users after a certain time (doesn't work with Doublegroups)

    Version 1.3


    * Added Support for multiple group promoting (depending on the entered password)

    Version 1.2


    * Added localization files
    * Added option for custom command (you have to delete the old config to get the new option)

    Version 1.1.1


    * Fixed a code mistake, that made the chatblockenabled option useless (only Permissions and Superperms Version)
    * Wrote permission node down in the plugin.yml

    Version 1.1


    * Adding PermissionsEx Support
    * Changing to check per Permission node (fix for the problems with Bukkit #1091+)

    Version 1.0


    * Releasing ThumbsApply
     
    Last edited by a moderator: Feb 21, 2017
  2. Offline

    TOdkommt

    sorry i was inactive for quite a while, due to personal reasons. i'll do a revamp of the plugin, so it should be updated and working again soon.

    i completely revamped the plugin to make the code more extendable and i removed serveral useless features. some features are not implemented yet, the functionality is the same as in v1.0.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
    WoAyumi likes this.
  3. How about a MySql function.
    If a User registers on the webiste, he will be written in the list of promoted users and can play.
     
    chrisgun likes this.
  4. Offline

    TOdkommt

    you could realise this way easier by using JSONAPI =)

    unfortunately i dont know anything about json (which is obviously the language JSONAPI works in), so i can't unfortunately :p i just upped a timed promotion version of the plugin =) i changed it tho, it no longer saves the time until promotion on the hard drive, so on server restart or plugin reload the time starts again (the old way is way more complicated to do and often throws errors at you).

    $0 and $1 aren't working for GUEST_CHAT because this message doesn't insert any variables =)

    the message shown when you /apply is TIME_LEFT, which only accepts one argument ($0 for the time).

    and the typo is fixed =)

    the variables in the messages are a bit complicated, may be changing them some day :p

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  5. i get an error when i try to change the timer to true, i just change it to true and i get the error, but when i set it to false, it work with the password, plz help =S

    This happen when i reload the server: http://pastie.org/3039092

    and this when i send the command /apply: http://pastie.org/3039081

    this also happen with PermisionEx , this is freaking me out....

    EDIT: This happen when i reload my server plugins, it work but after reload poof...it dun work anymore and i get these errors...
     
  6. Offline

    TOdkommt

    hmm i have no idea how to fix this. seems to be a problem with bukkit.
     
  7. Offline

    JohnPulse

    Hello,

    First of all, thanks you for your time spent doing this awesome plugin. It's just what I needed for my server.

    I got this error on the console when a user was "time promoted".
    Can I do or should do something about it?

    Code:
    17:12:17 [INFO] Player Nickname is now in Constructor.
    17:12:17 [SEVERE] Exception in thread "Thread-6"
    17:12:17 [SEVERE] java.util.ConcurrentModificationException
    17:12:17 [SEVERE]       at java.util.HashMap$HashIterator.nextEntry(Unknown Sour
    ce)
    17:12:17 [SEVERE]       at java.util.HashMap$EntryIterator.next(Unknown Source)
    17:12:17 [SEVERE]       at java.util.HashMap$EntryIterator.next(Unknown Source)
    17:12:17 [SEVERE]       at me.Todkommt.ThumbsApply.ThumbsApply.update(ThumbsAppl
    y.java:102)
    17:12:17 [SEVERE]       at me.Todkommt.ThumbsApply.utils.PromotionTimer.run(Prom
    otionTimer.java:17)
    17:12:17 [SEVERE]       at java.lang.Thread.run(Unknown Source)
    Regards,
    John
     
  8. Offline

    TOdkommt

    hmm strange. have to check that. but the only two things that could stop it from working are a bugged out isOnline check or a crashed timer thread (which would stop it for everyone).

    edit: i posted the code for the timer part, so you can see not much can get wrong there =) pretty short.

    the code the thread does:
    Code:
    while(true)
            {
                plugin.update();
                try {
                    Thread.sleep(ThumbsApply.delay);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
    only has an infinite loop which always uses the update function and then pauses the thread for x seconds (the tickDelay option in the config).

    the code the plugin does on that update function:
    Code:
    Iterator<Entry<Player, Integer>> iterator = timeToPromote.entrySet().iterator();
            while(iterator.hasNext())
            {
                Map.Entry<Player, Integer> entry = (Map.Entry<Player, Integer>)iterator.next();
                if(entry.getKey().isOnline())
                {
                timeToPromote.put(entry.getKey(), entry.getValue()-1);
                }
                if(timeToPromote.get(entry.getKey()) <= 0)
                {
                    getPermissionsHandler().setGroup(entry.getKey(), getConfig().getString("options.promoteTo"));
                    timeToPromote.remove(entry.getKey());
                    Messaging.send(entry.getKey(), Phrase.SUCCESS.parse());
                }
            }
    that part looks bigger but the only thing it does is go through every entry in my hashmap (which assigns a certain key to a certain value), decreasing the time to promote by one. then it checks if the player's time to promote is below or equal to 0, if it is it sets the group, removes the user from the hashmap and sends him a message.

    no it cant, i will implement a command later to restart the timer thread.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  9. TOdkommt if u can fix the problems with the timer ur gonna save my life, i set the timer at default (30 mins) and ppl dont promote after that time, the timer just reset...i dont know what to do, im thinking like adding Stats and Achievements and add one achievement with the password after 1 hour, at that way the new users will be able to promote if they are enought smart for paying attention to the achievement...but if ur able to fix this stuff i dont have to do that =/
     
  10. Offline

    KingFlowy

    @TOdkommt

    Ich sehe du bist deutscher also frage ich auf deutsch. ;D
    Mir gefällt dein Plugin sehr! Benutze es selber.
    Aber wäre es vielleicht sogar möglich eine art "Frage - Antwort Spiel" nach dem "Wer wird Millionär" Stil (Antwort A,B,C,D) einzufügen?!
    Also das Gäste auf den Server kommen.
    Gemutet sind und ein Quiz was fragen über die Regeln enthält beantworten müssen.
    Haben sie eine bestimmte Anzahl richtig beantwortet werden sie freigeschaltet.
    Würde sowas gehen?!
    MFG
    Flowy
     
  11. Offline

    aidancbrady

    great plugin, but it repeats over and over. Maybe it could terminate after the first promotion?
     
  12. Offline

    TOdkommt

    it should only promote the people once. maybe you havent set the permission ThumbsApply.NotGuest to your users?

    i couldnt update this for a while, because i had to finish my other plugin for my server very quickly. i have now added a fix as well as a suggested feature (see changelog).

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  13. Offline

    MetalMadness

    Any idea what this is?
    Also internal error in game when using /apply password
     
  14. Offline

    TOdkommt

    Yeah, kinda messed up right there... I accidently implemented some work in progress methods into the release version >.< Correct version is up in this Thread now, and should be on BukkitDev soon.

    Leider muss ich dich da enttäuschen, das würde über die eigentliche Funktionalität vom Plugin hinausgehen. Es würde außerdem vorallem die Config extrem vergrößern. Ich werde aber vermutlich in naher Zukunft eine art "Plugin fürs Plugin" System einbauen, sodass ich solche Sachen als optionale Zusatzfeatures anbieten kann.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  15. Offline

    MetalMadness

    Works now, but I have one issue.

    I am using it with permissionsex, and i use the /pex promote (user) , or even with changing their rank in the permissions.yml. If they change rank, they will be forced to re-enter the password, and it will demote them to the member rank (rank that the password goes to).

    Also, can I use the password and the timer for two different ranks? like password goes from guest to member, and timer goes from member to builder? thanks.

    ok the /pex promote things only happened twice, but the modifying permissions makes it lower
     
  16. Offline

    TOdkommt

    Does every group have the ThumbsApply.NotGuest permission node? I'm using it on my server and I had problems with permission nodes not counting for child groups. I had to give every single group the permission node, not only the parent group.
     
  17. Offline

    MetalMadness

    Ok il give it a shot. I thought it was only the group promoting to that has the node

    Flawless. Thanks for the great plugin

    Feature suggestion. Multiple groups? Like 2 groups use passwords and 2 use time?
    Don't rush on it though, I can wait :D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  18. Offline

    K_Cin

    I had the same error as MetalMadness, to fix it you will have to set timedPromotion to false.
     
  19. Offline

    aidancbrady

    Ah hah! Just got it sorted out. Set up a password in order to get promoted. Feel free to add me to a "Servers who use this plugin" page! www.OreCraft.org
     
  20. Offline

    Mrchasez

    Does time count, If the player is offline?
     
  21. Offline

    TOdkommt

    nope
     
  22. Offline

    javoris767

    I have a suggestion: A command to reload the config file :3?
    Edit: @TOdkommt , add me to the 'servers that use this plugin" :) www.Pr3datorCraft.com
     
  23. Offline

    TOdkommt

    that was very easy to implement, new version is up already =)
     
  24. Offline

    theflame1901

    Need help! I don't really know why..but the plugin won't work! I'm using 1.0.1 though
     
  25. Offline

    TOdkommt

    what exactly doesnt work? do you get errors? please post them.
     
  26. Offline

    theflame1901

    umm srry about that post what i meant was I keep getting this ' Could not pass event to PLAYER_JOIN ' thing
     
  27. Offline

    Pomme72

    Please help, I just installed this awesome plugin but when I try any command like /apply {password} or anything else, I have a : An internal error occured while attempting to perform this command.

    My console :


    Code:
    13:42:18 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'appl
    y' in plugin ThumbsApply v2.4
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:16
    5)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:3
    78)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.
    java:757)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java
    :180)
    at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java
    :550)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    Caused by: java.util.regex.PatternSyntaxException: Illegal repetition
    {player}
    at java.util.regex.Pattern.error(Pattern.java:1713)
    at java.util.regex.Pattern.closure(Pattern.java:2775)
    at java.util.regex.Pattern.sequence(Pattern.java:1889)
    at java.util.regex.Pattern.expr(Pattern.java:1752)
    at java.util.regex.Pattern.compile(Pattern.java:1460)
    at java.util.regex.Pattern.<init>(Pattern.java:1133)
    at java.util.regex.Pattern.compile(Pattern.java:823)
    at java.lang.String.replaceAll(String.java:2189)
    at me.Todkommt.ThumbsApply.Messaging.send(Messaging.java:33)
    at me.Todkommt.ThumbsApply.ThumbsApply.onCommand(ThumbsApply.java:167)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 14 more


    Here is my config.yml :

    Code:
    options:
      promoteTo: Voyageur
      password: Eludia
      chatBlockEnabled: false
      joinMessageEnabled: true
      timedPromotion: false
      timeToPromote: 30
      tickDelay: 60000
    
    I didn't touch to the localization file.

    Please help ! :(
     
  28. Offline

    KingFlowy

    Das Plugin spinnt bei mir habe ich gemerkt...
    Die User werden erfolgreich zu den Gruppen hinzugefügt allerdings können sie immer wieder neu das Quiz beantworten. Also es wird nicht als beantwortet "markiert"...
     
  29. Offline

    dreadiscool

    @TOdkommt

    My server also uses this. IP: coolioserver.net
    great plugin btw
     
  30. Offline

    TOdkommt

    an error would be nice =)

    thats an error i didnt know about, should be fixed in the newest version =)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  31. Offline

    Pomme72

    Okay thanks, when'll be this new version out ? :)
     

Share This Page