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 Mar 11, 2013@Cueball61
It's not, at least not that particular query, but really the others are created in a similar way. Scary isn't it?
-
View User Profile
-
Send Message
Posted Mar 11, 2013@nicoit
Wait, they're not parameterised queries?
-
View User Profile
-
Send Message
Posted Mar 10, 2013While creating the INSERT statement on the checkplayer, it is not considered if any of the items have ' on their name (specially on the DisplayName), I tried invMeta.getDisplayName().replaceAll("'","\'") and some variants but I could not make it work, I finally modified the code so the statement gets created using " around values so the ' does not break the INSERT. That did work but its dirty, maybe you can get into next version since it should be a quick fix for an experienced dev.
-
View User Profile
-
Send Message
Posted Mar 8, 2013Error is here: https://github.com/ThisIsAreku/InventorySQL/blob/master/src/fr/areku/InventorySQL/database/methods/PlayerCheck.java#L363
You forgot to remove the world bit from your WHERE clause.
NOTE: The death bug is still there. It is not because of how you are managing death events, it is how you are calculating inventories. Because the player has no inventory table records if they have an empty inventory, the other server they join will think they're new and therefore not give change their inventory on that server. You need to work out a way to identify an empty inventory.
-
View User Profile
-
Send Message
Posted Mar 3, 2013Is there a way to disable the messages?
-
View User Profile
-
Send Message
Posted Feb 28, 2013Ok, this update fixed some of the Mirror problems, but not all. The error rfsantos1996 posted only appears with multiword: false
The second problem ist that there is a bug that the inventory will not be loaded everytime when the player joins/saved when he leaves. Debug says: There are no Modifications on the Inventory, but it doesnt work sometimes. The second bug is that the Inventory on an second server will not be cleared when the player left with an empty one.
Please fix this issues :)
Thanks
-
View User Profile
-
Send Message
Posted Feb 27, 2013@Zilacon
Yes, I think it's possible. I'll try
@rfsantos1996
What is your config.yml ?
-
View User Profile
-
Send Message
Posted Feb 27, 2013http://pastebin.com/6xmVLvEH
-
View User Profile
-
Send Message
Posted Feb 26, 2013@ThisIsAreku
Is there any way you could make this re-route the player data path to read from the database instead of writing player data files? If you could do this your plugin would be legendary because i have to wipe my player data once a month to keep it from bogging down the server. I get around 2000-3000 player profiles a month.
Having this written to a database would be much less stress on the server, especially if you could only call that information when the player logs in. Because Bukkit loads all of the player profiles the moment it starts up into memory.
-
View User Profile
-
Send Message
Posted Feb 26, 2013@UbuntuFreak
Yes, the approval system of bukkit is manual so you have to wait before the link appears on the sidebar
@Cueball61
this issue should be fixed now, it was related to the bug with mirror-mode
-
View User Profile
-
Send Message
Posted Feb 25, 2013I see the InventorySQL download button for version 2.5.4 on my news subscription page but it's neither listed in the files section nor at the right of the page? That's insteresting :)
But the link still works. As long as the page didn't update, you can use - Don't link to unapproved files :)
-
View User Profile
-
Send Message
Posted Feb 25, 2013@ThisIsAreku
Any news on the death bug? It's basically game breaking. :/
-
View User Profile
-
Send Message
Posted Feb 22, 2013@ThisIsAreku
Thank you :)
-
View User Profile
-
Send Message
Posted Feb 22, 2013I need a example to add new Items in a unused Slot.
-
View User Profile
-
Send Message
Posted Feb 22, 2013Can you make permissions for the messages? I don't want the "No modification" message.
-
View User Profile
-
Send Message
Posted Feb 22, 2013@UbuntuFreak
It'll be fixed in the next release EDIT: fixed in 2.5.3
-
View User Profile
-
Send Message
Posted Feb 21, 2013I found a bug:
When changing the username with a plugin like ColorMe or so, the entry in the database is wrong :(
For example: §6Tuxgamer32 §5kasoli and so on. It would be really nice including a check that removes the first two charachters if the first one is a §.
Thanks =)
-
View User Profile
-
Send Message
Posted Feb 21, 2013@Cueball61
Cueball61: I think, he wont load the inventory from the db, if your inventory was stored absolute empty (e.g. after dieing) Anyone tested this issue?
-
View User Profile
-
Send Message
Posted Feb 7, 20132013-02-07 14:39:57 [INFO] [InventorySQL] Enabling InventorySQL v2.5.2 2013-02-07 14:39:57 [INFO] [InventorySQL] ThisIsAreku present INVENTORYSQL, v2.5.2 2013-02-07 14:39:57 [INFO] [InventorySQL] = http://areku.fr/ = 2013-02-07 14:39:57 [INFO] [InventorySQL] Loading config... 2013-02-07 14:39:57 [INFO] [InventorySQL] Starting Metrics 2013-02-07 14:39:57 [WARNING] [InventorySQL] No update event ! Data will only be updated when using the command 2013-02-07 14:39:57 [INFO] [InventorySQL] Server UID is : be66780d-b938-4cef-b724-9f348cb37136 2013-02-07 14:39:57 [INFO] [InventorySQL] Reloading SQL process 2013-02-07 14:40:01 [SEVERE] [InventorySQL]
-------- an unexpected error has occured2013-02-07 14:40:01 [SEVERE] [InventorySQL]- 2013-02-07 14:40:01 [SEVERE] [InventorySQL]please send line below to the dev2013-02-07 14:40:01 [SEVERE] [InventorySQL] InventorySQL version 2.5.2 2013-02-07 14:40:01 [SEVERE] [InventorySQL] Bukkit version git-MCPC-Plus-jenkins-MCPC-Plus-129 (MC: 1.4.7) 2013-02-07 14:40:01 [SEVERE] [InventorySQL] Message: Cannot get a new connection 2013-02-07 14:40:01 [SEVERE] [InventorySQL] SQLState: 08S01 2013-02-07 14:40:01 [SEVERE] [InventorySQL] Error Code: 0 2013-02-07 14:40:01 [SEVERE] [InventorySQL] com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. : Communications link failure
T
http://ci.md-5.net/job/MCPC-Plus/
-
View User Profile
-
Send Message
Posted Feb 3, 2013@ThisIsAreku
Good Morning - it's me again.
I tried everything you mentioned but it didn't helped. While updating to the newest plugin version, I've deleted(droped) the whole database and plugin folder. After configuring it again, I'm always getting this error:
[INFO] [InventorySQL] Cannot start Plugin Updater...
I don't know if it matters, but it may help to solve my problem. I think I should explain it once again:
Some players are going to be logged, others not. My account, for example, is getting ignored by your plugin. Neither in the players.txt file nor in the users database is a note for "Ichaelus". This is how I've configured the plugin:
I hope this problem is going to be solved!
Thanks in before,
Ichaelus