Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Players can bring inventory from creative world to survival world by pressing 'E' #161

Closed
1337ingDisorder opened this Issue Apr 10, 2013 · 39 comments

Comments

Projects
None yet

I've been informed by a player on my server that there's a glitch with version 2.5-b335 of Multiverse-Inventories wherein players can bring infinite resources from one world into the other, circumventing Multiverse-Inventories' efforts to keep the two worlds' inventories separate.

I've tested this and can confirm that it can be reproduced, the technique is a little tricky to master but it works every time once you get it right.

Essentially it's just a matter of timing:

  1. go into the Creative Mode world

  2. Load up your personal inventory with emerald blocks, spawn eggs, and all sorts of other goodies that completely throw off the economy and game-play in the Survival Mode world

  3. Warp, teleport, or use a Multiverse Portal to move into the Survival Mode world. Just as the world is changing over, hit the 'E' key to bring up your inventory GUI window.

Voila! You now have your full personal inventory from the Creative World. Now you can spend those emeralds, spawn those creepers, and generally run amok in the Survival World.

Versions:

Bukkit: git-Bukkit-1.4.7-R1.0-94-g141dcf0-b2735jnks (MC: 1.5.1)
Multiverse-Core: 2.5-b641 (beta)
Multiverse-Inventories: 2.5-b335
Multiverse-Portals: 2.4-AB
(though the glitch works even with Multiverse-Portals disabled, when users teleport or warp from one world to the other)

Server:

CentOS 5.5
2GB Dedicated RAM
80GB HDD
Excellent bandwidth (hosted on RackspaceCloud)

Owner

dumptruckman commented Apr 10, 2013

This is likely due to a craftbukkit bug.

I'm positive that if I post a ticket on the CraftBukkit ticket system
about Multiverse-Inventories not successfully blocking inventory from
being transferred from one world to another in a Multiverse deployment,
they'll tell me to come post on the Multiverse-Inventories ticket feed.

The problem was present before the 1.5 update but since the 1.5 update
was right around the corner when I found out about the bug I figured I'd
see if the new version fixed it.

Didn't think to check until today, and sure enough the bug is still there.

Regardless of whether it's a craftbukkit bug or a Multiverse-Inventories
bug, it essentially cripples Multiverse-Inventories to the point of
being broken.

Thanks
-1337ingDisorder

On 13-04-10 01:11 PM, Jeremy Wood wrote:

This is likely due to a craftbukkit bug.


Reply to this email directly or view it on GitHub
#161 (comment).

Member

ammaraskar commented Apr 10, 2013

I wouldn't technically call it a craftbukkit problem, its simple enough for us to work around it, when the world changes call closeInventory on the player to force close any containers. In vanilla it doesn't matter if you can keep containers open while teleporting

Owner

dumptruckman commented Apr 10, 2013

Let's see if this fixes it http://ci.onarandombox.com/job/Multiverse-Inventories/347/ Please let me know.

@dumptruckman dumptruckman reopened this Apr 10, 2013

Wow that's some fast attention right there -- many thanks!!

I've installed this snapshot and I've tested, it seems I'm unable to
duplicate the glitch any more but I was never very good at it compared
to the person who showed me... He can do it every single time, so when
he's on later today I'll have him run it through the ringer and see if
he's been cockblocked :)

Thanks again for the snappy response time, it's definitely appreciated!
Will let you know as soon as I have definite confirmation of the fix.

On 13-04-10 02:16 PM, Jeremy Wood wrote:

Let's see if this fixes it
http://ci.onarandombox.com/job/Multiverse-Inventories/347/ Please let
me know.


Reply to this email directly or view it on GitHub
#161 (comment).

Okay so the guy who's an expert at reproducing the glitch came on, and even with this new update the glitch is still reproduce-able. My timing isn't as sharp as his, but when he said he could still do it I spent 10 minutes trying to do it again and I can indeed confirm that the bug is still present, as I've been able to do it 3 times in the past few minutes.

Same results as before -- load up inv in creative, use any means to go to the survival world (/warp, /back, /tp, /home, etc) and if you hit 'E' at just the right time while the worlds are switching over, your inventory carries over to the survival world.

I'm not sure if this will help but in all the times I've been successful in duplicating the results, the inventory GUI popped up briefly in the creative world right as it was switching over. Every time I do it and don't get the GUI up in time, the glitch fails and my inventories are kept separate. This may be coincidental but I thought it was worth mentioning.

Thanks again for getting on top of this so quickly!

Owner

dumptruckman commented Apr 11, 2013

Please try http://ci.onarandombox.com/job/Multiverse-Inventories/350/ and let me know if it fixes it. Thanks!

@dumptruckman dumptruckman reopened this Apr 11, 2013

Bug still present, same results.

I'll be around if you need testing on further fix candidates :)

Thanks again

On 13-04-10 06:13 PM, Jeremy Wood wrote:

Please try http://ci.onarandombox.com/job/Multiverse-Inventories/350/
and let me know if it fixes it. Thanks!


Reply to this email directly or view it on GitHub
#161 (comment).

Owner

dumptruckman commented Apr 11, 2013

Can you set up a test server with JUST MV-Core and MV-Inventories and see if you can still reproduce this?

Well I'm starting to feel a little sheepish..

I set up a test server as instructed and when I use /mv tp I'm
unable to reproduce the glitch.

I've gone back on my main server and I can reproduce the glitch with
relative ease using /back or /home etc, but I can't seem to get it to
work with /mv tp. Sometimes it seems like it's working for a split
second, then the inv clears back to the separate inventory like it's
supposed to under non-glitchy circumstances.

I double-checked with the guy who brought the glitch to my attention and
it seems that he's never actually tried by going through an MV Portal
either, all the methods he used to reproduce the glitch were done using
/back or /home or /tpa etc etc (all commands from the Essentials plugin).

So it seems, from what I can tell, that MV-Inv is indeed working as it
should and the glitch is more likely caused by Essentials somehow.

I want to leave some time before closing the ticket, so that I can have
the other guy test using /mv tp in case it's just my timing that's off,
but I'm fairly confident it's an Essentials issue.

Thanks again, will let you know as soon as I have a definitive conclusion!

On 13-04-10 08:31 PM, Jeremy Wood wrote:

Can you set up a test server with JUST MV-Core and MV-Inventories and
see if you can still reproduce this?


Reply to this email directly or view it on GitHub
#161 (comment).

Contributor

salaman commented Apr 25, 2013

Any update on this? I've been unable to replicate any issues with Essentials commands teleporting through various worlds, but I am also unsure about the particular timing required. I will require Multiverse-Inventories very soon, but don't want to risk any issues with cheating using Essentials.

flatbmx commented Jun 3, 2013

I am having this same issue, if you would like here is a video of the gltich in action: http://www.youtube.com/watch?v=ak7uHdBcKug

The only way i can combat this atm is to disable all teleport timers and make then instant in the creative world.

Wow that's awesome David, thanks for the video!

This is perfect too because it shifts the focus back to MultInv -- in
this video you're using /f home so the factions-based teleport.

In my experience the problem is present when using Essentials-based
teleports like /home or /back

So it would seem this problem extends beyond just Essentials and is
something MultInv is going to have to tackle on its own.

Contributor

salaman commented Jun 3, 2013

I can confirm this issue as well. I used Essential's /tpa with a cooldown and it duplicated my items.

Thanks for the report, I've temporarily disabled the creative world I run to mitigate the issue. You also might want to make the video private and link-only for now to help other server admins fix the issue in time before it comes a wide-spread issue.

It might be better to leave the video as public - this ticket was
created months ago and hasn't been fixed yet.

Maybe if the problem starts spreading like wildfire it'll encourage the
devs to get 'er fixed ;)

flatbmx commented Jun 4, 2013

Actually that is a video i found on youtube, i did not upload that. Pretty scarely that this has not been fixed for months. Ill look a little throught the code and see if theres anything that pops out at me.

It seems this glitch is on other servers too. I was on some server the other day, creativecrafters, which has a creative world and a survival world, and a friend of mine told me this glitch. It sure as heck worked. if this gets to somewhere where tons of people can see it we may be in for a bit of a disaster.

Has this been addressed yet?

On 13-08-27 09:12 PM, Beaupedia wrote:

Has this been addressed yet?

No, the bug is STILL present.

The only way to avoid this bug is to either not use Essentials or to
only have Survival and Adventure mode worlds on your server.

If you have a relatively large server you could consider fracturing it
into two servers and joining them with Bungee. For that deployment you
would have one server with all your Creative Mode worlds and one server
with all your Survival and Adventure Mode worlds, and then you have your
Bungee server.

People connect to your Bungee server and can then move between your
creative and survival worlds within the same virtual server, however in
reality the Creative Mode server and the Survival/Adventure server can
have completely different sets of plugins, permissions, and general rules.

MultiverseInventories doesn't work across a Bungee connection, so
there's no way for people to exploit the inventory glitch if you use the
above deployment. (The downside is you need to maintain 3 servers
instead of just 1).

Ideally it would be great for the MultiverseInventories devs to liaise
with the Essentials dev team to come up with a proper solution, but this
bug has been present for so long now that I don't think the Essentials
devs even care that their plugin doesn't work properly under the given
circumstances and I don't think they ever plan on putting any effort
into fixing it without the MultiverseInventories devs lighting a fire
under their arses.

This isn't an Essentials issue. We don't use Essentials and it still
happens. We use AdminCmd. It's a Multiverse issue, period.

Beau

On Wed, Aug 28, 2013 at 9:03 AM, 1337ingDisorder
notifications@github.comwrote:

On 13-08-27 09:12 PM, Beaupedia wrote:

Has this been addressed yet?

No, the bug is STILL present.

The only way to avoid this bug is to either not use Essentials or to
only have Survival and Adventure mode worlds on your server.

If you have a relatively large server you could consider fracturing it
into two servers and joining them with Bungee. For that deployment you
would have one server with all your Creative Mode worlds and one server
with all your Survival and Adventure Mode worlds, and then you have your
Bungee server.

People connect to your Bungee server and can then move between your
creative and survival worlds within the same virtual server, however in
reality the Creative Mode server and the Survival/Adventure server can
have completely different sets of plugins, permissions, and general rules.

MultiverseInventories doesn't work across a Bungee connection, so
there's no way for people to exploit the inventory glitch if you use the
above deployment. (The downside is you need to maintain 3 servers
instead of just 1).

Ideally it would be great for the MultiverseInventories devs to liaise
with the Essentials dev team to come up with a proper solution, but this
bug has been present for so long now that I don't think the Essentials
devs even care that their plugin doesn't work properly under the given
circumstances and I don't think they ever plan on putting any effort
into fixing it without the MultiverseInventories devs lighting a fire
under their arses.


Reply to this email directly or view it on GitHubhttps://github.com/Multiverse/Multiverse-Inventories/issues/161#issuecomment-23421773
.

flatbmx commented Aug 28, 2013

I am amazed this still hasnt been fixed. The issue arises when the players have a delay in teleporting so they can mess with the inventories.

Please, someone, give us an update. This is MAJOR. It has to be fixed if this plugin can be used. In the meantime, does anyone know of any secure alternatives?

Owner

dumptruckman commented Aug 31, 2013

If this is only happening with Essentials it sounds like Essentials may be doing something wacky that is causing this problem. Unfortunately all of my time is currently devoted to other things so I can't really provide any updates for this plugin.

As I mentioned earlier it is NOT happening only with Essentials. It has
nothing to do with Essentials. It's the time between landing in the world
you're warping to. Regardless of the plugin.

Beau

On Sat, Aug 31, 2013 at 2:04 PM, Jeremy Wood notifications@github.comwrote:

If this is only happening with Essentials it sounds like Essentials may be
doing something wacky that is causing this problem. Unfortunately all of my
time is currently devoted to other things so I can't really provide any
updates for this plugin.


Reply to this email directly or view it on GitHubhttps://github.com/Multiverse/Multiverse-Inventories/issues/161#issuecomment-23612952
.

DevTron commented Dec 2, 2014

This bug is still around and needs patching!

2015 and still no change

Something new about it?

I'm getting this bug on my server as well. I have no idea what to do about it, but this is a very, very big bug. Amazing how this hasn't been solved after 2 years.

Owner

dumptruckman commented Nov 16, 2015

I have looked into this several times and have been unable to find any solution to the problem. I realize this is a very critical problem but unless someone has some ideas on how to fix it then it's not going to be fixed.

DevTron commented Nov 16, 2015

Unload inventory from client before the world change occurs?

Sent from my iPhone

On Nov 15, 2015, at 8:27 PM, Jeremy Wood notifications@github.com wrote:

I have looked into this several times and have been unable to find any solution to the problem. I realize this is a very critical problem but unless someone has some ideas on how to fix it then it's not going to be fixed.


Reply to this email directly or view it on GitHub.

Owner

dumptruckman commented Nov 16, 2015

The problem with that is that the world change is already occurring by the time i would be able to do that.

Strangely, I'm not getting this issue on my local test server - only on the live server.

I've also been getting players whose inventories are randomly crossing between worlds - e.g. their Survival inventory got into Spawn, their jail inventory got into Towny, their Towny inventory got into Survival - this is resulting mostly in loss of items, and has been happening since the day before yesterday.

NOTE: The intentional inventory switching glitch seems to be unreproducible with this code in a custom plugin:

@EventHandler
public void playerTeleport(PlayerTeleportEvent event) {
    event.getPlayer().closeInventory();
}
Owner

dumptruckman commented Jun 6, 2017

Alright @Miclebrick I added your potential fix. I'm not sure anyone is even using this plugin anymore but if someone could absolutely confirm that build #416 fixes the exploit I may consider reviving the plugin.

@dumptruckman dumptruckman reopened this Jun 7, 2017

Owner

dumptruckman commented Jun 7, 2017

Just to add a bit more... I need someone that was able to reproduce this bug reliably before, since I was never able to reproduce it, that can no longer reproduce it in the new build.

My current thoughts on why this bug exists is latency. This could explain why people (including myself) were unable to reproduce it on a test server since those servers are likely on a local lan or even the same machine. It could also explain why servers with more plugins are more likely to experience the bug since having more plugins could potentially reduce the TPS on the server.

@dumptruckman dumptruckman changed the title from CRITICAL GLITCH - Players can bring inventory from creative world to survival world by pressing 'E' to Players can bring inventory from creative world to survival world by pressing 'E' Jun 7, 2017

@dumptruckman dumptruckman self-assigned this Jun 7, 2017

@dumptruckman dumptruckman added this to the Resurrection milestone Jun 7, 2017

Owner

dumptruckman commented Jun 12, 2017

This is absolutely related to latency. Was never able to reproduce on local test server. Tried it on a friend's dev server and I could reproduce it every single time.

Owner

dumptruckman commented Jun 12, 2017

I have confirmed that this exploit is no longer reproduceable in the latest dev builds!

Owner

dumptruckman commented Jun 12, 2017

Don't get too excited. Still quite a few other critical bugs to fix...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment