Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

Eris::ServerInfo Class Reference

Information about a specific game server, retrieved via the Meta-server and anonymous GETs. More...

#include <ServerInfo.h>

List of all members.

Public Member Functions

const std::string & getHostname () const
 retrive the hostname (or dotted-decimal IP) of the server.

const std::string & getServername () const
 retrieve the human-readable name of the server (e.g 'Bob's Mason Server')

const std::string & getRuleset () const
 retrieve a human-readable name of the ruleset (e.g. 'mason' or 'circe')

const std::string & getServer () const
 the server program name, i.e 'stage' or 'cyphesis'

int getNumClients () const
 the number of clients currently connected to the server

int getPing () const
 the round-trip time to the server.

double getUptime () const
 the server's uptime in seconds


Protected Member Functions

 ServerInfo (const std::string &host)
 construct with the host IP only; other values will be set to defaults

void processServer (const Atlas::Objects::Entity::RootEntity &svr)
 called by Meta when info is recieved from the server

void setPing (int p)

Protected Attributes

std::string _host
 Hostname or dotted-decimal IP of the server.

std::string _name
 Human readable name of the server (set by the operator).

std::string _ruleset
 The game system this server is running (e.g. 'Acorn').

std::string _server
 Server program (e.g. 'Cyphesis' or 'Stage').

int _clients
 Number of clients connected to the server.

int _ping
 Estimated round-trip-time (ping) in milliseconds.

double _uptime
 Server uptime in seconds.


Detailed Description

Information about a specific game server, retrieved via the Meta-server and anonymous GETs.

The information includes statistics (uptime, number of clients), configuration (ruleset) and general information (an adminsitrator specifed name). This data is intended to allow clients to display a browser interface, similar to those found in Quake 3 or Tribes 2, from which they can select a server to play on. Note that in the future, each ServerInfo will represent a game world instance, not necessarily a single server, and that a single server might run multiple games. Thus, hostname / IP is a very poor ordering / caching value. Some sort of unique game-instance ID may need to be developed here.


Member Function Documentation

const std::string& Eris::ServerInfo::getHostname  )  const [inline]
 

retrive the hostname (or dotted-decimal IP) of the server.

For multi-server worlds, this will be a name that resolves to a machine capable of accepting the initial LOGIN, and hence should not need special handling.

int Eris::ServerInfo::getPing  )  const [inline]
 

the round-trip time to the server.

The meaning of this when multi-server worlds exist needs to be considered. Verify the accuracy of the ping estimation, since it is currently very poor


The documentation for this class was generated from the following files:
Generated on Tue Jul 27 21:00:43 2004 for Eris by doxygen 1.3.7