Skip to content

Crash when two players attack the same mob (BetterQuesting packet assembly conflict) #794

@mandrin-dev

Description

@mandrin-dev

Environment:

Modpack: RLCraft 2.9.3

Minecraft: 1.12.2

Forge: 14.23.5.2860

BetterQuesting: 3.5.329

Server: Dedicated, with multiple players

Description:
When two players are in the same world and attack the same mob simultaneously (mob type does not matter), both clients are disconnected with a A fatal error has occurred, this connection is terminated message.
The server log shows a BetterQuesting packet assembly error.

Steps to Reproduce:

Launch a dedicated server with the above environment.

Two players join the world (BetterQuesting is active, default RLCraft quest data).

Both attack the same mob at the same time.

Both players get disconnected.

Observed Result:
Clients are disconnected and the server logs an IllegalStateException from betterquesting.network.PacketAssembly.setBuffer:

java.lang.IllegalStateException: Attempted to start more than one BQ packet assembly for UUID
at betterquesting.network.PacketAssembly.setBuffer(PacketAssembly.java:143)
at betterquesting.network.PacketAssembly.assemblePacket(PacketAssembly.java:85)
at betterquesting.network.PacketQuesting$HandleServer.onMessage(PacketQuesting.java:57)
...
Expected Result:
No disconnection should occur when two players attack the same mob at the same time.

Additional Info:

This happens regardless of mob type.

Seems to occur more often if both players are in the same party with Progress Sharing enabled.

We have tried increasing I:clumpingThreshold in forge.cfg and disabling quest popups, but the crash persists.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions