TheCSMods/mc-better-stats

[v3.x+quilt-1.20.1] Incompatibility with Pehkui/Bookshelf on Server

Mouy07 opened this issue · 8 comments

Mouy07 commented

What happened?

Disclaimer: This is a bug report for Quilt. I understand that Quilt is not officially supported, but I'm reporting it anyways. I have not tested on Fabric.

When Better Statistics Screen v3.x is installed on the client (Quilt 1.20.1), I am unable to join my server (Quilt 1.20.1) that is running Pehkui (any version) and/or Bookshelf (v20.1.6, probably others too). When joining the server, various erros are thrown depending on the mod setup of the server and client, but all of them are Internal Exception: io.netty.handler.codec.DecoderException: ... errors.

The issue is not present with BSS v2.10.3 or if Pehkui and Bookshelf are removed from the server.

Steps to reproduce

  1. Create a Quilt 1.20.1 server and install Quilted Fabric API and Pehkui and/or Bookshelf.
  2. Create a Quilt 1.20.1 client and install Quilted Fabric API, Architectury API, and Better Statistics Screen (v3.x)
  3. Join the server from step 1.

Relevant log output or crash report

The raw text was too long so here's a link:
https://mclo.gs/U1yJrVT#L281

Other installed mods

Client

  1. Architectury API
  2. Quilted Fabric API

Server

  1. Pehkui
  2. Bookshelf
  3. Quilted Fabric API

Code of Conduct

  • I agree that if the issue is regarding a crash, I gave the logs and the crash report.
  • I agree that I will be available later for any follow-up questions to help diagnose and resolve the issue.

Heya.
Thanks a lot for the bug report. I'll look into it and try to figure out if there's a way to resolve it once I get the chance to.
Have a great day as well!

Hello again.
Just adding here that I have just made attempts to recreate the issue, but was unsuccessful.

Here's my setup:

Client
image

Server
image

I also made attempts to recreate it in single-player, as well as with and without the mods you named installed. I also tried just bookshelf, and then added pehkui after that.

Here's my latest logs:

  • Client: https://mclo.gs/eHSDRuj
  • Server: https://mclo.gs/aaADDgw

(note that i have tagged/censored some private info such as usernames in the logs)

If I made a mistake or used the wrong setup or did not provide enough info, feel free to let me know. I did also install the latest versions of all mods and the loader itself, so I don't know if that plays a role. I did not test BSS v2.10.3 by the way, only v3.5. Since I'm not familiar with how Quilt works, my best guess is that it could be behaving differently or something, but I'm not 100% sure.

I will keep the issue open for now however, just in case.

Mouy07 commented

I am not using BSS on the server. I should have mentioned that in my original post. Putting BSS on the server does fix the issue for me, however it then requires clients to have it installed, which I don’t want. (some of my player don’t like using mods and I don’t want them to be required)

Hmm, requirement to install on the client when installed on the server? I never coded anything like that into the mod. That must be some arbitrary rule Quilt is enforcing. Either way, I will look into installing it on client-only once I get the chance to.

Mouy07 commented

I do have the server set to ignore client mod requirements so it’s definitely not intended. Also as I said originally, everything works as intended with BSS versions earlier than v3.x.

Hello again.
I wanted to look further into this issue and to resolve it so it doesn't stay open indefinitely, but am having issues understanding what goes on and replicating it.

This time, I tried a setup where both the client and the server are Quilt 1.20.1. On the server, I put QFAPI and Bookshelf (I also tried with Pehkui and with both), and on the client I had QFAPI, Architectury, and BSS.

The first thing that happened with each test was my client being told to install Pehkui and Bookshelf like so:

(click here to reveal the image)

This seemed like a (normal?) behavior, where both Pehkui and Bookshelf are required on both sides. After following through with this requirement, and installing them on the client as well, everything worked fine.

Now given the latest BSS version that was published about an hour ago fixes the issue of BSS requiring clients to install it when it's present on the server, I decided to try it out with older versions. Same results; everything worked fine. Even tried it with v3.0.

Was this issue perhaps related with #102? Likely not, given BSS has to be on the client and not the server, for this issue to take place I assume.

Anyways I'd love to look into finally patching this issue, if it's still a thing and didn't accidentally already get patched somehow. Sorry for taking months to respond to this issue by the way, and have a great day!

Wow I forgot I even made this bug report!

One thing I realize I left out originally is that I modified Quilt's "registry.toml" to allow mismatched clients to join the server. This was a deliberate choice, as I was running a vanilla+ style server and wanted to allow flexibility in what mods players could use.

With that extra bit included, I've recreated the setup I originally described using the most recent versions of everything for 1.20.1, and the issue seems to be fixed! No errors, no client-server incompatibility, I can join and play with no issues.

Interesting. Thanks for letting me know!
I suppose the issue probably got unintentionally resolved by either me or Quilt or something else. Either way, I will close this issue for now. If there are any further issues related to this that take place in the future, then this issue may be reopened.
Thanks again, and have a great day!