spring / LobbyProtocol

lobby protocol for the spring rts engine
https://springrts.com/dl/LobbyProtocol/
10 stars 12 forks source link

engineName and engineVersion in BATTLEOPENEDEX are not sentences #14

Closed cleanrock closed 11 years ago

cleanrock commented 11 years ago

uberserver sends them as words:

client.Send('BATTLEOPENEDEX %(id)s %(type)s %(natType)s %(host)s %(ip)s %(port)s %(maxplayers)s %(passworded)s %(rank)s %(maphash)s %(engine)s %(version)s %(map)s\t%(title)s\t%(modname)s' % ubattle)

I guess words are enough for these so we should correct LobbyProtocol.

cleanrock commented 11 years ago

Also applies to OPENBATTLEEX.

abma commented 11 years ago

sorry for the stupid question, but whats the difference? words vs sentence?

missing "normalization" (=removal of space/tab) of engine & version?

cleanrock commented 11 years ago

We should change "{engineName} {engineVersion}" to "engineName engineVersion" in the protocol docs: http://springrts.com/dl/LobbyProtocol/ProtocolDescription.html#BATTLEOPENEDEX:server http://springrts.com/dl/LobbyProtocol/ProtocolDescription.html#OPENBATTLEEX:client

"{} = sentence = several words (at least one!) separated by space characters", see protocol introduction for details.

abma commented 11 years ago

yeah, uberserver implementation doesn't match lobbyprotocol: https://github.com/spring/uberserver/blob/master/Protocol.py#L1393

i guess a new compatibility flag is needed to fix that...

engineVersion and engineName should be added to OPENBATTLE & BATTLEOPENED & the EX version removed (but as sentence)

abma commented 11 years ago

see #15

the EX commands should be removed and the existing commands fixed by using sentences