Don't even attempt to advertise a non-netgame server.

This appears to be a long-time bug that exists upstream too, but nobody even knew about it before the MS rules alert made it clear this was actually happening!
This commit is contained in:
toaster 2022-08-24 15:04:09 +01:00
parent b81805b9c7
commit 77164096dd
3 changed files with 4 additions and 4 deletions

View File

@ -3986,7 +3986,7 @@ void D_QuitNetGame(void)
if (nodeingame[i])
HSendPacket(i, true, 0, 0);
#ifdef MASTERSERVER
if (serverrunning && cv_advertise.value)
if (serverrunning && netgame && cv_advertise.value) // see mserv.c Online()
UnregisterServer();
#endif
}

View File

@ -6356,7 +6356,7 @@ boolean firstDismissedRulesThisBoot = true;
void M_PopupMasterServerRules(void)
{
#ifdef MASTERSERVER
if (cv_advertise.value && (serverrunning || currentMenu == &MP_ServerDef) && firstDismissedRulesThisBoot)
if (cv_advertise.value && ((serverrunning && netgame) || currentMenu == &MP_ServerDef) && firstDismissedRulesThisBoot)
{
char *rules = GetMasterServerRules();

View File

@ -470,7 +470,7 @@ char *GetMasterServerRules(void)
static boolean
Online (void)
{
return ( serverrunning && cv_advertise.value );
return ( serverrunning && netgame && cv_advertise.value );
}
static inline void SendPingToMasterServer(void)
@ -568,7 +568,7 @@ Advertise_OnChange(void)
if (cv_advertise.value)
{
if (serverrunning)
if (serverrunning && netgame)
{
Lock_state();
{