diff --git a/src/d_clisrv.c b/src/d_clisrv.c index fff35144..073d2760 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -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 } diff --git a/src/m_menu.c b/src/m_menu.c index 0dc908fc..4db95870 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -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(); diff --git a/src/mserv.c b/src/mserv.c index cf0a5f0d..5c33cfe8 100644 --- a/src/mserv.c +++ b/src/mserv.c @@ -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(); {