PlayerPoints
PlayerPoints - The most noble currency for your server.
Use examples:
- Admins and Mods give points to the players if they have built a good building. When you reach a specific amount of points you become Moderator
- Use Points as additional currency
- Use Points as premium currency with which players can buy the most awesome stuff. Players get Points by voting for your server.
- Connect PlayerPoints with useful plugins like BossShop
For online mode servers, this plugin makes connections to api.mojang.com to get offline player UUIDs.
Features:
- Give points to players
- Take points of players
- Pay points to players
- Look, how many points other players have
- Look, how many points you have
- Leader board
- Permissions Support
- Optional Vault support
- Buy things with points (BossShop)
- Supported by many awesome plugins
Commands:
- /points pay <name> <amount>
- /points give <name> <amount>
- /points take <name> <amount>
- /points set <name> <amount>
- /points reset <name>
- /points look <name>
- /points me
- /points lead [next/prev/#]
- Shortcut: /p <give/take/look/me/pay/set/reset>
Permissions:
- PlayerPoints.pay
- PlayerPoints.give
- PlayerPoints.take
- PlayerPoints.set
- PlayerPoints.reset
- PlayerPoints.look
- PlayerPoints.lead
- PlayerPoints.me
Video
ToDo:
- Per-World support
Maven
We support Maven. Just add our repository:
<repository> <id>dakani</id> <name>Dakani Nexus Repo</name> <url>https://repo.dakanilabs.com/repository/public</url> </repository>
And add PlayerPoints as a dependency:
<dependency> <groupId>org.black_ixx</groupId> <artifactId>PlayerPoints</artifactId> <version>2.1.3</version> </dependency>
Trello Dev board
Visit the Trello board to see the current todo list for all projects.
You can comment and vote on any of the topics there.
All changes on the Trello board are in real-time.
-
View User Profile
-
Send Message
Posted Jun 20, 2014The plugin won't create a table in the mysql database. My config has the correct details.
-
View User Profile
-
Send Message
Posted Jun 20, 2014@Mitsugaru
I tested build #58. So far, so good!
-
View User Profile
-
Send Message
Posted Jun 20, 2014@Mitsugaru
I see, thanks for your work. I will test this version. If I may ask, what does offline UUID lookup do for the server, and what is the purpose of it? Thanks for your time!
-
View User Profile
-
Send Message
Posted Jun 20, 2014@Kittiekatkimmie
Hence why you need to create aliases to the commands you want to use to what the plugin's original commands are. The localization.yml only changes what the plugin says, not what it does.
-
View User Profile
-
Send Message
Posted Jun 20, 2014@bloxParadise_
This conflicts with the info you've given me. If none of the UUID versions worked for you, from 2.0.0 and up, then I need to look elsewhere in my code. What your most recent debug statement is telling me is that how I'm translating UUID in the most recent version, 2.1.2, creates a deadlock for your server.
So, either A) only 2.1.2 and up is causing you issues or B) 2.0.0 - 2.1.1 is causing the same issues you've encountered so far. This matters in helping me pinpoint what I need to change in order to make a proper fix for you.
@bloxParadise_
You're right, its not efficient. At worst, it iterates through all known offline players that have visited the server once. And looking at the recent debug statement, it has to iterate through 16300 player data objects to match a name to a UUID. Needless to say, that's way beyond what I was expecting.
That specific part of the translation code was meant as a "faster", offline alternative to using the following code
This method is deprecated and uses network resources to hit the Mojang servers to resolve the name to a UUID... which apparently we're not supposed to do? I honestly don't know. UUID is still relatively new and as far as I know people are just doing whatever they can to use it. To be honest, when they remove that method (they say for 1.8 or 1.9 or whatever, last I heard), I'm not entirely sure what I'm going to do. Name -> UUID is important for resolving name based commands. I may end up adding some 3rd party library when the method is removed, to keep the functionality that I need.
The reason I recently added that section was, in theory it would be faster to iterate only through the known players that have visited the server before attempting an online api lookup. Clearly that isn't the case for you.
The problem is there doesn't seem to be a good, fast offline solution, now that I know I can't simply iterate through offline players. There are ways that I could implement it faster, but none seem all that great:
So, here's the deal. I've added a config setting to disable the offending section of the method. Go and disable uuid.offlineLookup in Build #58. Tell me how that works out for you. If it works, I may end up completely removing it in the next version.
-
View User Profile
-
Send Message
Posted Jun 20, 2014@Mitsugaru
I changed everywhere it said 'points' in the files and it still needs the word points in the commands.
-
View User Profile
-
Send Message
Posted Jun 20, 2014The way your plugin does this might be the issue here. It is VERY laggy.
points give bloxParadise_ 3
[16:22:23 INFO]: [PlayerPoints] translateNameToUUID(bloxParadise_) [16:22:23 INFO]: [PlayerPoints] translateNameToUUID() - Looking through online players: 0 [16:22:23 INFO]: [PlayerPoints] translateNameToUUID() - Looking through offline players: 16300
Might not be very efficient.
-
View User Profile
-
Send Message
Posted Jun 20, 2014@Mitsugaru
Yes, the versions that don't support UUID work fine.
-
View User Profile
-
Send Message
Posted Jun 20, 2014@Kittiekatkimmie
Just edit the messages in localization.yml in the plugin config folder to your liking.
-
View User Profile
-
Send Message
Posted Jun 20, 2014@bloxParadise_
It stores UUID as its String equivalent. The issue you're experiencing is when the plugin attempts to translate a given player name into a UUID. Something with BungieCord must be messing with how Bukkit retrieves offline players? You said you tested it, did you have any debug output for me to look at?
Does PlayerPoints work in a previous version for you? Such as 2.0.0, 2.1.0, 2.1.1?
-
View User Profile
-
Send Message
Posted Jun 20, 2014@Mitsugaru
I tested build #57 on my server that is NOT connected to my BungeeCord network, and it worked perfectly fine. When I try it on my servers that are all on BungeeCord, the server just stops responding. Does this plugin not support BungeeCord & how it stores player uuids?
-
View User Profile
-
Send Message
Posted Jun 20, 2014@Mitsugaru
Sorry I misread that. So.. how can I do that..?
-
View User Profile
-
Send Message
Posted Jun 20, 2014@bloxParadise_
Ah, sorry, I made a typo in the debug message. Use Build #57.
-
View User Profile
-
Send Message
Posted Jun 19, 2014@Mitsugaru
I updated, and got this:
points set blox 5
[21:37:50 INFO]: [PlayerPoints] translateNameToUUID(blox) [21:37:50 INFO]: [PlayerPoints] translateNameToUUID() - Looking through online players: 2 [21:37:50 INFO]: [PlayerPoints] translateNameToUUID() - Looking through offline players: 2
-
View User Profile
-
Send Message
Posted Jun 19, 2014@bloxParadise_
No, you were using Build 53 considering I just pushed changes to make Build 54.
I have never used Bungee Cord personally, so, I've no idea how it affects Bukkit and / or plugins. I would like to think it wouldn't have any issues... but I can't say for sure without haven't tested it myself.
Maybe there are other server owners out there that use Bungee Cord and this plugin? I wouldn't know.
-
View User Profile
-
Send Message
Posted Jun 19, 2014@Mitsugaru
I was using build 54. Could it be because I'm in bungeecord?
-
View User Profile
-
Send Message
Posted Jun 19, 2014@bloxParadise_
It hasn't even reached the part of the code where it tries to save to your MySQL database. Something to do with translating name to UUID. Can you do the same thing with Build #54? Want to see exactly how many offline players its trying to iterate through.
-
View User Profile
-
Send Message
Posted Jun 19, 2014@Mitsugaru
I turned the messages on and this is what shows:
I ran /points set blox 5 [18:27:28 INFO]: [PlayerPoints] translateNameToUUID(blox) [18:27:28 INFO]: [PlayerPoints] translateNameToUUID() - Looking through online players [18:27:28 INFO]: [PlayerPoints] translateNameToUUID() - Looking through offline players
-
View User Profile
-
Send Message
Posted Jun 19, 2014@Kittiekatkimmie
I just said you should be able to do everything on your own by editing the localization.yml in the plugin's config folder. Can you try that first and let me know if there's any messages it does not handle that need to be added in?
-
View User Profile
-
Send Message
Posted Jun 19, 2014@Mitsugaru
Can you also let me know via email when you finish this please I would really truly appreciate it :) (kimmie47@centurylink.net)