gameServer/OfficialServer/checker.hs
branchwebgl
changeset 9950 2759212a27de
parent 9866 62ffe234127d
child 10014 56d2f2d5aad8
equal deleted inserted replaced
9521:8054d9d775fd 9950:2759212a27de
    34              | CheckFailed B.ByteString
    34              | CheckFailed B.ByteString
    35              | CheckSuccess [B.ByteString]
    35              | CheckSuccess [B.ByteString]
    36     deriving Show
    36     deriving Show
    37 
    37 
    38 serverAddress = "netserver.hedgewars.org"
    38 serverAddress = "netserver.hedgewars.org"
    39 protocolNumber = "45"
    39 protocolNumber = "47"
    40 
    40 
    41 getLines :: Handle -> IO [B.ByteString]
    41 getLines :: Handle -> IO [B.ByteString]
    42 getLines h = g
    42 getLines h = g
    43     where
    43     where
    44         g = do
    44         g = do
    75     (fileName, h) <- openBinaryTempFile tempDir "checker-demo"
    75     (fileName, h) <- openBinaryTempFile tempDir "checker-demo"
    76     B.hPut h . BW.pack . concat . map (fromMaybe [] . Base64.decode . B.unpack) $ msgs
    76     B.hPut h . BW.pack . concat . map (fromMaybe [] . Base64.decode . B.unpack) $ msgs
    77     hFlush h
    77     hFlush h
    78     hClose h
    78     hClose h
    79 
    79 
    80     (_, _, Just hOut, _) <- createProcess (proc "/usr/home/unC0Rr/Sources/Hedgewars/Releases/0.9.19/bin/hwengine"
    80     (_, _, Just hOut, _) <- createProcess (proc "/usr/home/unC0Rr/Sources/Hedgewars/Releases/0.9.20/bin/hwengine"
    81                 [fileName
    81                 [fileName
    82                 , "--user-prefix", "/usr/home/unC0Rr/.hedgewars"
    82                 , "--user-prefix", "/usr/home/unC0Rr/.hedgewars"
    83                 , "--prefix", "/usr/home/unC0Rr/Sources/Hedgewars/Releases/0.9.19/share/hedgewars/Data"
    83                 , "--prefix", "/usr/home/unC0Rr/Sources/Hedgewars/Releases/0.9.20/share/hedgewars/Data"
    84                 , "--nomusic"
    84                 , "--nomusic"
    85                 , "--nosound"
    85                 , "--nosound"
    86                 , "--stats-only"
    86                 , "--stats-only"
    87                 ])
    87                 ])
    88             {std_err = CreatePipe}
    88             {std_err = CreatePipe}
   169     updateGlobalLogger "Check" (setLevel DEBUG)
   169     updateGlobalLogger "Check" (setLevel DEBUG)
   170     updateGlobalLogger "Engine" (setLevel DEBUG)
   170     updateGlobalLogger "Engine" (setLevel DEBUG)
   171 
   171 
   172     Right (login, password) <- runErrorT $ do
   172     Right (login, password) <- runErrorT $ do
   173         d <- liftIO $ getHomeDirectory
   173         d <- liftIO $ getHomeDirectory
   174         conf <- join . liftIO . CF.readfile CF.emptyCP $ d ++ "/.hedgewars/hedgewars.ini"
   174         conf <- join . liftIO . CF.readfile CF.emptyCP $ d ++ "/.hedgewars/settings.ini"
   175         l <- CF.get conf "net" "nick"
   175         l <- CF.get conf "net" "nick"
   176         p <- CF.get conf "net" "passwordhash"
   176         p <- CF.get conf "net" "passwordhash"
   177         return (B.pack l, B.pack p)
   177         return (B.pack l, B.pack p)
   178 
   178 
   179 
   179