VirtualPack
VirtualPack
[ Configuration ] [ Commands & Permissions ] [ Download ] [ Source ]
With this plugin, players can buy and use a workbench, an enchantment table, chests, furnaces, brewing stands and a bunch of other tools. Completely virtually. Accessible by chat commands.
Required dependencies: Vault, WorldEdit.
Optional dependencies: ProtocolLib (see Configuration/Materializer)
Notice
According to the Bukkit rules, I have to make you aware of:
Quote:This plugin uses the Curse API to check for updates automatically.
To disable update checking, set 'check-update' to 'false' in 'plugins/VirtualPack/config.yml'.
Features
User-side features:
- Chat-based access to the features of those blocks:
- Workbench
- Anvil
- Enchantment Table
- Chest
- Furnace
- Brewing Stand
- Enderchest
- Workbench
- An Uncrafter (Opposite of Workbench)
- A Materializer (Convert item stacks into others)
- A Trash
- Sending items between players
- Statistics and info pages for everything
- Access via Signs
Admin-side (configurable) features:
- Multiverse support
- Completely configurable commands
- Cooldowns on commands
- Admin access to all users' packs (in full and read-only modes)
- Optional economy integration
- StackableItems support
- Update notification
- MySQL support (data is automatically converted when switching from file)
- Importing (converting) data from:
- AlphaChest
- Backpack
- ChestKeeper
- PlayerVaults
- VirtualChest
- AlphaChest
To Do
- Fix the lags
- Fix all the bugs
- Rewrite the whole plugin
- Cross-server functionality
- Custom smelt/brewing recipes/fuel
- Bind tools to blocks/items
Installation
- Download the VirtualPack.jar and place in in you plugins folder.
- Install Vault the same way.
- Install WorldEdit. If you don't want to install it as a plugin, simply place the jar in plugins/VirtualPack. (I need WorldEdit because of the utilities that are bundled with it, and I need those to register the commands.)
- Install a Vault-compatible permissions plugin (see the Vault project page).
- Now either install a Vault-compatible economy plugin or set the "economy" value in the VirtualPack config to "false".
- Install ProtocolLib if you need it.
- Start your server.
- Maybe read the configuration page.
- Have fun.
Importing other plugins' saves
Supported plugins:
- AlphaChest
- Backpack
- ChestKeeper
- PlayerVaults
- VirtualChest
[ Instructions ]
Dev Builds
Quote:Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk!
[ Dev Builds ]
Donation
Is of course always appreciated. :)
I also keep a list of all donations.
STOP STOP STOP STOP STOP STOP STOP
Alright people, it's too much. Do NOT ask me to:
- Change /v because it is used by vanish already. Change it yourself in the config.
- Update the plugin to a new Minecraft version. I'll do it as soon as possible anyway.
If you do one of the above, you don't deserve to talk to me and I won't do anything else than sending you this video.

-
View User Profile
-
Send Message
Posted Jun 20, 2014@tiagoomendess
1. What VPack version?
2. Did you read this?
@zDylann
Do they still lose stuff they newly receive or can't they just get their old stuff back?
-
View User Profile
-
Send Message
Posted Jun 20, 2014my players are losing chests, anvils, furnaces and their content. What is going on?
-
View User Profile
-
Send Message
Posted Jun 19, 2014@Siguza
Using your newest development build and I followed your instructions about converting but I'm still having problems with a lot of my players losing their chests. If any of them try to use the restore command, it says that there's nothing to restore.
-
View User Profile
-
Send Message
Posted Jun 13, 2014@zDylann
If you are on 1.7.9, wait until v2.7.5 of VP is approved (or get the latest dev build) and read this page.
If you are not on 1.7.9, on what are you and which version of VirtualPack are you using?
-
View User Profile
-
Send Message
Posted Jun 12, 2014Some of my players on my server are experiencing chests being deleted. Its very weird only about 10-15 people are experiencing this issue. Those same people are also not being saved anymore. They buy new chests and put items in and upon restarts they lose everything again yet everyone else including me are completely fine. I use the flat file storage at the moment. I can send you the file as well as config if needed.
-
View User Profile
-
Send Message
Posted Jun 12, 2014@ItsLawrence
PS: Feel free to create a pull request if you find an easy solution for this.
-
View User Profile
-
Send Message
Posted Jun 12, 2014@ItsLawrence
Edit: I wrote the text below first, but I realised now that if I don't clear the whole table, players whose packs have been deleted would effectively get those back.
Original answer:
This was one of the things I was talking about when calling the current VirtualPack "poorly designed". I should also use statically precompiled SQL statements. And unique identifiers for every SQL table. And I should save data binary instead of converting it to base64 strings. And I should store every user's pack in a different file. And I should load packs only when they are needed, instead of always loading everything on startup. And I should not convert user names to lower case. And I should not compile it against the net.minecraft.server package(s).
I think there is nothing in this list which has not at least once caused problems, and I apologise for this. When I wrote VP 2.0 I was still not so familiar with Java and the only other language I knew back then was PHP (where strings are binary safe, efficiency doesn't matter and errors are ignored).
The thing is just that the effort to fix all this is practically equal to rewriting VP from scratch, which is what I'm gonna do as soon as my finals are over. :/
-
View User Profile
-
Send Message
Posted Jun 12, 2014@Siguza Sorry I'm going to go into a small rant mode: In your VThreadSave class, you seem to completely drop the contents of the SQL table before then going through every record of data and re-adding it? This seems extremely dangerous doesn't it? If for whatever reason the server "died" before the re-addition of the data was complete it would all be lost including that which didn't even need to be changed? In servers where there are 10s of thousands of records the re-adding of the data can take several minutes? In reality should you not use keys/indexes and then just check for duplicate records and update if found thus avoiding the need to completely wipe all the data? It seems both extremely inefficient but also extremely unsafe to completely empty the only non-volatile save of the data?
Is there a reason why you drop the table to then just re-add everything?
-
View User Profile
-
Send Message
Posted Jun 12, 2014@Siguza
Sent PM. Issue should be resolved now.
-
View User Profile
-
Send Message
Posted Jun 12, 2014@Noobsbeard
Can you show me the log of the server crash?
-
View User Profile
-
Send Message
Posted Jun 12, 2014@Siguza
The server crashed. but the file Data.db file stated it had not been updated since the 3rd of June. This would strongly indicate that the file had not been saving.
Our saving is also occurring much often than that, we have the save interval to 300
-
View User Profile
-
Send Message
Posted Jun 12, 2014@Noobsbeard
But can you tell me... did your server actually crash or shut down clean?
-
View User Profile
-
Send Message
Posted Jun 12, 2014@Siguza
The way the Virtualpack appears to be saving is in a loop. Meaning, if the the server crashes during any point of the time, we will have lost hundreds if not thousands of chests. The server requires a 100% safe shut-down for the chests to be saved correctly. Is there any solution to a better saving mechanic?
-
View User Profile
-
Send Message
Posted Jun 12, 2014@Chalkie19
I think I found a solution for you, I'll PM you when I'm sure it's working.
@Noobsbeard
Well, I can confirm that in my case, VirtualPack v2.7.4 is saving. Could you please upload your VirtualPack config again, along with your latest server log?
-
View User Profile
-
Send Message
Posted Jun 12, 2014Virtualpack does not save, we just noticed it today. Reset our server and when it loaded in the chest data was back to how it converted originally, meaning 3-5 days of chest data lost.
-
View User Profile
-
Send Message
Posted Jun 11, 2014@Chalkie19
Sure. I mean lost is in it's empty for them, there did not seem to be any data lost after the transfer (no real change in DB size) Could there be an option to disable the UUID and still use names? I would rather tell people to manually move their items before a name change rather then everyone lose their shit now their /chests are empty :D
MySQL Image: http://gyazo.com/fe3450a07a768c5a8a6880d0afac38f2 DB: http://www.justbeamit.com/62qx8 (2.3MB) Config.yml: http://pastebin.com/2kuYcBva
Thanks
-
View User Profile
-
Send Message
Posted Jun 11, 2014@Chalkie19
Are you sure their packs are lost or could it be that they just belong to a UUID which is not theirs? Because I kind of expected that to happen and was surprised no one reported that so far. Could you check your MySQL database or upload your data.db file for me please?
-
View User Profile
-
Send Message
Posted Jun 11, 2014Hey Siguza.
We updated our servers to 1.7.9 today and upgraded our VP to 2.7.4. After converting the 290 (things) we started the server and people had lost there items in chest, we tried again and the same issue.
I then decided to convert from flatfile > MySQL but the same issue. Is there something I am missing? I have had reports that 1-2 people did get the contents of their /chest back but the majority of them did not.
Thanks
-
View User Profile
-
Send Message
Posted Jun 3, 2014@abstractmadness
Could you upload your permissions file and VirtualPack config please?
-
View User Profile
-
Send Message
Posted Jun 3, 2014Updated: Still stuck at 100%