netserver/Miscutils.hs
changeset 1742 cf97d1eecb12
parent 1683 af34da5726aa
child 1748 27dd2967fc65
equal deleted inserted replaced
1741:1bec3a7bca37 1742:cf97d1eecb12
     8 import Maybe (fromJust)
     8 import Maybe (fromJust)
     9 import qualified Data.Map as Map
     9 import qualified Data.Map as Map
    10 import Data.Time
    10 import Data.Time
    11 import Data.Sequence(Seq, empty)
    11 import Data.Sequence(Seq, empty)
    12 import Network
    12 import Network
       
    13 import qualified Codec.Binary.Base64 as Base64
       
    14 import qualified Codec.Binary.UTF8.String as UTF8
    13 
    15 
    14 data ClientInfo =
    16 data ClientInfo =
    15  ClientInfo
    17  ClientInfo
    16 	{
    18 	{
    17 		chan :: TChan [String],
    19 		chan :: TChan [String],
    60 		playersIn :: Int,
    62 		playersIn :: Int,
    61 		readyPlayers :: Int,
    63 		readyPlayers :: Int,
    62 		isRestrictedJoins :: Bool,
    64 		isRestrictedJoins :: Bool,
    63 		isRestrictedTeams :: Bool,
    65 		isRestrictedTeams :: Bool,
    64 		roundMsgs :: Seq String,
    66 		roundMsgs :: Seq String,
       
    67 		leftTeams :: [String],
    65 		params :: Map.Map String [String]
    68 		params :: Map.Map String [String]
    66 	}
    69 	}
    67 createRoom = (
    70 createRoom = (
    68 	RoomInfo
    71 	RoomInfo
    69 		""
    72 		""
    75 		1
    78 		1
    76 		0
    79 		0
    77 		False
    80 		False
    78 		False
    81 		False
    79 		Data.Sequence.empty
    82 		Data.Sequence.empty
       
    83 		[]
    80 		Map.empty
    84 		Map.empty
    81 	)
    85 	)
    82 
    86 
    83 data ServerInfo =
    87 data ServerInfo =
    84 	ServerInfo
    88 	ServerInfo
   198 proto2ver 21 = "0.9.8"
   202 proto2ver 21 = "0.9.8"
   199 proto2ver 22 = "0.9.9-dev"
   203 proto2ver 22 = "0.9.9-dev"
   200 proto2ver 23 = "0.9.9"
   204 proto2ver 23 = "0.9.9"
   201 proto2ver 24 = "0.9.10-dev"
   205 proto2ver 24 = "0.9.10-dev"
   202 proto2ver _ = "Unknown"
   206 proto2ver _ = "Unknown"
       
   207 
       
   208 toEngineMsg :: String -> String
       
   209 toEngineMsg msg = Base64.encode (fromIntegral (length msg) : (UTF8.encode msg))