gameServer/HWProtoLobbyState.hs
changeset 15878 fc3cb23fd26f
parent 14381 32e8c81ca35c
child 15983 2c92499daa67
--- a/gameServer/HWProtoLobbyState.hs	Fri Sep 23 12:47:47 2022 -0400
+++ b/gameServer/HWProtoLobbyState.hs	Tue Sep 27 14:59:03 2022 +0300
@@ -40,7 +40,7 @@
     (ci, irnc) <- ask
     let cl = irnc `client` ci
     rooms <- allRoomInfos
-    let roomsInfoList = concatMap (\r -> roomInfo (clientProto cl) (maybeNick . liftM (client irnc) $ masterID r) r) . filter (\r -> (roomProto r == clientProto cl))
+    let roomsInfoList = concatMap (\r -> roomInfo (clientProto cl) (maybeNick . liftM (client irnc) $ masterID r) r) . filter ((/=) 0 . roomProto)
     return $ if hasAskedList cl then [] else
         [ ModifyClient (\c -> c{hasAskedList = True})
         , AnswerClients [sendChan cl] ("ROOMS" : roomsInfoList rooms)]
@@ -91,7 +91,9 @@
                 []
     let clTeamsNames = map teamname clTeams
     return $
-        if isNothing maybeRI then
+        if isNothing maybeRI && clientProto cl < 60 && B.isPrefixOf "[v" roomName then
+            [Warning $ loc "Room version incompatible to your Hedgewars version!"]
+            else if isNothing maybeRI then
             [Warning $ loc "No such room."]
             else if (not sameProto) && (not $ isAdministrator cl) then
             [Warning $ loc "Room version incompatible to your Hedgewars version!"]