diff --git a/code/q3_ui/ui_servers2.c b/code/q3_ui/ui_servers2.c index d376d363..b6c4ea5d 100644 --- a/code/q3_ui/ui_servers2.c +++ b/code/q3_ui/ui_servers2.c @@ -881,6 +881,13 @@ static void ArenaServers_DoRefresh( void ) return; } } + } else if (g_servertype == UIAS_LOCAL) { + if (!trap_LAN_GetServerCount(AS_LOCAL)) { + // no local servers found, check again + trap_Cmd_ExecuteText( EXEC_APPEND, "localservers\n" ); + g_arenaservers.refreshtime = uis.realtime + 5000; + return; + } } if (uis.realtime < g_arenaservers.nextpingtime) diff --git a/code/ui/ui_main.c b/code/ui/ui_main.c index c4f3ba54..81b324b5 100644 --- a/code/ui/ui_main.c +++ b/code/ui/ui_main.c @@ -5985,6 +5985,10 @@ static void UI_DoServerRefresh( void ) UI_BuildServerDisplayList(2); // stop the refresh UI_StopServerRefresh(); + } else if ( ui_netSource.integer == UIAS_LOCAL ) { + // no local servers found, check again + trap_Cmd_ExecuteText( EXEC_NOW, "localservers\n" ); + uiInfo.serverStatus.refreshtime = uiInfo.uiDC.realTime + 5000; } // UI_BuildServerDisplayList(qfalse); @@ -6032,7 +6036,7 @@ static void UI_StartServerRefresh(qboolean full, qboolean force) // if( ui_netSource.integer == UIAS_LOCAL ) { trap_Cmd_ExecuteText( EXEC_NOW, "localservers\n" ); - uiInfo.serverStatus.refreshtime = uiInfo.uiDC.realTime + 1000; + uiInfo.serverStatus.refreshtime = uiInfo.uiDC.realTime + 5000; return; }