diff --git a/engine/client/cl_game.c b/engine/client/cl_game.c index b093c82c..e516f423 100644 --- a/engine/client/cl_game.c +++ b/engine/client/cl_game.c @@ -3323,7 +3323,7 @@ NetAPI_InitNetworking */ void GAME_EXPORT NetAPI_InitNetworking( void ) { - NET_Config( true ); // allow remote + NET_Config( true, false ); // allow remote } /* diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index 46782aef..8c47c1f8 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -1298,7 +1298,7 @@ void CL_Rcon_f( void ) message[3] = (char)255; message[4] = 0; - NET_Config( true ); // allow remote + NET_Config( true, false ); // allow remote Q_strcat( message, "rcon " ); Q_strcat( message, rcon_client_password->string ); @@ -1561,7 +1561,7 @@ void CL_LocalServers_f( void ) netadr_t adr; Con_Printf( "Scanning for servers on the local network area...\n" ); - NET_Config( true ); // allow remote + NET_Config( true, true ); // allow remote // send a broadcast packet adr.type = NA_BROADCAST; @@ -1583,7 +1583,7 @@ void CL_InternetServers_f( void ) char *info = fullquery + sizeof( MS_SCAN_REQUEST ) - 1; const size_t remaining = sizeof( fullquery ) - sizeof( MS_SCAN_REQUEST ); - NET_Config( true ); // allow remote + NET_Config( true, true ); // allow remote Con_Printf( "Scanning for servers on the internet area...\n" ); Info_SetValueForKey( info, "gamedir", GI->gamefolder, remaining ); @@ -2152,7 +2152,7 @@ void CL_ConnectionlessPacket( netadr_t from, sizebuf_t *msg ) } else if( clgame.request_type == NET_REQUEST_GAMEUI ) { - NET_Config( true ); // allow remote + NET_Config( true, false ); // allow remote Netchan_OutOfBandPrint( NS_CLIENT, servadr, "info %i", PROTOCOL_VERSION ); } } diff --git a/engine/common/net_ws.c b/engine/common/net_ws.c index 8b491ba9..0727b6dd 100644 --- a/engine/common/net_ws.c +++ b/engine/common/net_ws.c @@ -1570,7 +1570,7 @@ NET_Config A single player game will only use the loopback code ==================== */ -void NET_Config( qboolean multiplayer ) +void NET_Config( qboolean multiplayer, qboolean changeport ) { static qboolean bFirst = true; static qboolean old_config; @@ -1756,7 +1756,7 @@ void NET_Shutdown( void ) NET_ClearLagData( true, true ); - NET_Config( false ); + NET_Config( false, false ); #if XASH_WIN32 WSACleanup(); #endif diff --git a/engine/common/net_ws.h b/engine/common/net_ws.h index ede8f0b1..75329383 100644 --- a/engine/common/net_ws.h +++ b/engine/common/net_ws.h @@ -51,7 +51,7 @@ void NET_Shutdown( void ); void NET_Sleep( int msec ); qboolean NET_IsActive( void ); qboolean NET_IsConfigured( void ); -void NET_Config( qboolean net_enable ); +void NET_Config( qboolean net_enable, qboolean changeport ); qboolean NET_IsLocalAddress( netadr_t adr ); const char *NET_AdrToString( const netadr_t a ); const char *NET_BaseAdrToString( const netadr_t a ); diff --git a/engine/server/sv_init.c b/engine/server/sv_init.c index b045fdfd..8f55a25e 100644 --- a/engine/server/sv_init.c +++ b/engine/server/sv_init.c @@ -761,7 +761,7 @@ void SV_SetupClients( void ) Con_Reportf( "%s alloced by server packet entities\n", Q_memprint( sizeof( entity_state_t ) * svs.num_client_entities )); // init network stuff - NET_Config(( svs.maxclients > 1 )); + NET_Config(( svs.maxclients > 1 ), true ); svgame.numEntities = svs.maxclients + 1; // clients + world ClearBits( sv_maxclients->flags, FCVAR_CHANGED ); } diff --git a/engine/server/sv_main.c b/engine/server/sv_main.c index 52f314c0..6d75b7e6 100644 --- a/engine/server/sv_main.c +++ b/engine/server/sv_main.c @@ -715,7 +715,7 @@ void Master_Add( void ) { netadr_t adr; - NET_Config( true ); // allow remote + NET_Config( true, false ); // allow remote if( !NET_StringToAdr( MASTERSERVER_ADR, &adr )) Con_Printf( "can't resolve adr: %s\n", MASTERSERVER_ADR ); @@ -758,7 +758,7 @@ void Master_Shutdown( void ) { netadr_t adr; - NET_Config( true ); // allow remote + NET_Config( true, false ); // allow remote if( !NET_StringToAdr( MASTERSERVER_ADR, &adr )) Con_Printf( "can't resolve addr: %s\n", MASTERSERVER_ADR ); @@ -1108,7 +1108,7 @@ void SV_Shutdown( const char *finalmsg ) if( public_server->value && svs.maxclients != 1 ) Master_Shutdown(); - NET_Config( false ); + NET_Config( false, false ); SV_UnloadProgs (); CL_Drop();