DDraceNetwork Documentation
Loading...
Searching...
No Matches
IServer Class Referenceabstract

#include <server.h>

Inheritance diagram for IServer:
[legend]
Collaboration diagram for IServer:
[legend]

Classes

struct  CClientInfo

Public Types

enum  { RCON_CID_SERV = -1 , RCON_CID_VOTE = -2 }

Public Member Functions

int Tick () const
int TickSpeed () const
virtual int Port () const =0
virtual int MaxClients () const =0
virtual int ClientCount () const =0
virtual int DistinctClientCount () const =0
virtual const char * ClientName (int ClientId) const =0
virtual const char * ClientClan (int ClientId) const =0
virtual int ClientCountry (int ClientId) const =0
virtual bool ClientSlotEmpty (int ClientId) const =0
virtual bool ClientIngame (int ClientId) const =0
virtual bool GetClientInfo (int ClientId, CClientInfo *pInfo) const =0
virtual void SetClientDDNetVersion (int ClientId, int DDNetVersion)=0
virtual const NETADDRClientAddr (int ClientId) const =0
virtual const std::array< char, NETADDR_MAXSTRSIZE > & ClientAddrStringImpl (int ClientId, bool IncludePort) const =0
const char * ClientAddrString (int ClientId, bool IncludePort) const
virtual int GetClientVersion (int ClientId) const =0
virtual int SendMsg (CMsgPacker *pMsg, int Flags, int ClientId)=0
template<class T, typename std::enable_if<!protocol7::is_sixup< T >::value, int >::type = 0>
int SendPackMsg (const T *pMsg, int Flags, int ClientId)
template<class T, typename std::enable_if< protocol7::is_sixup< T >::value, int >::type = 1>
int SendPackMsg (const T *pMsg, int Flags, int ClientId)
template<class T>
int SendPackMsgTranslate (const T *pMsg, int Flags, int ClientId)
int SendPackMsgTranslate (const CNetMsg_Sv_Emoticon *pMsg, int Flags, int ClientId)
int SendPackMsgTranslate (const CNetMsg_Sv_Chat *pMsg, int Flags, int ClientId)
int SendPackMsgTranslate (const CNetMsg_Sv_KillMsg *pMsg, int Flags, int ClientId)
int SendPackMsgTranslate (const CNetMsg_Sv_RaceFinish *pMsg, int Flags, int ClientId)
template<class T>
int SendPackMsgOne (const T *pMsg, int Flags, int ClientId)
bool Translate (int &Target, int Client)
bool ReverseTranslate (int &Target, int Client)
virtual void GetMapInfo (char *pMapName, int MapNameSize, int *pMapSize, SHA256_DIGEST *pSha256, int *pMapCrc)=0
virtual bool WouldClientNameChange (int ClientId, const char *pNameRequest)=0
virtual bool WouldClientClanChange (int ClientId, const char *pClanRequest)=0
virtual void SetClientName (int ClientId, const char *pName)=0
virtual void SetClientClan (int ClientId, const char *pClan)=0
virtual void SetClientCountry (int ClientId, int Country)=0
virtual void SetClientScore (int ClientId, std::optional< int > Score)=0
virtual void SetClientFlags (int ClientId, int Flags)=0
virtual int SnapNewId ()=0
virtual void SnapFreeId (int Id)=0
virtual void * SnapNewItem (int Type, int Id, int Size)=0
template<typename T>
T * SnapNewItem (int Id)
virtual void SnapSetStaticsize (int ItemType, int Size)=0
virtual void SetRconCid (int ClientId)=0
virtual int GetAuthedState (int ClientId) const =0
virtual bool IsRconAuthed (int ClientId) const =0
virtual bool IsRconAuthedAdmin (int ClientId) const =0
virtual const char * GetAuthName (int ClientId) const =0
virtual bool HasAuthHidden (int ClientId) const =0
virtual void Kick (int ClientId, const char *pReason)=0
virtual void Ban (int ClientId, int Seconds, const char *pReason, bool VerbatimReason)=0
virtual void RedirectClient (int ClientId, int Port)=0
virtual void ChangeMap (const char *pMap)=0
virtual void ReloadMap ()=0
virtual void DemoRecorder_HandleAutoStart ()=0
virtual void SaveDemo (int ClientId, float Time)=0
virtual void StartRecord (int ClientId)=0
virtual void StopRecord (int ClientId)=0
virtual bool IsRecording (int ClientId)=0
virtual void StopDemos ()=0
virtual int * GetIdMap (int ClientId)=0
virtual bool DnsblWhite (int ClientId)=0
virtual bool DnsblPending (int ClientId)=0
virtual bool DnsblBlack (int ClientId)=0
virtual const char * GetAnnouncementLine ()=0
virtual bool ClientPrevIngame (int ClientId)=0
virtual const char * GetNetErrorString (int ClientId)=0
virtual void ResetNetErrorString (int ClientId)=0
virtual bool SetTimedOut (int ClientId, int OrigId)=0
virtual void SetTimeoutProtected (int ClientId)=0
virtual void SetErrorShutdown (const char *pReason)=0
virtual void ExpireServerInfo ()=0
virtual void FillAntibot (CAntibotRoundData *pData)=0
virtual void SendMsgRaw (int ClientId, const void *pData, int Size, int Flags)=0
virtual const char * GetMapName () const =0
virtual bool IsSixup (int ClientId) const =0
Public Member Functions inherited from IInterface
 IInterface ()
virtual void Shutdown ()
virtual ~IInterface ()=default

Static Public Member Functions

static const char * InterfaceName ()

Protected Attributes

int m_CurrentGameTick

Additional Inherited Members

Protected Member Functions inherited from IInterface
IKernelKernel ()

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
RCON_CID_SERV 
RCON_CID_VOTE 

Member Function Documentation

◆ Ban()

virtual void IServer::Ban ( int ClientId,
int Seconds,
const char * pReason,
bool VerbatimReason )
pure virtual

Implemented in CServer.

◆ ChangeMap()

virtual void IServer::ChangeMap ( const char * pMap)
pure virtual

Implemented in CServer.

◆ ClientAddr()

virtual const NETADDR * IServer::ClientAddr ( int ClientId) const
pure virtual

Implemented in CServer.

◆ ClientAddrString()

const char * IServer::ClientAddrString ( int ClientId,
bool IncludePort ) const
inline

◆ ClientAddrStringImpl()

virtual const std::array< char, NETADDR_MAXSTRSIZE > & IServer::ClientAddrStringImpl ( int ClientId,
bool IncludePort ) const
pure virtual

Implemented in CServer.

◆ ClientClan()

virtual const char * IServer::ClientClan ( int ClientId) const
pure virtual

Implemented in CServer.

◆ ClientCount()

virtual int IServer::ClientCount ( ) const
pure virtual

Implemented in CServer.

◆ ClientCountry()

virtual int IServer::ClientCountry ( int ClientId) const
pure virtual

Implemented in CServer.

◆ ClientIngame()

virtual bool IServer::ClientIngame ( int ClientId) const
pure virtual

Implemented in CServer.

◆ ClientName()

virtual const char * IServer::ClientName ( int ClientId) const
pure virtual

Implemented in CServer.

◆ ClientPrevIngame()

virtual bool IServer::ClientPrevIngame ( int ClientId)
pure virtual

Implemented in CServer.

◆ ClientSlotEmpty()

virtual bool IServer::ClientSlotEmpty ( int ClientId) const
pure virtual

Implemented in CServer.

◆ DemoRecorder_HandleAutoStart()

virtual void IServer::DemoRecorder_HandleAutoStart ( )
pure virtual

Implemented in CServer.

◆ DistinctClientCount()

virtual int IServer::DistinctClientCount ( ) const
pure virtual

Implemented in CServer.

◆ DnsblBlack()

virtual bool IServer::DnsblBlack ( int ClientId)
pure virtual

Implemented in CServer.

◆ DnsblPending()

virtual bool IServer::DnsblPending ( int ClientId)
pure virtual

Implemented in CServer.

◆ DnsblWhite()

virtual bool IServer::DnsblWhite ( int ClientId)
pure virtual

Implemented in CServer.

◆ ExpireServerInfo()

virtual void IServer::ExpireServerInfo ( )
pure virtual

Implemented in CServer.

◆ FillAntibot()

virtual void IServer::FillAntibot ( CAntibotRoundData * pData)
pure virtual

Implemented in CServer.

◆ GetAnnouncementLine()

virtual const char * IServer::GetAnnouncementLine ( )
pure virtual

Implemented in CServer.

◆ GetAuthedState()

virtual int IServer::GetAuthedState ( int ClientId) const
pure virtual

Implemented in CServer.

◆ GetAuthName()

virtual const char * IServer::GetAuthName ( int ClientId) const
pure virtual

Implemented in CServer.

◆ GetClientInfo()

virtual bool IServer::GetClientInfo ( int ClientId,
CClientInfo * pInfo ) const
pure virtual

Implemented in CServer.

◆ GetClientVersion()

virtual int IServer::GetClientVersion ( int ClientId) const
pure virtual

Returns the version of the client with the given client ID.

Parameters
ClientIdthe client Id, which must be between 0 and MAX_CLIENTS - 1, or equal to SERVER_DEMO_CLIENT for server demos.
Returns
The version of the client with the given client ID. For server demos this is always the latest client version. On errors, VERSION_NONE is returned.

Implemented in CServer.

◆ GetIdMap()

virtual int * IServer::GetIdMap ( int ClientId)
pure virtual

Implemented in CServer.

◆ GetMapInfo()

virtual void IServer::GetMapInfo ( char * pMapName,
int MapNameSize,
int * pMapSize,
SHA256_DIGEST * pSha256,
int * pMapCrc )
pure virtual

Implemented in CServer.

◆ GetMapName()

virtual const char * IServer::GetMapName ( ) const
pure virtual

Implemented in CServer.

◆ GetNetErrorString()

virtual const char * IServer::GetNetErrorString ( int ClientId)
pure virtual

Implemented in CServer.

◆ HasAuthHidden()

virtual bool IServer::HasAuthHidden ( int ClientId) const
pure virtual

Implemented in CServer.

◆ InterfaceName()

const char * IServer::InterfaceName ( )
inlinestatic

◆ IsRconAuthed()

virtual bool IServer::IsRconAuthed ( int ClientId) const
pure virtual

Implemented in CServer.

◆ IsRconAuthedAdmin()

virtual bool IServer::IsRconAuthedAdmin ( int ClientId) const
pure virtual

Implemented in CServer.

◆ IsRecording()

virtual bool IServer::IsRecording ( int ClientId)
pure virtual

Implemented in CServer.

◆ IsSixup()

virtual bool IServer::IsSixup ( int ClientId) const
pure virtual

Implemented in CServer.

◆ Kick()

virtual void IServer::Kick ( int ClientId,
const char * pReason )
pure virtual

Implemented in CServer.

◆ MaxClients()

virtual int IServer::MaxClients ( ) const
pure virtual

Implemented in CServer.

◆ Port()

virtual int IServer::Port ( ) const
pure virtual

Implemented in CServer.

◆ RedirectClient()

virtual void IServer::RedirectClient ( int ClientId,
int Port )
pure virtual

Implemented in CServer.

◆ ReloadMap()

virtual void IServer::ReloadMap ( )
pure virtual

Implemented in CServer.

◆ ResetNetErrorString()

virtual void IServer::ResetNetErrorString ( int ClientId)
pure virtual

Implemented in CServer.

◆ ReverseTranslate()

bool IServer::ReverseTranslate ( int & Target,
int Client )
inline

◆ SaveDemo()

virtual void IServer::SaveDemo ( int ClientId,
float Time )
pure virtual

Implemented in CServer.

◆ SendMsg()

virtual int IServer::SendMsg ( CMsgPacker * pMsg,
int Flags,
int ClientId )
pure virtual

Implemented in CServer.

◆ SendMsgRaw()

virtual void IServer::SendMsgRaw ( int ClientId,
const void * pData,
int Size,
int Flags )
pure virtual

Implemented in CServer.

◆ SendPackMsg() [1/2]

template<class T, typename std::enable_if< protocol7::is_sixup< T >::value, int >::type = 1>
int IServer::SendPackMsg ( const T * pMsg,
int Flags,
int ClientId )
inline

◆ SendPackMsg() [2/2]

template<class T, typename std::enable_if<!protocol7::is_sixup< T >::value, int >::type = 0>
int IServer::SendPackMsg ( const T * pMsg,
int Flags,
int ClientId )
inline

◆ SendPackMsgOne()

template<class T>
int IServer::SendPackMsgOne ( const T * pMsg,
int Flags,
int ClientId )
inline

◆ SendPackMsgTranslate() [1/5]

int IServer::SendPackMsgTranslate ( const CNetMsg_Sv_Chat * pMsg,
int Flags,
int ClientId )
inline

◆ SendPackMsgTranslate() [2/5]

int IServer::SendPackMsgTranslate ( const CNetMsg_Sv_Emoticon * pMsg,
int Flags,
int ClientId )
inline

◆ SendPackMsgTranslate() [3/5]

int IServer::SendPackMsgTranslate ( const CNetMsg_Sv_KillMsg * pMsg,
int Flags,
int ClientId )
inline

◆ SendPackMsgTranslate() [4/5]

int IServer::SendPackMsgTranslate ( const CNetMsg_Sv_RaceFinish * pMsg,
int Flags,
int ClientId )
inline

◆ SendPackMsgTranslate() [5/5]

template<class T>
int IServer::SendPackMsgTranslate ( const T * pMsg,
int Flags,
int ClientId )
inline

◆ SetClientClan()

virtual void IServer::SetClientClan ( int ClientId,
const char * pClan )
pure virtual

Implemented in CServer.

◆ SetClientCountry()

virtual void IServer::SetClientCountry ( int ClientId,
int Country )
pure virtual

Implemented in CServer.

◆ SetClientDDNetVersion()

virtual void IServer::SetClientDDNetVersion ( int ClientId,
int DDNetVersion )
pure virtual

Implemented in CServer.

◆ SetClientFlags()

virtual void IServer::SetClientFlags ( int ClientId,
int Flags )
pure virtual

Implemented in CServer.

◆ SetClientName()

virtual void IServer::SetClientName ( int ClientId,
const char * pName )
pure virtual

Implemented in CServer.

◆ SetClientScore()

virtual void IServer::SetClientScore ( int ClientId,
std::optional< int > Score )
pure virtual

Implemented in CServer.

◆ SetErrorShutdown()

virtual void IServer::SetErrorShutdown ( const char * pReason)
pure virtual

Implemented in CServer.

◆ SetRconCid()

virtual void IServer::SetRconCid ( int ClientId)
pure virtual

Implemented in CServer.

◆ SetTimedOut()

virtual bool IServer::SetTimedOut ( int ClientId,
int OrigId )
pure virtual

Implemented in CServer.

◆ SetTimeoutProtected()

virtual void IServer::SetTimeoutProtected ( int ClientId)
pure virtual

Implemented in CServer.

◆ SnapFreeId()

virtual void IServer::SnapFreeId ( int Id)
pure virtual

Implemented in CServer.

◆ SnapNewId()

virtual int IServer::SnapNewId ( )
pure virtual

Implemented in CServer.

◆ SnapNewItem() [1/2]

template<typename T>
T * IServer::SnapNewItem ( int Id)
inline

◆ SnapNewItem() [2/2]

virtual void * IServer::SnapNewItem ( int Type,
int Id,
int Size )
pure virtual

Implemented in CServer.

◆ SnapSetStaticsize()

virtual void IServer::SnapSetStaticsize ( int ItemType,
int Size )
pure virtual

Implemented in CServer.

◆ StartRecord()

virtual void IServer::StartRecord ( int ClientId)
pure virtual

Implemented in CServer.

◆ StopDemos()

virtual void IServer::StopDemos ( )
pure virtual

Implemented in CServer.

◆ StopRecord()

virtual void IServer::StopRecord ( int ClientId)
pure virtual

Implemented in CServer.

◆ Tick()

int IServer::Tick ( ) const
inline

◆ TickSpeed()

int IServer::TickSpeed ( ) const
inline

◆ Translate()

bool IServer::Translate ( int & Target,
int Client )
inline

◆ WouldClientClanChange()

virtual bool IServer::WouldClientClanChange ( int ClientId,
const char * pClanRequest )
pure virtual

Implemented in CServer.

◆ WouldClientNameChange()

virtual bool IServer::WouldClientNameChange ( int ClientId,
const char * pNameRequest )
pure virtual

Implemented in CServer.

Member Data Documentation

◆ m_CurrentGameTick

int IServer::m_CurrentGameTick
protected

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