[ANGRY PIXEL] The Betweenlands

[ANGRY PIXEL] The Betweenlands

24M Downloads

Crash while travelling to betweenlands on server.

Divineaspect opened this issue ยท 20 comments

commented

Versions

Betweenlands version: 3.3.12

Forge version: 2758

Singleplayer or Multiplayer: Multiplayer, Forge

Installed mods:

https://gist.github.com/belathus/0e2fd1656c0b8aea9a4e0debd44be1d8

Link to full crash log

https://gist.github.com/Divineaspect/c44391647a658dbbd516deab19037ae5

Description of the problem

How to reproduce:

  1. Use Swamp Talisman on sapling
  2. Attempt to Enter Portal
  3. Get Kicked

Expected result:

Entering the betweenlands

Actual result: being disconnected from the server with the log in the gist above.

commented

I'd need your modpack to test it because it can't be reproduced with BL only.

commented

We're on ATL, but the pack isn't public yet. I can add you as a tester.

commented

Tried to reproduce with the same Forge and BL version but did not get this.
Does this consistently happen to you?

commented

Yes, and to the only other person on the server to attempt it.

commented

Please try these dev builds:
https://github.com/Angry-Pixel/The-Betweenlands-Development-Builds/releases/tag/dev-1.12-network-fix-1076-13.10.2018

I don't know why it's happening but I changed some parts that might play a role in this.

commented

No change
Client on TheBetweenlands-3.3.12-1076-SNAPSHOT-universal.jar
Server on TheBetweenlands-3.3.12-1076-SNAPSHOT-server.jar
https://gist.github.com/bshelden/d268666342739260d3b8150c3d59ea14

commented

Running into this exact situation myself with an unrelated modpack (completely hand spun). I'll see if I can minimize somehow.

Single player is of course working perfectly. So this may take some time.

Edit: Well now that's interesting. Made a local server and I cannot repro.
The differences here is that the server is on linux, and on the other side of north america.
My local server is of course on loopback, and on windows 10.

commented

can you produce a modlist?

commented

So that fixed it. Yay observer effect.
Using build 1084
Here are the logs:
client: https://gist.github.com/bshelden/6ecd1f8a38be64604e23cd4220a66bbf
server: https://gist.github.com/bshelden/b2d9028eb6dd253f972ff0aa1da87a09

commented

Without any logging or tracking ID: https://github.com/Angry-Pixel/The-Betweenlands-Development-Builds/releases/tag/dev-1.12-network-fix-1095-14.10.2018
With logging but without tracking ID: https://github.com/Angry-Pixel/The-Betweenlands-Development-Builds/releases/tag/dev-1.12-network-fix-1094-14.10.2018

Please test the 1st build, and if that one doesn't work then test the 2nd build too. Thanks.

commented

Both builds crash. Here's the log from 1094.
For a sync between the logs, I said "Testing 1094" immediately before stepping through.
Client: https://gist.github.com/bshelden/8bc253ea1094cb42dc318f5d1aa41c03
Server: https://gist.github.com/bshelden/110631fcf612a51737ef46701c536015

commented

Hm, thanks for testing it. What a strange problem we have here :P
I'll make another dev build with logging so I can hopefully figure out what's going on.

commented

Ok here's another dev build with additional logging:
https://github.com/Angry-Pixel/The-Betweenlands-Development-Builds/releases/tag/dev-1.12-network-fix-1084-14.10.2018
Would be great if somebody could test this out and send me both the full client and server log :)

commented

Thanks.
Ok, so I got some useful information from that. Looks like the data is all fine, but it uses a different deserializer on the client. There's several ways this can happen and these three come to my mind:

  1. The client installation has a mod that adds a DataSerializer that the server does not have, or vice versa.
  2. A mod registers its DataSerializer's in an incorrect way such that the order on the server and client is different.
  3. The mod loading order on the server is different from the mod loading order on the client (from what I know that should not happen with normal Forge if both have exactly the same mods).

I'm almost certain about that because as seen in the log the vanilla DataSerializer's work fine because they will definitely always occupy the same order and IDs, unlike modded DataSerializer's.

commented

I've decided to just get rid of the custom DataSerializer's, they're too prone to break with other mods using them too.

commented

Success!