ZeroK-RTS / Zero-K-Infrastructure

Website, lobby launcher and server, steam deployment, .NET based tools and other vital parts of Zero-K infrastructure
GNU General Public License v3.0
53 stars 52 forks source link

Nightwatch bug - cause Channel Joining Errors for ZKL users #163

Closed shaun0x00 closed 10 years ago

shaun0x00 commented 10 years ago

here is excerpt of lobby traffic:

SAID extension Nightwatch USER_EXT [V]sheep Level|107|EffectiveElo|1979|Faction|Hegemony|Clan|Mean|Avatar|corbhmth|SpringieLevel|2|ZkAdmin|1 JOINFAILED zkadmin Already in channel! JOINFAILED zktop20 Already in channel! JOINFAILED clan_Mean Already in channel! JOINFAILED Hegemony Already in channel!

As we can see, my client didn't request a JOIN, but got a JOINFAILED error. It happens right after I got my USER_EXT entry... I guess it indicates that when nightwatch restarts, it somehow doesn't know/chech whether you are already in those channels...

check Nighwatch/AuthService.cs ...

Additionally, this probably indicates a bug in uberserver, where error should be sent to Nightwatch (FORCEJOIN initiator)...

abma commented 10 years ago

not sure if this is a uberserver or nightwatch bug, FORCEJOIN doesn't check if user is already in a channel yet: https://github.com/spring/uberserver/issues/106

maybe both :-)

xponen commented 10 years ago

it can't be FORCEJOIN. I got same error for non-forcejoined room, like #zkdev also I notice in my ZKL "server" tab, it says: JOIN zk <---green (I ask to join room) JOIN zk <---purple its like server echo back to me what my ZKL said. is this expected?

db81 commented 10 years ago

Yes. It doesn't just blindly echo back your commands, the semantics is that you haven't actually joined the channel until the servers sents you a JOIN command. http://springrts.com/dl/LobbyProtocol/ProtocolDescription.html#JOIN:server

Anarchid commented 10 years ago

If this happens to non-ZKL users on non-forcejoined channels, that means either more than one lobby is affected (at least, both SWL and ZKL), or there's indeed an uberserver bug.

xponen commented 10 years ago

[v]sheep says its Nightwatch bug,

also the "already join" error can also happen because ZKL asked to join twice too. Its funny suddenly everything have to be fixed at once... ( one instance fixed by Licho https://github.com/ZeroK-RTS/Zero-K-Infrastructure/commit/0c86f8c213668c750a252558a788284eb8591929 )

Maybe all other lobby also have same bug, or all other lobby effected by Nightwatch bug, or maybe there is also a uberserver bug too?

Licho1 commented 10 years ago

Fixed by https://github.com/spring/uberserver/issues/116