diff --git a/src/d_clisrv.c b/src/d_clisrv.c index fff35144bbeb570645b67b8090f488e0c1fea764..073d27606110b21f724da45489a3bd5105435d35 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 0dc908fc5f73edb03c8b044bb47fa6fb67dd5c17..4db95870377c658d2df1d5e0b08002c903aa9c78 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 cf0a5f0d050388af70dcc23e3e9cdfedc7453448..5c33cfe88e9351ea1e8d83b63623714143e9e7a3 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(); {