Come up with a migration plan to fix broken dongle IDs for certain roundplug games #260

Open
opened 2023-08-14 16:39:04 +03:00 by mon · 0 comments
mon commented 2023-08-14 16:39:04 +03:00 (Migrated from github.com)

All the context about what's broken and how to fix it are in this review thread: https://github.com/djhackersdev/bemanitools/pull/257#pullrequestreview-1497017099

But as mentioned in the last comment, performing this change has two big knock-on effects that need discussion

  1. If the change is a hard one, people with invalid PCBIDs are going to start getting crashing games (albeit with a hopefully very easy to action log message)
  2. Servers currently work around the broken dongle IDs, and this might trip them up

My initial thought I think seems fairly robust, if a little unclean: if the PCBID has a valid checksum (i.e. it's currently valid for our broken algo), then send it as per the old algorithm. Otherwise, if it has a valid newstyle header and invalid checksum (because bemanitools should be expected to calculate it), then process in the new way.

I think it's not too hard of a task to get server operators informed, so maybe a hard fix is the better long-term solution.

All the context about what's broken and how to fix it are in this review thread: https://github.com/djhackersdev/bemanitools/pull/257#pullrequestreview-1497017099 But as mentioned in the last comment, performing this change has two big knock-on effects that need discussion 1. If the change is a hard one, people with invalid PCBIDs are going to start getting crashing games (albeit with a hopefully very easy to action log message) 2. Servers currently work around the broken dongle IDs, and this might trip them up My initial thought I _think_ seems fairly robust, if a little unclean: if the PCBID has a valid checksum (i.e. it's currently valid for our broken algo), then send it as per the old algorithm. Otherwise, if it has a valid newstyle header and invalid checksum (because bemanitools should be expected to calculate it), then process in the new way. I think it's not too hard of a task to get server operators informed, so maybe a hard fix is the better long-term solution.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Max/djhackersdev_bemanitools#260