Premium RestrictedCreative [Paid]

Discussion in 'Resource Discussion' started by Prunt, Jul 1, 2017.

  1. Is it possible to migrate from the sqlite to MySQL? Or do I have to just lose the database so far (not very many blocks yet so it's not a big deal)

    EDiT: Nevermind, seems like I have to just ditch what we have so far :) Good thing I did it now

    Also, our console is getting spammed with issues with the MySQL connection -- autoReconnect=true doesn't seem to be enabled? Would be great if that could be fixed!
     
    #501 mraureliusr, Nov 17, 2019
    Last edited: Nov 18, 2019
  2. My plugin doesn't support per-world permissions natively, but you can set per-world permissions in PEX. I can't guarantee it'll work without issues, but you can give it a shot.

    There isn't a built-in way to convert between SQLite and MySQL, but if you have a small database you can use an external tool to do that. "autoReconnect" is set to true, so this shouldn't be the cause. Could you double-check your MySQL server for any connection issues and send me the error stacktrace?
     
    #502 Prunt, Nov 18, 2019
    Last edited: Nov 18, 2019
  3. Unfortunately I don't have control over the mariadb settings directly, but I think the connection timeout is set fairly low.
    This is with 2.3.5, when I first posted we were getting the same error with 2.3.1

    Code (Text):
    [Tue, 19. Nov 2019 11:49:36 CET ERROR] Could not execute SQL statement:
    [Tue, 19. Nov 2019 11:49:36 CET WARN] com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 1,037,623 milliseconds ago.  The last packet sent successfully to the server was 1,037,623 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at sun.reflect.GeneratedConstructorAccessor106.newInstance(Unknown Source)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3751)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2512)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2011)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at me.prunt.restrictedcreative.storage.Database.executeQuery(Database.java:205)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at me.prunt.restrictedcreative.utils.Utils.loadInventory(Utils.java:717)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at me.prunt.restrictedcreative.listeners.PlayerMiscListener.onPlayerJoin(PlayerMiscListener.java:221)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor402.execute(Unknown Source)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.PlayerList.a(PlayerList.java:191)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at protocolsupport.zplatform.impl.spigot.network.handler.SpigotLoginListenerPlay.joinGame(SpigotLoginListenerPlay.java:138)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at protocolsupport.protocol.packet.handler.AbstractLoginListenerPlay.tryJoin(AbstractLoginListenerPlay.java:124)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at protocolsupport.protocol.packet.handler.AbstractLoginListenerPlay.tick(AbstractLoginListenerPlay.java:86)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at protocolsupport.zplatform.network.NetworkManagerWrapper$1.run(NetworkManagerWrapper.java:32)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1171)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:417)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1098)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:925)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at java.lang.Thread.run(Thread.java:748)
    [Tue, 19. Nov 2019 11:49:36 CET WARN] Caused by: java.net.SocketException: Connection reset
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:115)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3733)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     ... 25 more
    [Tue, 19. Nov 2019 11:49:36 CET ERROR] Database error:
    [Tue, 19. Nov 2019 11:49:36 CET WARN] java.lang.NullPointerException
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at me.prunt.restrictedcreative.utils.Utils.loadInventory(Utils.java:721)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at me.prunt.restrictedcreative.listeners.PlayerMiscListener.onPlayerJoin(PlayerMiscListener.java:221)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor402.execute(Unknown Source)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.PlayerList.a(PlayerList.java:191)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at protocolsupport.zplatform.impl.spigot.network.handler.SpigotLoginListenerPlay.joinGame(SpigotLoginListenerPlay.java:138)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at protocolsupport.protocol.packet.handler.AbstractLoginListenerPlay.tryJoin(AbstractLoginListenerPlay.java:124)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at protocolsupport.protocol.packet.handler.AbstractLoginListenerPlay.tick(AbstractLoginListenerPlay.java:86)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at protocolsupport.zplatform.network.NetworkManagerWrapper$1.run(NetworkManagerWrapper.java:32)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1171)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:417)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1098)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:925)
    [Tue, 19. Nov 2019 11:49:36 CET WARN]     at java.lang.Thread.run(Thread.java:748)
     
  4. paper spigot 1.14.4, worldedit last build.

    don’t work worldedit extended: true option in config. When i do //set, blocks drops, when breaking.
     
  5. Having a serious duping issue in regards to PlayerVaultsX. I have the command /PV blocked while in creative mode, but for some reason when you type /PV 1 or /PV 2 it says "Command blocked" but then says "Opening Playervault 1" without actually opening it, just saying the message. So why is this a problem? Because here's how you're able to dupe with this issue:

    1. they first open an empty player vault,
    2. do /gmc and type the empty PV while in GMC (Even if the command is blocked, it still somehow works),
    3. do /GMS and open another chest gui (Like /AuctionHouse and such),
    4. re-open the empty PV and it's filled with what other GUI they opened.

    Thank you so much, hopefully this issue can be resolved. Tons of people on my server have been duping so many items.
     
  6. Used it a ton and loved it for 1.14.4, does anyone know if this works for 1.15? If not is there progress on getting this updated to 1.15 or is the author inactive at the moment?
     
  7. Happy holidays and a wonderful new year to y'all!

    Sorry for being mysteriously missing for a while, I've been "busy"...

    Since I can't reproduce this, I'm afraid there's nothing I can do to help.

    I'll take a look and let you know.

    I suspect this is an issue with the PlayerVaultsX plugin. My plugin blocks the commands before they're actually executed. I'll make the blocking happen sooner, so hopefully it's blocked before it's sent to the PVX plugin. Wait for the next version.

    Why don't you give it a try and let us know? According to md_5, 1.14 plugins should work on 1.15 as well.
     
  8. Works great in 1.15.1 Paper.

    Be sure to add any/all new blocks (Bee Spawn Egg) in the configs for protection. A restart is needed to take effect.
     
    • Like Like x 1
  9. Can we stop players from opening enderchests and block commands? just like creativesecurity?!
     
  10. I'll do some testing and add official support for 1.15 with new items in the config soon.

    Yes, you can do that by disabling opening inventories and adding disabled commands in RegEx-format. You can do both in the config.
     
    • Winner Winner x 1
  11. Can I please make a suggestion? Would you be able to update the default configuration to include more blocks? I have config settings if you want me to upload it for you.

    Basically, all eggs, shulkers, tntminecarts, beacons, end crystals, oreblocks, and much more are not blocked by default. I think it would be beneficial to add a lot of these into the auto-generated config for easy drag and drop 100% solutions and users can take out what they do not need, instead of adding blocks as they find them being exploited. Just an idea. Thank you!
     
  12. Am keen to purchase once 1.15 support is confirmed. Also, does the MySQL support allow for prefixing table names?
     
  13. Purchased and tested on 1.15.2 (Paper #102). All the protection works great, but performance is awful when using AsyncWorldEdit (https://www.spigotmc.org/resources/asyncworldedit.327/). Appreciate that AWE (not to be confused with FAWE which is undergoing work before releasing a 1.15.x version) and 1.15 are not listed as compatible on this plugins page and that the use of bypass allows me to keep using this plugin without impeding performance. I have BlocksHub and CoreProtect installed (and running really fast). Here's the timings for reference: https://imgur.com/72Fuqo6
     
  14. Sounds great! Send them to me via PM.

    1.15 will be supported. Yes, you can set custom prefixes (or even the whole table names) in the config.

    I'll take a look and let you know.
     
    • Like Like x 2
  15. Besides many issues with broken DB and not-working extended worldedit, this plugin actually crushes the server, when a player in restricted creative mode (only restricted) places some specific block (for example, brown mushroom block and grass path) and the only way to manage with that is to deny placing these blocks on creative mode without bypass .-.
     

    Attached Files:

  16. I'm not aware of any issues with the database except the one @mraureliusr has (which I'm unable to reproduce), could you elaborate? Issues with WorldEdit will be fixed in the next update.

    Yes, there might be an issue with placing blocks that are supposed to be confiscated, but are placed anyway. To bypass that for now, you can remove the blocks you want to allow from the config under "confiscate.items.material" (which you should do anyway).
     
  17. Here is my config currently. Asking for feedback from any other users. This is a config that will block *hopefully* all exploitable blocks/items. If support is popular enough, would you like to see the default config generation include all these things?
     

    Attached Files:

  18. Actually, I thought about it again, and it raised some questions. What are those items that can be exploited and aren't they covered by the default config already? Take ores for example: if they're placed in creative mode, they cannot be mined for items or XP anyway, so why bother confiscating them?
     
    • Like Like x 1
  19. The problem is that server crashes when placing UNRESTRICTED blocks (grass_path as I already said) so I need to restrict them in config so they can’t be placed anymore
     
    • API: Please do not use the ItemStack class to hold Materials that are not items (Material.isItem() == false). This is nonsensical behaviour and will not be supported in a future version.