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 Aug 4, 2012Hello ! back on bukkit ;) I have a lot of things to do
About MC 1.3 ( @UbuntuFreak ), I'm working on the new version, a brand new flavor ;) well, the plugin works already with cb 1.3, as there is no modified api in the update
A guide ( @QBcrusher ) will be up if I have time, but the config file is pretty straightforward, no ?
And for the web UI, I'm searching someone good at php & design, I really don't have enough time.. :/
-
View User Profile
-
Send Message
Posted Aug 4, 2012@UbuntuFreak, it dosn't work with Bukkit 1.3.1 this is the point. Bukkit isn't released for 1.3.1 . There is a 1.3.1 build of Bukkit, but it isn't stable and this plugin isn't for Bukkit 1.3.1 so you have to wait for the plugin update :)
Edit:
It works fine with BUKKIT 1.3.1
-
View User Profile
-
Send Message
Posted Aug 2, 2012Does this already work for Minecraft 1,3?
-
View User Profile
-
Send Message
Posted Jul 11, 2012any chance we can get a guide on how to set up? i have a mysql database set up, but i have no idea how to get this to work
-
View User Profile
-
Send Message
Posted Jul 9, 2012I was hoping that maybe you could include the body id slots in the plugin
-
View User Profile
-
Send Message
Posted Jul 5, 2012@RebornSheep
As I said before, if the inventories are still in the database, copy the content of the 'inventory' column, modify it like this (for example) [0(1:0)x54];[1(4:0)x32];... => [+(1:0)x54];[+(4:0)x32]; , and paste it to the column 'pendings'
-
View User Profile
-
Send Message
Posted Jul 5, 2012@MrAzulay
There is a command, /invsql pw <password> to change the password, and it's for the (maybe) future web interface. But I don't remember if it works..
If you want to add columns, use a name with a prefix, to avoid the risk of interfering with any updates
-
View User Profile
-
Send Message
Posted Jul 5, 2012What is the user table with the password field for? Is it used by the plugin somehow or is it just for php developers? It would be nice with a commando for setting the password for players ingame.
And also will the plugin break if I add a column to the usertable? I would like to use it as a login on my server website and have a column for how much money a player has.
@RebornSheep
Have you checked the backup table? I don't know how often it takes backups and how it saves them but there should be something there. Otherwise you are pretty screwed :(
-
View User Profile
-
Send Message
Posted Jul 5, 2012I deleted one of my worlds and now every inventory on my server have been reset. I got this plugin and i can see that the inventorys are in the database. How do i get the inventorys back ingame? Over 3000 players have lost their intire inventory. Im fucked.
-
View User Profile
-
Send Message
Posted Jul 3, 2012Do you have any working examples for this plugin? I'd love to see some before I consider installing it :)
-
View User Profile
-
Send Message
Posted Jul 2, 2012Multiworld support would be epic!
-
View User Profile
-
Send Message
Posted Jun 26, 2012@ThisIsAreku
-
View User Profile
-
Send Message
Posted Jun 25, 2012@LegoPal92
Can you paste here your config file ? (without the password ;) )
-
View User Profile
-
Send Message
Posted Jun 25, 2012How do i setup the mysql portion of the plugin, it keeps failing to connect to the database. user: InvList pass: is correct in spelling and capitalization, just not in your need to know basis db: InvList table: InventorySQL
-
View User Profile
-
Send Message
Posted Jun 24, 2012@ThisIsAreku
Pretty much what you would need is to have inventory and pendings as tables instead of columns. Then these tables would have separate columns for all the data you need (slot, id, item id, data byte, enchantments and count) + a userid column that you connect to the users table that says who the item(s) belong to.
Each row in these tables represent one itemtype.
To give you just one example of how this makes it easier in the long run. Let's say you wanna check how many blocks of dirt a user have. With the current model you would first make a query to fetch that users string in the inventory column. Then you would have to make a sequence of string search operations in php to get the amount. With SQL and a good database model you could just do something like
"SELECT SUM(count) FROM inventory WHERE item_id = 3 AND user_id = some_user_Id "
That's all, and you would get the correct value directly from the sql server without any php.
However it might be hard to work with if you are not used to it. You should learn these stuff, its pretty easy actually. Relations and then how to use them with join queries should get you started how to make models that perform better and are much more easy to use for doing other things with the data.
If you are interested I can maybe help you with this some time in the future when I have a bit more time.
-
View User Profile
-
Send Message
Posted Jun 24, 2012@UbuntuFreak
Thank you ! :)
-
View User Profile
-
Send Message
Posted Jun 24, 2012@MrAzulay
Have you a more useful database model ? I'm not very good in databases, I learned by myself
-
View User Profile
-
Send Message
Posted Jun 23, 2012This is great work and really useful but the use of the database couldn't be any worse. Is there any reason to not having a more useful database model with relations et cetera? Storing everything as strings when you can separate stuff into columns, why? This is why you have databases, so you don't have to serialize stuff.
-
View User Profile
-
Send Message
Posted Jun 22, 2012Nice new picture at the top op the page! Well done :)
-
View User Profile
-
Send Message
Posted Jun 20, 2012@ThisIsAreku