Cafu Engine
ServerT Class Reference

The server, like the client, is a state machine. More...

#include "Server.hpp"

Classes

class  GuiCallbackI
 A class that the server uses in order to let a GUI know in which state the server currently is. More...
 
class  InitErrorT
 A class that is thrown on server initialization errors. More...
 

Public Member Functions

 ServerT (const GameInfoT &GameInfo, const GuiCallbackI &GuiCallback_, ModelManagerT &ModelMan, cf::GuiSys::GuiResourcesT &GuiRes)
 The constructor. More...
 
void MainLoop ()
 

Static Public Member Functions

static int ConFunc_changeLevel_Callback (lua_State *LuaState)
 
static int ConFunc_runMapCmd_Callback (lua_State *LuaState)
 A console function that stores the given command string until the server "thinks" next. More...
 

Detailed Description

The server, like the client, is a state machine.

It doesn't present its state explicitly however, but only as two implicit states: map loaded ("normal, running") and map unloaded ("idle"). As with the client, having a true "idle" state (rather than expressing it with a NULL ServerT instance pointer) has several advantages: a) We can gracefully terminate pending network connections (e.g. resend reliable data in the clients zombie state), and b) the server can receive and process conn-less network packets, and thus is available for administration via rcon commands.

Constructor & Destructor Documentation

ServerT::ServerT ( const GameInfoT GameInfo,
const GuiCallbackI GuiCallback_,
ModelManagerT ModelMan,
cf::GuiSys::GuiResourcesT GuiRes 
)

The constructor.

Exceptions
InitErrorTif the server could not be initialized (e.g. a socket for the desired port could not be aquired).

Member Function Documentation

int ServerT::ConFunc_runMapCmd_Callback ( lua_State *  LuaState)
static

A console function that stores the given command string until the server "thinks" next.

The RunMapCmdsFromConsole() method then runs the commands in the context of the current map/entity script.


The documentation for this class was generated from the following files: