LambdaHack-0.8.1.2: A game engine library for tactical squad ASCII roguelike dungeon crawlers

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Server

Contents

Description

Semantics of requests that are sent by clients to the server, in terms of game state changes and responses to be sent to the clients.

See https://github.com/LambdaHack/LambdaHack/wiki/Client-server-architecture.

Synopsis

Re-exported from Game.LambdaHack.Server.LoopM

loopSer Source #

Arguments

:: (MonadServerAtomic m, MonadServerReadRequest m) 
=> ServerOptions

player-supplied server options

-> (Bool -> FactionId -> ChanServer -> IO ())

function that initializes a client and runs its main loop

-> m () 

Start a game session, including the clients, and then loop, communicating with the clients.

The loop is started in server state that is empty, see emptyStateServer.

Re-exported from Game.LambdaHack.Server.ProtocolM

data ChanServer Source #

Connection channel between the server and a single client.

Re-exported from Game.LambdaHack.Server.Commandline

serverOptionsPI :: ParserInfo ServerOptions Source #

Parser for server options from commandline arguments.

Re-exported from Game.LambdaHack.Server.ServerOptions