From 8ffdd1c022bdd0eec44ba42acfd8ac475f21d69c Mon Sep 17 00:00:00 2001 From: terencehill Date: Sun, 5 Sep 2021 21:08:08 +0200 Subject: [PATCH] sv_maxidle_minplayers 2 "check for idlers only when there are at least this many players (only in dedicated servers)" --- qcsrc/server/client.qc | 4 ++-- qcsrc/server/client.qh | 1 + xonotic-server.cfg | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/qcsrc/server/client.qc b/qcsrc/server/client.qc index 6dcad909c..dadc04b5b 100644 --- a/qcsrc/server/client.qc +++ b/qcsrc/server/client.qc @@ -2662,10 +2662,10 @@ void PlayerPostThink (entity this) }); } - if (totalClients <= 1) + if (totalClients < autocvar_sv_maxidle_minplayers) { + // idle kick disabled CS(this).parm_idlesince = time; - /* do nothing */ } else if (time - CS(this).parm_idlesince < 1) // instead of (time == this.parm_idlesince) to support sv_maxidle <= 10 { diff --git a/qcsrc/server/client.qh b/qcsrc/server/client.qh index 3199d155a..b7166609b 100644 --- a/qcsrc/server/client.qh +++ b/qcsrc/server/client.qh @@ -33,6 +33,7 @@ bool autocvar_g_nodepthtestplayers; string autocvar_g_mutatormsg; float autocvar_sv_foginterval; float autocvar_sv_maxidle; +int autocvar_sv_maxidle_minplayers = 2; float autocvar_sv_maxidle_playertospectator = 60; bool autocvar_sv_maxidle_alsokickspectators; int autocvar_sv_maxidle_slots; diff --git a/xonotic-server.cfg b/xonotic-server.cfg index 39323f0dc..a6213cb24 100644 --- a/xonotic-server.cfg +++ b/xonotic-server.cfg @@ -418,7 +418,7 @@ set sv_maxidle 0 "kick players idle for more than this amount of time in seconds set sv_maxidle_alsokickspectators 1 "when sv_maxidle is > 0, kick idle spectators as well as players" set sv_maxidle_slots 0 "when not 0, only kick idlers when this many or less player slots are available" set sv_maxidle_slots_countbots 1 "count bots as player slots" - +set sv_maxidle_minplayers 2 "check for idlers only when there are at least this many players (only in dedicated servers)" set sv_maxidle_playertospectator 60 "move players idle for more than this amount of time in seconds to spectators (sv_maxidle timer starts again after sv_maxidle_playertospectator has moved a player to spectators)" sv_allowdownloads_inarchive 1 // for csprogs.dat -- 2.39.2