This should help server bypass malformed replays
authorunc0rr
Tue, 28 Jan 2014 22:29:21 +0400
changeset 10086 4a7ce724357f
parent 10085 3e6cb7d80986
child 10087 5ba891578621
This should help server bypass malformed replays
gameServer/Actions.hs
gameServer/OfficialServer/GameReplayStore.hs
--- a/gameServer/Actions.hs	Tue Jan 28 09:09:31 2014 -0500
+++ b/gameServer/Actions.hs	Tue Jan 28 22:29:21 2014 +0400
@@ -717,7 +717,7 @@
         filterM (client'sM rnc (isJust . checkInfo)) allci
 
     (cinfo, l) <- io $ loadReplay (fromIntegral p) blackList
-    when (not . null $ l) $
+    when (isJust cinfo) $
         mapM_ processAction [
             AnswerClients [c] ("REPLAY" : l)
             , ModifyClient $ \c -> c{checkInfo = cinfo, isReady = False}
--- a/gameServer/OfficialServer/GameReplayStore.hs	Tue Jan 28 09:09:31 2014 -0500
+++ b/gameServer/OfficialServer/GameReplayStore.hs	Tue Jan 28 22:29:21 2014 +0400
@@ -52,7 +52,7 @@
     where
         loadFile :: String -> IO (Maybe CheckInfo, [B.ByteString])
         loadFile fileName = E.handle (\(e :: SomeException) ->
-                    warningM "REPLAYS" ("Problems reading " ++ fileName ++ ": " ++ show e) >> return (Nothing, [])) $ do
+                    warningM "REPLAYS" ("Problems reading " ++ fileName ++ ": " ++ show e) >> return (Just $ CheckInfo fileName [], [])) $ do
             (teams, params1, params2, roundMsgs) <- liftM read $ readFile fileName
             return $ (
                 Just (CheckInfo fileName teams)