From 723cd8e26c5a2c0a42c43c2a81b0535c1c5bec26 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Wed, 13 Nov 2024 23:30:50 +0300 Subject: [PATCH] engine: server: adjust 64-bit string pool size depending on max_edicts value (65k for each 1024 edicts) --- engine/server/sv_game.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engine/server/sv_game.c b/engine/server/sv_game.c index 4fc0a647..ba37e70b 100644 --- a/engine/server/sv_game.c +++ b/engine/server/sv_game.c @@ -3069,13 +3069,13 @@ static void SV_AllocStringPool( void ) string lenstr; Con_Reportf( "%s()\n", __func__ ); - if( Sys_GetParmFromCmdLine( "-str64alloc", lenstr ) ) + if( Sys_GetParmFromCmdLine( "-str64alloc", lenstr )) { str64.maxstringarray = Q_atoi( lenstr ); if( str64.maxstringarray < 1024 || str64.maxstringarray >= INT_MAX ) - str64.maxstringarray = 65536; + str64.maxstringarray = 65536 * Q_ceil( GI->max_edicts / 1024.0f ); } - else str64.maxstringarray = 65536; + else str64.maxstringarray = 65536 * Q_ceil( GI->max_edicts / 1024.0f ); if( Sys_CheckParm( "-str64dup" ) ) str64.allowdup = true;