spring / uberserver

uberserver, a matchmaking/chat lobby server for the spring rts project
https://springrts.com/wiki/Uberserver
Other
33 stars 38 forks source link

relayhost host with spring engine version '*' / remove 'cl' flag #301

Closed abma closed 5 years ago

abma commented 5 years ago

for some reason, this version can't be downloaded ;-)

who removed the default version?

abma commented 5 years ago

https://github.com/spring/uberserver/commit/6cdb02b2573f9f06fb8f7561f0a05a82a069771b#diff-cb20f5e10bd02a72b1e7fb935fcacbb5L29

abma commented 5 years ago

"cl" compat flag is mandatory it seems since the latest changes https://springrts.com/dl/LobbyProtocol/ProtocolDescription.html#OPENBATTLE:client

" cl: added Engine Name / Engine Version to BATTLEOPENED/ OPENBATTLE "

abma commented 5 years ago

seems TASClient / old springlobby versions / old weblobby versions will finally die?!

abma commented 5 years ago

-> either fix relayhost or readd comatibility for hosts without 'cl'

abma commented 5 years ago

i've stopped the relayhost as its unusable atm

abma commented 5 years ago

'cl' flag + all references to it needs to be removed (as some other changes will soon break / or already broke old lobbies)

silentwings commented 5 years ago

I guess relay hosts will be broken with the current code while no min Spring version is set - but once a min spring version is set (and takes the place of the latestspringversion) they should function correctly.

I think the relay host should choose a Spring version for itself, when the server doesn't suggest, so my initial reaction is no change required here. (And, I'm tempted to disallow clients not sending 'cl' from hosting battles.)

The protocol docs only specify the current version of the protocol - with the exception of the changelog which brief explains some of the older compat flags.

seems TASClient / old springlobby versions / old weblobby versions will finally die?!

They will be able to log in but (due to email verif) will become unable to create new user accounts. They should still be fine to join battles and play games on. This was tested with my old SL version but I haven't tested other lobbies.

abma commented 5 years ago

as i already wrote: the cl flag needs to die

silentwings commented 5 years ago

Killing 'cl' will make clients without it unable to even join battles, because they will fail to process BATTLEOPENED - I think preventing them from hosting is enough.

We do have too many flags, but I'd rather wait to fully kill cl for now, supporting legacy clients who just want to join an existing battle doesn't hurt the code much.

silentwings commented 5 years ago

I don't think there is anything wrong in the server code here; just relay hosts need a fallback to deal with '*' as min spring version (meaning: no min spring version is currently set).

Fwiw the recent changes didn't add '*' into the protocol, it was already there.

silentwings commented 5 years ago

328