diff -r ec41194d4444 -r 8aa450f6cf2c gameServer/OfficialServer/GameReplayStore.hs --- a/gameServer/OfficialServer/GameReplayStore.hs Tue Jan 22 00:24:44 2013 +0400 +++ b/gameServer/OfficialServer/GameReplayStore.hs Tue Jan 22 00:33:37 2013 +0400 @@ -14,12 +14,13 @@ saveReplay :: RoomInfo -> IO () -saveReplay r = when allPlayersHaveRegisteredAccounts $ do - time <- getCurrentTime - u <- liftM hashUnique newUnique - let fileName = "replays/" ++ show time ++ "-" ++ show u +saveReplay r = do let gi = fromJust $ gameInfo r - let replayInfo = (teamsAtStart gi, Map.toList $ mapParams r, Map.toList $ params r, roundMsgs gi) - E.catch - (writeFile fileName (show replayInfo)) - (\(e :: IOException) -> warningM "REPLAYS" $ "Couldn't write to " ++ fileName ++ ": " ++ show e) + when (allPlayersHaveRegisteredAccounts gi) $ do + time <- getCurrentTime + u <- liftM hashUnique newUnique + let fileName = "replays/" ++ show time ++ "-" ++ show u + let replayInfo = (teamsAtStart gi, Map.toList $ mapParams r, Map.toList $ params r, roundMsgs gi) + E.catch + (writeFile fileName (show replayInfo)) + (\(e :: IOException) -> warningM "REPLAYS" $ "Couldn't write to " ++ fileName ++ ": " ++ show e)