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 :)
is this like multiverse inventories but updated?
@manfie
Followed this, took a few attempts to get it right though.
First time I deleted the whole contents of the file and that didn't work.
Second I deleted all the 'comments' or lines starting with dashes still no luck.
So I deleted only the ALTER lines beginning with dashes and left the rest of the CREATE.sql file as is. Added it back into the jar and loaded the server with this. Server loaded fine up fine!! Woohoo!
@sync667
This has fixed the enderchest errors, thank you!
Looks like you've both managed to fix the issues problems! You're both freaking awesome!! :3
@TDB_South_Paw
So at first get in to your config and change serializer to that
It will fix error with players. For second one i will look it too it and try help manfie, maybe its possibile to do auto fix. But at all this second one is not dangerous, for now i have it on all servers and everything is ok.
@TDB_South_Paw
The Startup-Error ( http://pastie.org/private/hqkwtfo7iywllfcw87lxua ) is pretty *easy* to fix. It's explained in issue 68: Open the Jar and search for the file CREATE.sql in the mysql folder. Delete all comments of the query and save the File. Restart your server then.
I guess the second error is caused by echnanted items, which currently cause a bug too.
@TDB_South_Paw
Lol I'm not actually running it right now - I started setting it up on my test server, and then the whole UUID thing hit, so I've been trying to focus on that. Once I've got all my current plugins updated (or replaced, ugh) to UUID-compatible versions I'll come back to Inventory-SQL.
Good luck with your issue / your players. I got hit by the Mojang inventory-wipe bug last weekend, so I know what you're going through!
@TheLecturer
Hi :D
Might as well ask, what version of this plugin are you using and is it giving any errors?
@TDB_South_Paw
Nice to meet you TDB_South_Paw :)
@TheLecturer
That's totally fair and I totally agree with that statement.
I was just really frustrated that information so vital was at the bottom of the page and it took 4 replies to get it sorted when it could've quite simply been one and saved me a huge headache. I do apologise though, cause I was really being a dick. Just frustrated that something so simple was made so hard.
Regardless, I'm stuck on this next error and confused as all hell to what it means really. It appears whenever a player logs into the server.
I spent some of today trying to jump back plugin versions (all the way back to v3.4.0) as I really need a version that works so I can get our server back up. Without InvSQL we're dead in the water as our whole server relies on the same inventory across 3 worlds.
Meanwhile, I've got players being demanding at my heels as they always are *sigh* but sorry for passing that stress along the line... >_<
Here's to hoping manfie can help me out here because java is out of my league. *raises glass*
@TDB_South_Paw
You don't want to get into bitching yet you still throw an insult, so which is it?
I am also not looking for a fight, it just winds me up when people complain on all these plugin pages. I think it's amazing that people give their stuff away for free and the whole community benefits from it, but we have no idea about people's personal circumstances and how much time they may or may not have to do stuff like this.
Non-coding server owners (such as myself) should show some simple gratitude and acknowledgement of what we get for free. It's how I would like to be treated by the people who play for free on my server, doesn't happen that often. Sadly so much of what I see every day is "Your plugin sucks", "It's broke FIX IT" etc etc (and in know you didn't say that, just talking generally now).
Anyway, don't know where I'm going with this, guess I'll go make some breakfast. Have a nice day everyone, and thanks manfie keep up the good work.
@TheLecturer
I'm not going to get into bitching with some random idiot off the internet about this. It's pathetic and beneath both of us. If you'd kindly mind your own business then I can get this issue fixed quicker and be outa manfies hair sooner.
@manfie Apologies if you're pissed off with me, I just really think that message should be at the top, beside the download button, not the bottom. If it was then it would have saved us both a lot of frustration and wasted time.
I'm being hounded by my players as to why their inventories are being constantly reset, this is my point of contact so I'd really appreciate it if you could help me out.
I'm going to go wipe our inventory databases now and see if that fixes the issue.
Edit: New error http://pastie.org/private/hqkwtfo7iywllfcw87lxua
That error is from 3.4.0 SNAPSHOT 7 for reference.
@TDB_South_Paw
How about you stop whining like an ungrateful child for something you're getting for free and respect the fact that the dev might have more important things on his/her mind than your freeloading priorities? Everything on the Minecraft multiplayer community is offered and accepted "as is", take or leave it. If you don't like it, write your own, or take them to court for breach of contract, oh wait, you have no contract, best you shut up then or try saying "thank you" and "please", may you get further than "facepalm".
Facepalm. Kids these days. No respect. No manners.
@manfie
Facepalm. It doesn't matter if its a snapshot or not, we're downloading something and the very least I expect when I download something is that important stuff like that is at the top of the page beside the download button, not at the bottom. I know you're spending your own time to do this, if I could write any java I'd be too but something that important should be beside the download button.
http://pastie.org/private/6xgovygnaynklkk0mx9bjg
However, new error has cropped up and this time I don't know. Couple of players have said their ender chests are messed up though. :\
@TDB_South_Paw
Well, it's a snapshot. Don't expect it to be self explanatory.
@manfie
Wait wait wait... Its on the bottom of the download page?
How the heck did you expect me to find that, theres no notes that its down there at all! Why would I scroll through your changelog expecting to see a really important note at the bottom?!
I was expecting it as a separate page somewhere, but the bottom of the freaking download page?
...
Whatever. Maybe fix that up... at the very least have a note at the top or a separate page or something!
ANWAY. That fixed the whole issue, thank you very much and sorry about the rant. (but seriously, bottom of the page?!)
@sync667
Yeah. I thought about that too, but i need to finish my preparation for exams first, then i can continue to work on this plugin.
@manfie
HashMap with users ID from INVDB and second with id-invdata. At any save we check if data for this id exists, if yes we delete it and create new one. But what's about when save to mysql, maybe right after save? we fire save event and its work's async, but we must do something that will block fast relog to not compromite save, again maybe login lock? like it's done by bukkit in own way by threeshold.
@TDB_South_Paw
Well before you download any Software, there is a little box beneath: http://snapr.pw/i/a787e856bf.png
@sync667
Oh, on the first join! Well, that'd be something interesting. A Cache sounds lovely, but should use a special mapping, because it should not return an Inventory twice.
@manfie
That's not helpful at all and doesn't explain anything.
Telling me to 'update' a database means nothing and I have no idea what you mean by a 'known caveat'
I would like a solution or a decent explanation...
Edit: I don't wanna be rude, but our inventories aren't working and I don't have an 'answer' that I can work with...
@manfie
I'm saying about first join, but not important. About saves, maybe adding something like cache, that will fast dump to it inv and do query to mysql will be good way. Dump on quit and save to mysql, read on join or prejoin event. HashMaps? Arrays? Ehh its only free mind.
Teleport Signs has been discontinued... would it be possible to get InventorySQL to work with ancient-gates-reloaded or similar