1337Zero / Zombe

6 stars 0 forks source link

Disabling Fly mode in .5.8 frequent crash #5

Open JamminR opened 7 years ago

JamminR commented 7 years ago

Thanks for working/attempting to fix #1 I reported. In testing .5.8 today, when disabling flymode, Minecraft has crashed to debugger info screen several times. This seems to be half the time. I can't really figure out a pattern of what I'm doing when it happens other than I've pressed my fly key to disable. See 2 attached logs. (Though, at least when it doesn't crash I land without any damage!) FlyCrash.txt FlyCrash2.txt

JamminR commented 7 years ago

Possible pattern to crash. During flying at normal speed, when you let go of movement key (WSAD), you still 'glide' a bit further as though on ice. I think, if I disable fly while still moving instead of allowing to totally stop movement, the game is a lot more likely to crash.

Also, I've no idea if it's any help, but here is what happens on the server during/after a crash, right before disconnect by client. `SERVER side error during crash

[17:44:56] [Netty Server IO #0/ERROR] [FML]: NetworkDispatcher exception java.io.IOException: An existing connection was forcibly closed by the remote host at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[?:1.8.0_121] at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[?:1.8.0_121] at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[?:1.8.0_121] at sun.nio.ch.IOUtil.read(Unknown Source) ~[?:1.8.0_121] at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[?:1.8.0_121] at io.netty.buffer.UnpooledUnsafeDirectByteBuf.setBytes(UnpooledUnsafeDirectByteBuf.java:446) ~[UnpooledUnsafeDirectByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:881) ~[AbstractByteBuf.class:?] at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:225) ~[NioSocketChannel.class:?] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:119) [AbstractNioByteChannel$NioByteUnsafe.class:?] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) [NioEventLoop.class:?] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) [NioEventLoop.class:?] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) [NioEventLoop.class:?] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) [NioEventLoop.class:?] at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [SingleThreadEventExecutor$2.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]`

1337Zero commented 7 years ago

So to get it right u where using it on a server ?

Never tested it on a server (for long). Im not sure if i can prevent dmg on a server

JamminR commented 7 years ago

Yes. I've been using this installed on my client, while connected to my server. It's not installed on server. I thought I reported that in my 'falling hurts' issue. I don't have clear memory from ~5+ years ago, but I thought when I used zombe mod in the 1.8 and 1.9 days, installed using MCPatcher (or similar, I forget), I don't remember being damaged when disabling fly from a reasonable distance. I didn't have a server then though. Was a friends I played on all the time. Now, if I go back to 5.7, and get 3 blocks or less from ground and disable, if I've been flying for a long time/different levels, I die

JamminR commented 7 years ago

I joined same friends server. Tested. Couldn't get it to crash. Nor would I get hurt if I was within 3 blocks. I'll be troubleshooting my server. Running forge right now on server, with fast leaves decay. Friend's server is vanilla with (spigot/craftbucket/something that replaced bukkit years ago).

1337Zero commented 7 years ago

The diffrence between this and the earlier Version of Zombe is, that my Version doenst changes minecraft Code (except one step which couldnt be done in another way).

If i override the code from minecraft it can lead to incompatibility with other mods.

btw i fixed the crash for mp but after it u dont have god for mp :)

JamminR commented 7 years ago

It seems, when using .5.7, if I do not move 'below' the original height I was at when I enabled fly, that I do not have the damage issue. That is, I won't get hurt if I disable fly, am at least 3 blocks above the ground, and am at a world height above when I enabled flight. I do get hurt if I am +3 blocks below where I enabled flight. Is there a way to read/adjust whatever state could be causing that using new code/mod methods? Or is that controlled 100% on server side, or, not without editing actual MC client code?

1337Zero commented 7 years ago

Im not quite sure, but most servers should have an anticheat system (like nocheatplus), which should detect stuff like that (and prevent).

The problem is as i think that u are not really fyling u are just not falling (which counts the fallingdistance up)

i look at some other fly mods maybe i find a diffrence

1337Zero commented 7 years ago

Im manage to find a way to ignore Dmg on the Client site. The Result was ... not what i expected. Even if the Client wont get Dmg the Server knows he got dmg. After u got enough dmg u will die (for the server) after dying the server dont talk to u till u managed to respawn. (No block changes,no movements for entities etc) so i bet there is no way to prevent dmg on a mp system.