Basisklasse für Server, Grundlage für die verschiedenen Serverarten/Games

copyright (c) Copyright 2008-2013 by ManuAdminMod (http://www.manuadminmod.de)
license Creative Commons BY-NC-ND 3.0 (http://www.creativecommons.org/licenses/by-nc-nd/3.0/)
link http://www.manuadminmod.de
author manu (manu@manuadminmod.de)
since 1.0
version 1.0

 Methods

Bietet Zugriff auf die Zweiseitige Kommunikation mit dem Server

Commander() : \Daemon\Server\Commander

Bietet Zugriff auf das Game-Objekt

Game() 

Bietet Zugriff auf den InputAdapter

InputAdapter() : \Daemon\Server\InputAdapter

Gibt das Objekt für den Zugriff auf die MySQL-Datenbank zurück

MySQL() : \Daemon\Lib\Database\MySQL

Gibt das Objekt zum schreiben in die Konsole zurück

Output() : \Daemon\Lib\IO\Output

Bietet Zugriff auf die Spieler die auf dem Server sind.

Players() : \Daemon\Server\PlayerMapper

Konstruktor für alle Server

__construct(\Daemon\Core\Core $Core, int $dbid, string $name, string $description, $gameId, $gameName, string $game_description) 

Die verschiedenen Server-Klassen werden immer mit den gleichen Parametern aus Core::init() aufgerufen. Die Parameter dürfen sich deshalb nicht ändern

Für Initialisation ist Server::init() da

Parameters

$Core

\Daemon\Core\Core

Eltern-Kern

$dbid

int

Datenbank-ID dieses Servers

$name

string

$description

string

$gameId

$gameName

$game_description

string

Ruft ein Event in den Plugins auf

callEvent(\Daemon\Server\ServerEvent $Event) : void

Leitet ein Event an die Plugins weiter, also ruft in allen Plugins die Funktion event($e) auf

Wirft eine Exception, wenn der Server nicht läuft

Parameters

$Event

\Daemon\Server\ServerEvent

Das zu verteilende Event

Exceptions

\Daemon\Server\Server_Exception

Prüft, ob ein Command bereits registriert wurde

commandExists(string $command) : boolean

Parameters

$command

string

Returns

boolean

Tickfunktion

doTick() : void

Sollte einmal pro Hauptschleifendurchlauf aufgerufen werden

Externe Tickfunktion, prüft ob der Server bereits gestartet ist und ruft dann Server::tick() auf

Das Event tick wird aufgerufen

Exceptions

\BadMethodCallException

Führt einen Command aus, also leitet den Command an die Plugins weiter

executeCommand(\Daemon\Server\ServerCommand $Command, \Daemon\Server\Player $Executer) : void

Parameters

Lädt die Konfiguration einer Kategorie für den Server

getConfig($category) : \Daemon\Lib\Config\Config_MySQL

Lädt die Konfiguration einer Kategorie für den Server aus der Datenbank und liefert ein Config-Objekt

TODO: Verwendung von globalen Einstellungen, welche von Servereinstellungen überschrieben werden können, implementieren

Parameters

$category

string Konfigurations-Kategorie

Returns

Gibt die Datenbank-ID des Server zurück

getDbId() : integer

Returns

integer

Liefert die Beschreibung (ausgeschriebener Name) des Servers

getDescription() : string

Returns

string

Liefert die Game-Beschreibung (ausgeschriebener Name) des Servers

getGameDescription() : string

Returns

string

Liefert die Game-ID des Servers

getGameId() : integer

Returns

integer

Liefert das Game des Servers

getGameName() : string

Returns

string

Liefert den Namen des Servers

getName() : string

Returns

string

Bietet Zugriff auf die Main-Konfiguration des Servers.

getServerConfig() : \Daemon\Lib\Config\Config_MySQL

Prüft, ob der Server gerade läuft

isRunning() : boolean

Returns

boolean

Registriert eine ServerExtension

registerExtension(\Daemon\Server\ServerExtension $Extension) : void

Sendet eine Nachricht an den globalen Serverchat

sendGlobalMessage(string $msg) : void

Parameters

$msg

string

Startet den Server

start() : void

Das Event serverstart wird aufgerufen

Exceptions

\Daemon\Server\ServerStartException

Stoppt den Server

stop() : void

"Deinitialisiert", also stoppt den Server

deInit() : void

Initialisiert den Server, z.B.: Verbindungsaufbau, Konfiguration laden

init() : void

Wird unmittelbar vor dem starten des Servers aufgerufen

Exceptions

\Daemon\Server\ServerStartException

Registriert einen ActionHandler für InputActions

registerActionHandler(\Daemon\Server\ActionHandler $Handler) : void

Registriert die Action Handler

registerActionHandlers() : void

Wird direkt nach dem Konstruktor aufgerufen

Synchronisiert die Spielerliste erstmalig nach der Initialisation

syncPlayers() : void

Interne Tickfunktion

tick() : void

Das Event Tick wird aufgerufen

 Properties

 

$Core : \Daemon\Core\Core
 

$ActionHandlers : \Daemon\Server\ActionHandler[]
   

$actionHandlerRegister : array
 

$commandExtensionIndex : array
 

$dbid : integer
 

$description : string
 

$gameDescription : string
 

$gameId : integer
 

$gameName : string
 

$name : string
 

$running : boolean