MUTATOR_CALLHOOK(ClientConnect, this);
if (player_count == 1)
+ {
+ if (autocvar_sv_autopause && server_is_dedicated)
+ setpause(0);
localcmd("\nsv_hook_firstjoin\n");
+ }
}
/*
=============
});
}
+void Pause_TryPause_Dedicated(entity this)
+{
+ if (player_count == 0)
+ setpause(1);
+}
+
void Pause_TryPause(bool ispaused)
{
int n = 0;
bool game_delay_last;
-bool autocvar_sv_autopause = false;
void systems_update();
void sys_phys_update(entity this, float dt);
void StartFrame()
#define autocvar_slowmo cvar("slowmo")
float autocvar_sys_ticrate;
+bool autocvar_sv_autopause;
+void Pause_TryPause_Dedicated(entity this);
+
bool dropclient_schedule(entity this);
/** print(), but only print if the server is not local */
BADCVAR("leadlimit_override");
BADCVAR("pausable");
BADCVAR("sv_announcer");
+ BADCVAR("sv_autopause");
BADCVAR("sv_checkforpacketsduringsleep");
BADCVAR("sv_damagetext");
BADCVAR("sv_db_saveasdump");
WinningConditionHelper(this); // set worldstatus
+ if (autocvar_sv_autopause && server_is_dedicated && !wantrestart)
+ // INITPRIO_LAST is to soon: bots either didn't join yet or didn't leave yet, see: bot_fixcount()
+ defer(this, 5, Pause_TryPause_Dedicated);
+
world_initialized = 1;
__spawnfunc_spawn_all();
}
set sv_timeout_leadtime 4 "how long the players will be informed that a timeout was called before it starts, in seconds"
set sv_timeout_resumetime 3 "how long the remaining timeout-time will be after a player called the timein command"
+set sv_autopause 0 "Single player: pause while the menu or console is open. Dedicated server: pause after starting a map if the server is empty and unpause when the first player joins the empty server."
+
set g_telefrags 1 "telefragging, i.e. killing someone who stands in the way of someone who is teleporting"
set g_telefrags_teamplay 1 "never telefrag team mates"
set g_telefrags_avoid 1 "when teleporters have a random destination, avoid teleporting to locations where a telefrag would happen"