ViaVersion / ViaFabricPlus

Fabric mod to connect to EVERY Minecraft server version (Release, Beta, Alpha, Classic, Snapshots, Bedrock) with QoL fixes to the gameplay
GNU General Public License v3.0
406 stars 42 forks source link

Custom-named containers prevent chunks from loading when joining a pre-1.13 server that sends container names on chunk load #223

Closed Keeg-Turner closed 1 year ago

Keeg-Turner commented 1 year ago

General Information

Fabric-API, ViaFabricPlus

Bug Description

When joining a pre-1.13 server such as minecraftonline.com, which is currently on version 1.12.2 and has a custom feature where container names are sent to the client on chunk load (much like Know My Name but for older versions), the client is unable to load chunks if they have any containers (chests, dispensers, droppers, shulker boxes, etc) with custom names.

Steps to Reproduce

  1. Select version 1.12.2 in the ViaFabricPlus menu
  2. Connect to minecraftonline.com
  3. If you haven't joined before, navigate to the end of the rules hall and enter the teleporter that leads to the spawn area; otherwise, use /spawn
  4. If you clip into the ground (this seems to be different bug with ViaFabricPlus, and also MultiConnect previously), then log out for at least one minute, log back in, and run /spawn again
  5. Since there are many named containers in the spawn area, you should quickly notice that several chunks aren't visible client-side (and are generating malformed JSON errors in latest.log)

Expected Behavior

It is expected that ViaFabricPlus properly convert the raw strings in container names to JSON text components on chunk load when a post-1.12.2 client joins a pre-1.13 server; this should allow all chunks to load properly for the client rather than failing to load and generating errors.

Keeg-Turner commented 1 year ago

Not sure if this is helpful, but I will also note that, while this wasn't always an issue with MultiConnect, it was in the last few builds before it was discontinued. The build 1.6-beta.23 for 1.19.2 seemed to be the last version without this issue.

FlorianMichael commented 1 year ago

Hello! Thanks for the bug report, can you maybe provide your latest.log file?

Keeg-Turner commented 1 year ago

Certainly: https://mclo.gs/SNl0kZU

FlorianMichael commented 1 year ago

Hello, I temp. fixed the issue until we have a proper solution for this problem, since it's a bigger issue in ViaVersion.

Koi-MC commented 8 months ago

Hello, I temp. fixed the issue until we have a proper solution for this problem, since it's a bigger issue in ViaVersion.

Hi @FlorianMichael, it appears that whatever "temp solution" you had added for this version (1.20.1) did not correctly carry over to the latest releases of VFP for 1.20.4. Is there any way that we can get this picked back up? I've talked with this issue's OP @Keeg-Turner and I believe they plan to re-open/re-make this issue for the latest release since it still exists in that version. Thank you in advance

FlorianMichael commented 8 months ago

Hi, yeah, I have removed the fix because I thought it would have fixed with some internal rewrite we did recently, but turns it it didn't.

Keeg-Turner commented 8 months ago

@FlorianMichael Since you're aware of this I won't bother to make a new report, however while you're here, I'd like to mention that this issue was still occuring in specific areas, even in the versions containing your fix. Here's the log for that (once again with just Fabric-API and ViaFabricPlus on 1.20.1): https://mclo.gs/VhO8XyQ

I've had some people propose to me that this may be caused by named beacons. If you'd like further testing/confirmation, feel free to let me know.

FlorianMichael commented 8 months ago

Thanks for the help, it's most likely an issue with the missing component/json translation in Via across versions, what's happening here: The 1.12.2 server sends an NBT containing a text component the 1.12.2 client can read without issues, the latest client can't and will throw an exception in the networking code, and since Via doesn't handle that, the latest client gets kicked. It's a general issue in ViaVersion that component remapping is missing, causing e.g. books on hypixel in 1.8 to be broken.

Koi-MC commented 8 months ago

Florian, thank you for being on top of this with the quick responses! My hope is that perhaps this temp solution you had applied before could be re-introduced to the latest versions while we get the root cause sorted out in ViaVersion

Keeg-Turner commented 8 months ago

I'm also wondering: do you think it would be worth making a bug report for this on ViaVersion's repo? I was of the impression that there already was one, but can't seem to actually find it.

FlorianMichael commented 8 months ago

There are multiple reports on the main repository (Not reporting this exactly issue, but other issues related to the same root problem), we already know about it in our team.

FlorianMichael commented 2 weeks ago

The issue shouldn't appear anymore.