diff --git a/code/client/cl_main.c b/code/client/cl_main.c index c345c973..26faf80f 100644 --- a/code/client/cl_main.c +++ b/code/client/cl_main.c @@ -4145,6 +4145,9 @@ void CL_GlobalServers_f( void ) { com_gamename->string, Cmd_Argv(2)); } } + else if ( !Q_stricmp( com_gamename->string, LEGACY_MASTER_GAMENAME ) ) + Com_sprintf(command, sizeof(command), "getservers %s", + Cmd_Argv(2)); else Com_sprintf(command, sizeof(command), "getservers %s %s", com_gamename->string, Cmd_Argv(2)); diff --git a/code/qcommon/q_shared.h b/code/qcommon/q_shared.h index b7f03fda..48647f1d 100644 --- a/code/qcommon/q_shared.h +++ b/code/qcommon/q_shared.h @@ -51,6 +51,11 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // Heartbeat for dpmaster protocol. You shouldn't change this unless you know what you're doing #define HEARTBEAT_FOR_MASTER "DarkPlaces" +// When com_gamename is LEGACY_MASTER_GAMENAME, use quake3 master protocol. +// You shouldn't change this unless you know what you're doing +#define LEGACY_MASTER_GAMENAME "Quake3Arena" +#define LEGACY_HEARTBEAT_FOR_MASTER "QuakeArena-1" + #define BASETA "missionpack" #ifndef PRODUCT_VERSION diff --git a/code/server/sv_main.c b/code/server/sv_main.c index e48e0b97..ed50707e 100644 --- a/code/server/sv_main.c +++ b/code/server/sv_main.c @@ -252,6 +252,9 @@ void SV_MasterHeartbeat(const char *message) if ( svs.time < svs.nextHeartbeatTime ) return; + if ( !Q_stricmp( com_gamename->string, LEGACY_MASTER_GAMENAME ) ) + message = LEGACY_HEARTBEAT_FOR_MASTER; + svs.nextHeartbeatTime = svs.time + HEARTBEAT_MSEC; // send to group masters