You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.1 KiB
61 lines
2.1 KiB
//======== (C) Copyright 1999, 2000 Valve, L.L.C. All rights reserved. ======== |
|
// |
|
// The copyright to the contents herein is the property of Valve, L.L.C. |
|
// The contents may be used and/or copied only with the written permission of |
|
// Valve, L.L.C., or in accordance with the terms and conditions stipulated in |
|
// the agreement/contract under which the contents have been supplied. |
|
// |
|
// Purpose: |
|
// |
|
// $Workfile: $ |
|
// $Date: $ |
|
// |
|
//----------------------------------------------------------------------------- |
|
// $Log: $ |
|
// |
|
// $NoKeywords: $ |
|
//============================================================================= |
|
#ifndef MASTER_H |
|
#define MASTER_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "engine/iserversinfo.h" |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Implements a master server interface. |
|
//----------------------------------------------------------------------------- |
|
class IMaster |
|
{ |
|
public: |
|
// Allow master server to register cvars/commands |
|
virtual void Init( void ) = 0; |
|
// System is shutting down |
|
virtual void Shutdown( void ) = 0; |
|
// Server is shutting down |
|
virtual void ShutdownConnection( void ) = 0; |
|
// Sends the actual heartbeat to the master ( after challenge value is parsed ) |
|
virtual void SendHeartbeat( struct adrlist_s *p ) = 0; |
|
// Add server to global master list |
|
virtual void AddServer( struct netadr_s *adr ) = 0; |
|
// If parsing for server, etc. fails, always have at least one server around to use. |
|
virtual void UseDefault ( void ) = 0; |
|
// See if it's time to send the next heartbeat |
|
virtual void CheckHeartbeat( void ) = 0; |
|
// Master sent back a challenge value, read it and send the actual heartbeat |
|
virtual void RespondToHeartbeatChallenge( netadr_t &from, bf_read &msg ) = 0; |
|
// Console command to set/remove master server |
|
virtual void AddMaster_f( const CCommand &args ) = 0; |
|
// Force a heartbeat to be issued right away |
|
virtual void Heartbeat_f( void ) = 0; |
|
|
|
virtual void ProcessConnectionlessPacket( netpacket_t *packet ) = 0; |
|
|
|
virtual void RunFrame( void ) = 0; |
|
}; |
|
|
|
extern IMaster *master; |
|
extern IServersInfo *g_pServersInfo; |
|
|
|
#endif // MASTER_H
|
|
|