Closed DidsheMa closed 3 years ago
The "short term" solution is already present in the gatekeeper, it's being used for the advancement and death message forwarding from RW to main (and vice versa, for ingame display).
Short term solution is currently live, working better overall but there still seem to be fringe (and sadly unreproduceable as of now) cases where leave announcements go missing - Didy and I noticed it happen three times yesterday, in a matter of hours to three different players.
Long term solution now implemented and tested in Bouncer/GK which should resolve this issue with all its components for good; pending deployment on Slab
Whole month without issues, 10/10 would leave/join/doublejoin the server again
This should be an easy fix, just have the Bouncer keep track of who actually joined the server and not just the network.
There's two solutions to this:
Short term: Add a timestamp to join/leave messages forwarded to the Paper gatekeeper plugin from the Bouncer, have the gatekeeper check for "decay" and only pass on relevant msgs
Long term: Ditch PMS, and implement a simple SQL-based producer-consumer infrastructure for the join/leave message task within Bouncer and Gatekeeper. This would also allow us to circumvent the stupid requirement of needing at least one player to be online on the main world to be able to forward joins/leaves to Discord.