PlayerVIP
PlayerVIP
PlayerVIP is a new VIP-Plugin to promote Members to VIPs (or Premiums). The Difference to all other VIP-Plugins: The VIP code allows your players for a certain time to be VIP. If the time expires, the players returned to the Member Rank. You can also create with this Plugin an instant Payment System for your Server to sell VIP-Codes. But notice: Every VIP-Code can used only one time.
Requirements
- LordLib
- Java 7
- Vault (optional but recommend)
Installation
- Download the Plugin
- Download LordLib
- Put both jar Files into your plugins Folder
- Start your Server (at First Startup there will be an Error. This is normal, because you dont already configured this Plugin)
- Configure PlayerVIP
- (Optional) Configure LordLib
- restart or reload PlayerVIP or the Server
- Its ready to use
Development Builds
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
There are no support, if you are using Development Builds. They can not work correctly or can crash your PlayerVIP-Plugin and/or the used Database
Supported Languages
- English (en)
- German (de)
- Spanish (es) - Thanks to Airos18
You created a language File for another language? You can send it to me and i will implement it into my Plugin with credits to you
ErrorLogger
The ErrorLogger is a new Feature since PlayerVIP 3.0.0-b57. This will log all your Activities with this Plugin (only with this Plugin) for a short time.
If there will be thrown an Error: The ErrorLogger will notice this in the most case and write the informations into the plugins/PlayerVIP/error.log.
You can disable the ErrorLogger in your config.yml File. Also you can allow the ErrorLogger to auto upload the error.log file to my Server (lordsill.de) to allow me to fix these errors (Auto Upload is disabled by default. This can be enabled in plugins/LordLib/config.yml)
To help me to fix errors, its recommend to send me the error.log file (you can do this also manually by copy the content and paste it into the Ticket Section)
Updater
This Plugin can connect to curseforge.com to check for newer Versions. This Plugin can only check for a newer Version and its not able to auto-download them. You can enable/disable this feature in the config.yml (EnableFeatures -> Updater: true (enable) or false (disable)).
YouTube
Tutorial - Creating PlayerVIP Addons (English) by LordPlays
Tutorial - PlayerVIP Addons erstellen (German) by LordPlays
German by LordPlays (Version: 3.0.1-b67)
English by LordPlays (Version: 3.0.1-b64)
Spanish by Yan Francisco Perez (Version: 2.2.2)
German by LordDead24 (Version: 2.1.0)
Thai by ShakeStudio (Version: 1.5.1)
Payment Implementation
Paypal German by LordPlays
Update
Version 3.2.0 (Release-Date: Unknown)
- Fast VIPSync (sync in less than 1 second of all your servers, less ressources than SyncType 1)
- Better /vip list (search for special Groups)
- Option to change from UUID to internal PlayerID (this will cause no problems with onlinemode=false)
- Fix problem with CheckType=1, PlayerJoinCheck for multiple groups
- Command to start a VIP-Check
Unknown Versions:
- Update Payment Page - Add support for Paysafecard (not sure currently)
- Website to handle VIP (grant, purge, show Status of VIP from all Players) [Optional, you dont need to join your server to set VIP]
Metrics
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
Opting out of this service can be done by editing plugins/PluginMetrics/config.yml and changing opt-out to true.
@MegaLostLP
PlayerVIP kann keine Spielernamen mehr verwenden. Denn sobald es möglich ist, den Benutzernamen zu ändern, wird es sonst zu großen Problemen kommen, womit es nur noch möglich ist, mit UUID zu arbeiten. (Zudem würden einige Sachen dann auch fehlen, da Bukkit diese in Zukunft entfernen wird und nur noch für die UUID anbietet)
Daher kann ich hier wenig machen. Das einzige was gemacht werden muss ist, dass Bungeecord die UUID an die Server weitergibt und diese nicht neue anlegen
Das Problem liegt an der 1.7.9 und den UUID´s. Wir benutzen Bungeecord und da müssen die einzelnen Server im Offline-Mode laufen. Lediglich der Bungee läuft im Online-Mode. Das führt dazu, dass man auf jedem Server eine andere UUID hat.
Ist es möglich, dass PlayerVIP nicht die UUID nimmt, sondern den Spieler-Namen?
Auf der Lobby ist das meine UUID: 7bdeced5-117f-436b-8ed4-4092b44dcd04
Und auf dem SG Server die: f13ebc6c-f8c0-3eee-bd76-7ea5c9f795d3
@MegaLostLP
Das liegt an den Rewards. Die Rewards kannst du in der reward.yml bearbeiten
@MegaLostLP
Den Fehler kannst du erstmal ignorieren. Den kann ich sowieso gerad nicht fixxen, da der Code auf nem anderen PC liegt, an den ich erst am Dienstag wieder ran komme. (Zudem der Error nicht von PlayerVIP sondern von der LordLib ist)
Und Type 2 geht auch nicht:
[12:38:28 INFO]: UUID of player SaroxDE is 7bdeced5-117f-436b-8ed4-4092b44dcd04 [12:38:29 WARN]: java.sql.SQLException: [SQLITE_BUSY] The database file is locked (database is locked) [12:38:29 WARN]: at org.sqlite.DB.newSQLException(DB.java:383) [12:38:29 WARN]: at org.sqlite.DB.newSQLException(DB.java:387) [12:38:29 WARN]: at org.sqlite.DB.throwex(DB.java:374) [12:38:29 WARN]: at org.sqlite.NativeDB.prepare(Native Method) [12:38:29 WARN]: at org.sqlite.DB.prepare(DB.java:123) [12:38:29 WARN]: at org.sqlite.Stmt.execute(Stmt.java:113) [12:38:29 WARN]: at lib.lordsill.sql.SQLite.query(SQLite.java:101) [12:38:29 WARN]: at lib.lordsill.util.UUIDManager.updateDatabase(UUIDManager.java:49) [12:38:29 WARN]: at de.lordsill.listener.joinListener.onPlayerJoin(joinListener.java:14) [12:38:29 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [12:38:29 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [12:38:29 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [12:38:29 WARN]: at java.lang.reflect.Method.invoke(Method.java:606) [12:38:29 WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) [12:38:29 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [12:38:29 WARN]: at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [12:38:29 WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [12:38:29 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.PlayerList.c(PlayerList.java:251) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.PlayerList.a(PlayerList.java:138) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.LoginListener.c(LoginListener.java:105) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.LoginListener.a(LoginListener.java:43) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:179) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.ServerConnection.c(ServerConnection.java:77) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:713) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:283) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:576) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:482) [12:38:29 WARN]: at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628)
Ohh, und ich bekomme Dreck, Und Steine ins Inventar wenn ich VIP bin
@MegaLostLP
Dann verwende VIPSyncType 2 oder 3 (1 ist sowieso schon deprecated und in den nächsten Versionen nicht mehr da und wird später durch 4 ausgetauscht (4 existiert noch nicht))
Das Plugin geht immer noch nicht.
[12:14:34 WARN]: Exception in thread "Craft Scheduler Thread - 14" [12:14:34 WARN]: org.apache.commons.lang.UnhandledException: Plugin PlayerVIP v3.1.0-b96 generated an exception while executing task 2510 at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:481) at java.lang.Integer.parseInt(Integer.java:527) at de.lordsill.playervip.PlayerVIPManager.syncPlayers(PlayerVIPManager.java:904) at de.lordsill.playervip.PlayerVIPMain$1.run(PlayerVIPMain.java:245) at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftTask.run(CraftTask.java:58) at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) ... 3 more
Und hier noch ein Error:
[12:13:52] [User Authenticator #12/INFO]: UUID of player SaroxDE is 7bdeced5-117f-436b-8ed4-4092b44dcd04 [12:13:53] [Server thread/WARN]: java.sql.SQLException: cannot commit transaction - SQL statements in progress [12:13:53] [Server thread/WARN]: at org.sqlite.DB.throwex(DB.java:370) [12:13:53] [Server thread/WARN]: at org.sqlite.DB.ensureAutoCommit(DB.java:435) [12:13:53] [Server thread/WARN]: at org.sqlite.DB.execute(DB.java:332) [12:13:53] [Server thread/WARN]: at org.sqlite.Stmt.exec(Stmt.java:65) [12:13:53] [Server thread/WARN]: at org.sqlite.Stmt.execute(Stmt.java:114) [12:13:53] [Server thread/WARN]: at lib.lordsill.sql.SQLite.query(SQLite.java:101) [12:13:53] [Server thread/WARN]: at lib.lordsill.util.UUIDManager.updateDatabase(UUIDManager.java:52) [12:13:53] [Server thread/WARN]: at de.lordsill.listener.joinListener.onPlayerJoin(joinListener.java:14) [12:13:53] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [12:13:53] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [12:13:53] [Server thread/WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [12:13:53] [Server thread/WARN]: at java.lang.reflect.Method.invoke(Method.java:606) [12:13:53] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) [12:13:53] [Server thread/WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [12:13:53] [Server thread/WARN]: at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [12:13:53] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [12:13:53] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.PlayerList.c(PlayerList.java:251) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.PlayerList.a(PlayerList.java:138) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.LoginListener.c(LoginListener.java:105) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.LoginListener.a(LoginListener.java:43) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:179) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.ServerConnection.c(ServerConnection.java:77) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:713) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:283) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:576) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:482) [12:13:53] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628)
@MegaLostLP
Bin noch dabei, meinen BuildServer mit meinem DownloadServer zu verbinden...
Danach kann man solche Builds dann auch über den DownloadServer laden
Bitte, oder poste hier einen Link zu Mediafire etc.
Könntest du mir die Version bitte bitte auf Skype schicken? Ich brauche die so mega dringend und Bukkit zeigt ja mal wieder wie schnell das alles geht. Bitte. Meine Skype ID: MineTake.net
@MegaLostLP
Das liegt daran, dass ich b94 entfernt habe. b97 (mit dem Fix) wartet noch auf die Freischaltung.
Daher das PlayerVIP bei dir nun b94 an curse sendet, und b94 nicht b76 ist, wird eine "neuere" Version gefunden (Es ist an sich nicht üblich, dass Versionen wieder aus curse verschwinden, daher die Meldung)
Ist die neue Version schon oben? Mir wird InGame angezeigt dass eine neue Version oben ist.
ok, dann warte ich mal auf den gefixen Release :D
GÄHHHN Bukkit
@MegaLostLP
Ja, der Fehler ist dann behoben.
Nein, der Spieler muss dazu nicht auf allen Servern gewesen sein. (Er muss aber zumindest auf dem Server gewesen sein, wo du die VIP Befehle verwendest (z.b. /vip addvip, /vip setvip))
Ok, also ist der Fehler gefixt?
Und muss der Spieler auf auf JEDEM der Unterserver gewesen sein? Also nicht nur auf der Lobby sondern auch auf SG1 SG2 SG3
etc. ?
@MegaLostLP
Fix hochgeladen. Einfach warten, bis Dev.Bukkit es freigeschalten hat, dann sollte es gehen
@MegaLostLP
Nein, aber der Spieler sollte zumindest 1x schonmal auf dem Server gewesen sein.
Spieler die noch nie auf dem Server waren, können nicht gemoved werden
Und, muss ein Spieler online sein, damit er in eine Gruppe gemovt werden kann?
Und das mit dem VIP Sync. geht nicht. Wenn ich jemanden auf der Lobby zum VIP mache, wird er aber auf dem SG Server nicht zum VIP, obwohl da auch das PL drauf ist.
Habe die richtigen MysQl Daten eingetragen, aber es kommt der Error:
[19:25:16] [Server thread/INFO]: [LordLib] Enabling LordLib v1.2.0-b21 [19:25:16] [Server thread/INFO]: [LordLib] Library loaded successfully... [19:25:16] [Server thread/INFO]: [PlayerVIP] Enabling PlayerVIP v3.1.0-b94 [19:25:16] [Server thread/INFO]: [PlayerVIP] CHECK LordLib Version.... [19:25:16] [Server thread/INFO]: [PlayerVIP] LordLib CHECK: OK [19:25:16] [Server thread/INFO]: [PlayerVIP] Hooked Permissions Plugin: PermissionsEx [19:25:16] [Server thread/INFO]: [PlayerVIP] Hooked Economy Plugin: No supported Economy Plugin found [19:25:16] [Server thread/INFO]: [PlayerVIP] Using Language: de by lordsill [19:25:16] [Server thread/WARN]: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group VARCHAR(25) NOT NULL, action VARCHAR(6) NOT NULL, PRIMARY KEY(id))' at line 1 [19:25:16] [Server thread/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [19:25:16] [Server thread/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [19:25:16] [Server thread/WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [19:25:16] [Server thread/WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:382) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779) [19:25:16] [Server thread/WARN]: at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622) [19:25:16] [Server thread/WARN]: at lib.lordsill.sql.MySQL.query(MySQL.java:110) [19:25:16] [Server thread/WARN]: at lib.lordsill.sql.Database.query(Database.java:111) [19:25:16] [Server thread/WARN]: at de.lordsill.playervip.PlayerVIPMain.createTables(PlayerVIPMain.java:127) [19:25:16] [Server thread/WARN]: at de.lordsill.playervip.PlayerVIPMain.onEnable(PlayerVIPMain.java:41) [19:25:16] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) [19:25:16] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:324) [19:25:16] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [19:25:16] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R3.CraftServer.loadPlugin(CraftServer.java:469) [19:25:16] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R3.CraftServer.enablePlugins(CraftServer.java:387) [19:25:16] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.n(MinecraftServer.java:359) [19:25:16] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.g(MinecraftServer.java:333) [19:25:16] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.a(MinecraftServer.java:289) [19:25:16] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.DedicatedServer.init(DedicatedServer.java:193) [19:25:16] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:450) [19:25:16] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628)
@MegaLostLP
ich denke schon, da ich mit dem update schon fast fertig bin.
Ob es dann aber diese Woche auch zum Download steht, hängt aber auch davon ab, wielange devbukkit für die Freischaltung benötigt (sowas kann gerne einige Tage dauern)
Kommt der Release noch diese Woche?