InventorySQL
![]() ![]() |
|
|---|
I n v e n t o r y S Q L
I n v e n t o r y S Q L
Player inventory saved into a Database
Features
Copy users' inventory in a configurable database, allowing it to be displayed on a website and use it for Server-to-Server Inventories
InventorySQL is designed to be as customizable as possible and Server Owners and Developers can choose how they'd like to save their data. Future versions will feature an automatic conversion tool.
Disclaimer
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/Plugin Metrics/config.yml and changing opt-out to true or turning enable-metrics to false in InventorySQLs Configuration.
Autoupdater
This Plugin uses Updater. It will automatically search for Updates. If you'd like to disable this feature you can turn it off in the Configuration by setting auto-update to false.
For Serverowners
- Addons
- Installation
- Configuration
- Localisation
- Frequently Asked Questions (FAQ)
- For Developers (API)
- Special Thanks
Permissions
InventorySQL.*: description: legacy-styled Permission for anything children: InventorySQL.reload: true InventorySQL.save.*: true InventorySQL.reload: description: Allows you to reload Language or Configuration default: op InventorySQL.save.*: description: legacy-styled Permission for anything related to saving children: InventorySQL.save.other: true InventorySQL.save.self: true InventorySQL.save.other: description: Allows you to save other players default: op InventorySQL.save.self: description: Allows you to save yourself default: true
InventorySQL.switch.self -> switching for yourself (No default yet) InventorySQL.switch.other -> switching for others (No default yet)
Commands
<Optional> [Required]
- /invSQL reload config : reloads config
- /invSQL reload language : reloads language file
- /invSQL save <player> : saves yourself or the given player
- /switch [server] <player> : moves yourself or the given player to the given Server
Links
License
Version 3.0 is now under the zlib/libpng License, Versions before 3.0 are still licensed under Apache License 2.0
Contact
You can find me in IRC: #invsql on irc.esper.net Please do not ask me for any Messenger just because you would like to be in my list.
If you like InventorySQL, please consider donating to the project via paypal, using the link on the top-right of the BukkitDev page :)



-
View User Profile
-
Send Message
Posted Oct 17, 2013@manfie
I downloaded the latest version posted on BukkitDev - should I grab source and compile locally?
I set up a bungee test instance, I added two servers alpha/beta then I attached them all to the same SQL database.
The below is what happened. Only plugins were cited in my previous post.
-
View User Profile
-
Send Message
Posted Oct 17, 2013@TakeruDavis
Uh sorry i didn't read that in time and we're off this night anyway so yeah.
@LordKainzo
InvSQL Version 3.3 will feature an API which will combine this with simple Parameters for Plugins etcpp. Just look im the source if you want to implement it for your PortPlugin.
This system is basically
I'll overlook your Problem in 2 days, but are you using latest Version? Autocreation should work actually
-
View User Profile
-
Send Message
Posted Oct 16, 2013@manfie
Do you mind going more in depth with what the switch command and does? We'll be using this in a very seamless RPG fashion - players wont know that they are changing servers when going from one map to the next, so a command wont very well work unless we can use said command from the console or another plugin. So the main thing now is how to send the player to the new server using the /switch cmd - seamlessly. Either a teleport commandblock or something similar? (Note the world names on these two different servers would NOT be the same)
I appreciate for the response just trying to introduce server to server inventory for my RPG server and I don't want to re-create what you've done here to do it properly
The below may have happened because I didn't set any tables up on the new database - odd that these arent auto created if thats true...
On initial testing.. not sure if this is related but I dont have many plugins in...
Vault / zperms / invSQL
http://pastie.org/private/t2gzvtaubpyodtrn3kq
and then when going to /server beta (from alpha)
http://pastie.org/private/qymowhpfoax78fo3un2liw
and this happened when i arrived to the beta server.
http://pastie.org/private/si0w0e9gkxtcgisiy2qw
When doing /invsql save Kainzo
http://pastie.org/private/jmo6ljxtu1xgzbqtrhbow
-
View User Profile
-
Send Message
Posted Oct 16, 2013@manfie
Synchronisation and Compressionhandler, hm... okay, I'll try to look into that. Hey, since you are Prague, wanna meet up? /)
-
View User Profile
-
Send Message
Posted Oct 16, 2013I'm goimg to release ender-chest support and an item transfer queue in next Version :)
@TakeruDavis
I think you should add a Synchronisation and Compressionhandler, because people can then choose their preferred Data Storage easily. Yep i'm im Prague :p
@LordKainzo
Since this is caused by Bungee just using Bukkit limts the possibilities. I released a switch command, which should be a workaround because the data will safed and then the player will be moved.
-
View User Profile
-
Send Message
Posted Oct 15, 2013@manfie
It seems that bungee servers are having issues with transferring inventory from server to server.
http://www.spigotmc.org/threads/bungeecord-and-inventorysql.4599/#post-60018 <<<
Is there a possibility to fix this syncing issue? we're looking for a solution for server to server inventory and this is a big issue.
-
View User Profile
-
Send Message
Posted Oct 14, 2013@manfie
Wait, you mean you will be in Prague? I am from Prague :D
@fearless2555
Okay, then we probably just modify it to newest data structure, if manfie changed it.
-I might actually get around compression by making standalone (un-)compressor from the one used in the plugin. PHP would then have to call it to get desired output.
(Its a theory, no promises)
Edit - Quick Update : I managed to extract JSON string from compressed data and re-compress it again. It is also fairly easy to understand the data, so I believe I could make scripts to change the data as well, if needed.
-
View User Profile
-
Send Message
Posted Oct 12, 2013@manfie
Thanks!
@TakeruDavis
Regarding a WebGUI, you guys probably already know this, but just in case you don't ThisIsAreku has one for versions 2.5.4 and before that can probably be modified for 3.3 https://github.com/ThisIsAreku/InventorySQL/tree/master/web
edit: nvm after tracing the code Areku didn't use compression at all.
-
View User Profile
-
Send Message
Posted Oct 12, 2013@TakeruDavis
Brilliant! Sure uncompression is possible and the next stable version will include those. If you are release your the WebGUI just lemme know :p For any problem feel free to send me a PM
1 week Prague tomorrow, but i will answer any private messages as fast as i can :p
-
View User Profile
-
Send Message
Posted Oct 12, 2013@crunkazcanbe
I wanted to view the data too (in PHP), but I had no luck in uncompressing it. From what I heard, Java might be using slightly different algoryrthm of GZip, hence my previous request for no compression option.
I might try to do some WebGUI...
-
View User Profile
-
Send Message
Posted Oct 12, 2013@fearless2555
Released a new Stable version and marked old Versions beeing DEV. Should fix your Exception and automatically create a Database now.
-
View User Profile
-
Send Message
Posted Oct 12, 2013@fearless2555
It is quiete annoying to repeat this regulary, but i'm not mad at all, so just take it for future issues ;)
@crunkazcanbe
None, that i'm aware of.
-
View User Profile
-
Send Message
Posted Oct 11, 2013is there a web gui for this
-
View User Profile
-
Send Message
Posted Oct 11, 2013@manfie
Oh, derp. Thanks for the help, will post issues in tickets in the future sorry.
-
View User Profile
-
Send Message
Posted Oct 11, 2013@fearless2555
You need to replace {DB} with your Database Name, but i will test 3.3 tomorrow and looking for a fix.#
AND: Report Issues in the Tickets and NOT in the Comments please!
-
View User Profile
-
Send Message
Posted Oct 11, 2013@TakeruDavis
Thanks for the tip, version 3.2 works for me on 1.6.4 but both the dev 3.3 and latest 3.3 builds are giving me that error.
I'm still getting that CREATE.sql error when I execute it though.
-
View User Profile
-
Send Message
Posted Oct 11, 2013@manfie
Awesome
@fearless2555
I got exactly that error (Could not pass event PluginEnableEvent to InventorySQL) when I first came to this plugin, I first tried 3.3-DEV version. 3.2 proved stable on 1.6.4 Not sure if how well non-dev 3.3 works...
-
View User Profile
-
Send Message
Posted Oct 11, 2013I get an error while starting the latest 1.6.4 development build of Bukkit and also get one while trying to execute the .sql file in my db.
Pastebin: http://pastebin.com/a4m1G8Fa
-
View User Profile
-
Send Message
Posted Oct 11, 2013@TakeruDavis
I don't think it is needed to compress ANY data at all, but i never intended to modify the data anyway, so basically i did not want to store the data in plaintext, but it is not faster (may be slower, because you add your compression algorythm). I intended to make InventorySQL as customizable as possible and as such add a way to compress data. I planned to add a PlainTextCompressor to stop compressing at all. May be released tomorrow.
-
View User Profile
-
Send Message
Posted Oct 10, 2013@manfie
Indeed, it looks like thats the problem. I thought it would be because of the speed. I like the idea of locking tables for slowing down the synchronisations, thought of it too.
Also, I was looking at the code of compressor. I create software for living, I havent tried to do any bukkit modding yet, so I havent tried to compile what I made. Just out of curiosity, would uncompressed inventory be too big or too slow to save and load from database? Or just make database too big? Because I would like to store data wihout that compression.