2021.6.30 added new fields, which aren't present on old clients.
This commit makes sure players on old versions are disconnected properly
instead of the server erroring internally.
* Improve error when client version is unsupported
In the default message that was used previously the user is asked to
upgrade his game. This is not always correct, as sometimes the Impostor
server is too old and should be updated instead. Therefore custom
disconnect messages are used that blames either the user or the server
operator, which is hopefully more accurate.
I've chosen not to include the game version that is supported by the
server in this message because the network version rarely matches the
advertised version in the main menu.
* Rewrite versionCompare switch case
Co-authored-by: js6pak <kubastaron@hotmail.com>
Co-authored-by: js6pak <kubastaron@hotmail.com>
This is used to hide players that are still selecting their spawn
location. If this is cancelled, players are left standing at the
location they were at when the last meeting was called, which is undesirable.
There is no significant performance difference: while accessing the
getters is slightly slower, this can be balanced against the cost of
setting the property. As this is also cleaner, switch to getters.
As Among Us is getting a lot of small network-compatible bugfix releases
nowadays, it doesn't seem necessary to maintain the table anymore.
Release notes state clearly which network version is supported and there
is limited support for old versions anyway.
The patcher has not been updated to support the new JSON format and is
less necessary now that JSON is used for the region file format.
The website also now has deeplinking support, so we point Android/iOS
people to the website now too as that is more convenient compared to the
previous methods.