Bixilon / Minosoft

An open source Minecraft reimplementation written from scratch. Mirror of https://gitlab.bixilon.de/bixilon/minosoft
https://gitlab.bixilon.de/bixilon/minosoft
GNU General Public License v3.0
908 stars 28 forks source link

Multiple bugs I found #4

Closed Polarite closed 2 years ago

Polarite commented 2 years ago

While playing hypixel, theres two bugs I noticed, screen is... yellow... all yellow. entering a gui then changing that gui after that clicking on anything in second gui doesnt work

Bixilon commented 2 years ago

Don't do that. Not on hypixel. it bans you. I am serious. photo_2022-05-07_17-37-33

I am currently working on speedrunning and I also experienced the container bug. Working on it in some days :) I'll keep you notified.

Do you mean the sky? That could be because biome data is missing...hm

Bixilon commented 2 years ago

For physics I already started reimplementing it (https://gitlab.bixilon.de/bixilon/minosoft/-/tree/work/physics/rewrite), but that is still crap.

Polarite commented 2 years ago

no the whole screen is yellow.

Bixilon commented 2 years ago

Can you send a screenshot? I don't know why the screen is yellow.... Is it working on other servers?

Polarite commented 2 years ago

https://i.imgur.com/X0b8zy6.png

Bixilon commented 2 years ago

Yes, that is the sky. means missing sky/biome color. You can also see it in F3. No clue why this is happening, you are probably on 1.18.2?

The scoreboard also seems broken.

Are there any errors in the console? like exceptions?

Polarite commented 2 years ago

yep this is 1.18.2 but I am scared to join again after seeing your ban :p

Polarite commented 2 years ago

https://i.imgur.com/JwO6Tt4.png

Polarite commented 2 years ago

seems like I cant move neither

Bixilon commented 2 years ago

In the 3rd line w=0 means that no chunks got received from the server. Are there any chunk parsing bugs?

(That explains the yellow sky, the blocked movement and probably a ton more)

Polarite commented 2 years ago

https://paste.ee/p/7EANq errors get too long and old errors get deleted but thats what I could get

Polarite commented 2 years ago

https://i.imgur.com/Js2KZb1.jpeg

cubecraft seems fine..?

Polarite commented 2 years ago
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN] de.bixilon.minosoft.protocol.network.network.client.exceptions.PacketReadException
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at de.bixilon.minosoft.protocol.network.network.client.pipeline.encoding.PacketDecoder.decode(PacketDecoder.kt:64)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at de.bixilon.minosoft.protocol.network.network.client.pipeline.encoding.PacketDecoder.decode(PacketDecoder.kt:35)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at java.base/java.lang.Thread.run(Thread.java:833)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN] Caused by: java.lang.IllegalArgumentException: Unknown player property extraData
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer.readPlayerProperties(PlayInByteBuffer.kt:235)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at de.bixilon.minosoft.protocol.packets.s2c.play.tab.TabListS2CP.<init>(TabListS2CP.kt:45)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at de.bixilon.minosoft.protocol.packets.factory.factories.ReflectionFactory.createPacket(ReflectionFactory.kt:34)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at de.bixilon.minosoft.protocol.network.network.client.pipeline.encoding.PacketDecoder.readPacket(PacketDecoder.kt:76)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   at de.bixilon.minosoft.protocol.network.network.client.pipeline.encoding.PacketDecoder.decode(PacketDecoder.kt:54)
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]   ... 35 more
[2022-05-07 20:37:57.770] [Nio#3] [NETWORK_PACKETS_IN] [WARN]

theres this error tho, not sure if it matters

Bixilon commented 2 years ago

Yes, the chunk packet fails to read... Beacause of ArrayIndexOutOfBoundsException. Sadly the stack trace is hidden? Strange.

I suspect that hypixel is sending some kind of custom dimension height in 1.18 and minosoft has something wrong at 1 place and the section index gets calculated wrong. That problem should not exist in 1.16. I'll take a look at this soon.

The crash you just sent is something different, but also interesting. No clue what extraData is, I'll make this a warning, not a crash.

(But thanks for testing, hope you won't get banned and reporting those issues)

Polarite commented 2 years ago

I got in my alt account, shouldnt be an issue even if I got banned, hmu if you need any more testing

Polarite commented 2 years ago

https://i.imgur.com/pyxp6uy.jpeg

heads up about 1.16 hypixel works as intended.

Bixilon commented 2 years ago

Yes, that looks a lot better

Bixilon commented 2 years ago

theres this error tho, not sure if it matters

What did you do to get the extraData error? I am (silently) ignoring this error, it gets logged into the console. Also I fixed some tab list issues on cubecraft.

Polarite commented 2 years ago

enter game, wander in guis, look around walk around

Polarite commented 2 years ago

https://github.com/GeyserMC/MCProtocolLib/issues/684#issuecomment-1016547453 noticed geysermc also having same issues, might be helpful idk

Bixilon commented 2 years ago

No, I don't think that is related (but thanks for the research!). I fixed light reading with custom dimension height. I was able to see some errors there, if the minimum height > 0. Feel free to test again, not my resposibility :) (and feel free to tick off the task, I edited your inital message)

I'll take a look at the container bug later

(ah: and if you test again, try to catch the execption)

Polarite commented 2 years ago

will test it out.

is there a way to log stuff, terminal deletes old logs if it gets too long

Polarite commented 2 years ago

also you added windows builder, thanks! that makes stuff a bit easier for me!

Bixilon commented 2 years ago

will test it out.

is there a way to log stuff, terminal deletes old logs if it gets too long

not yet, logs are quite long. You could increase the terminal buffer size or just quickly kill minosoft

also you added windows builder, thanks! that makes stuff a bit easier for me!

yes, just for you :)

Polarite commented 2 years ago

great will test out soon :>

Polarite commented 2 years ago

https://i.imgur.com/UlTyCVo.png sadly its still a thing

Polarite commented 2 years ago

https://paste.ee/p/wcqUE

Bixilon commented 2 years ago

Interesting. The stack trace seems to be missing something. ChunkUtil.kt only has 306 lines, not 310. I suspect the PalettedContainer function to be wrong, it is a inline function. damn. This crash is kind of useless.

The question is: What causes the issue. Is it an empty biome data array or empty block data array? Biomes got changed in 1 snapshot after 1.17.1. Is it also happening on 1.17.1? I think vanilla is silently ignoring empty arrays and hypixel is sending shit.

Maybe that geyser bug is related