But as mentioned in the last comment, performing this change has two big knock-on effects that need discussion
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)
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
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.