diff --git a/baystation12.dme b/baystation12.dme index 99fb397579..4f5dd64c2b 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -631,9 +631,9 @@ #include "code\game\objects\items\weapons\swords_axes_etc.dm" #include "code\game\objects\items\weapons\tape.dm" #include "code\game\objects\items\weapons\teleportation.dm" -#include "code\game\objects\items\weapons\tools.dm" +#include "code\game\objects\items\weapons\tools.dm" +#include "code\game\objects\items\weapons\traps.dm" #include "code\game\objects\items\weapons\trays.dm" -#include "code\game\objects\items\weapons\traps.dm" #include "code\game\objects\items\weapons\weaponry.dm" #include "code\game\objects\items\weapons\weldbackpack.dm" #include "code\game\objects\items\weapons\wires.dm" diff --git a/code/controllers/Processes/inactivity.dm b/code/controllers/Processes/inactivity.dm index d9f9206749..cd01e24829 100644 --- a/code/controllers/Processes/inactivity.dm +++ b/code/controllers/Processes/inactivity.dm @@ -1,16 +1,13 @@ /datum/controller/process/inactivity/setup() name = "inactivity" - schedule_interval = INACTIVITY_KICK + schedule_interval = 600 // Once every minute (approx.) /datum/controller/process/inactivity/doWork() if(config.kick_inactive) for(var/client/C in clients) - if(C.is_afk(INACTIVITY_KICK)) + if(!C.holder && C.is_afk(config.kick_inactive MINUTES)) if(!istype(C.mob, /mob/dead)) log_access("AFK: [key_name(C)]") - C << "You have been inactive for more than 10 minutes and have been disconnected." + C << "You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected." del(C) // Don't qdel, cannot override finalize_qdel behaviour for clients. - scheck() - -#undef INACTIVITY_KICK diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 98d56d3d23..adaab0540a 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -63,7 +63,7 @@ var/list/gamemode_cache = list() var/guest_jobban = 1 var/usewhitelist = 0 var/mods_are_mentors = 0 - var/kick_inactive = 0 //force disconnect for inactive players + var/kick_inactive = 0 //force disconnect for inactive players after this many minutes, if non-0 var/load_jobs_from_txt = 0 var/ToRban = 0 var/automute_on = 0 //enables automuting/spam prevention @@ -114,7 +114,7 @@ var/list/gamemode_cache = list() var/organ_health_multiplier = 1 var/organ_regeneration_multiplier = 1 - + //Paincrit knocks someone down once they hit 60 shock_stage, so by default make it so that close to 100 additional damage needs to be dealt, //so that it's similar to HALLOSS. Lowered it a bit since hitting paincrit takes much longer to wear off than a halloss stun. var/organ_damage_spillover_multiplier = 0.5 @@ -460,7 +460,7 @@ var/list/gamemode_cache = list() config.allow_random_events = 1 if("kick_inactive") - config.kick_inactive = 1 + config.kick_inactive = text2num(value) if("load_jobs_from_txt") load_jobs_from_txt = 1 diff --git a/code/world.dm b/code/world.dm index acb7ad075d..6f736b8744 100644 --- a/code/world.dm +++ b/code/world.dm @@ -78,8 +78,6 @@ var/global/datum/global_init/init = new () spawn(3000) //so we aren't adding to the round-start lag if(config.ToRban) ToRban_autoupdate() -/* if(config.kick_inactive) // handled in scheduler - KickInactiveClients()*/ #undef RECOMMENDED_VERSION @@ -218,22 +216,6 @@ var/world_topic_spam_protect_time = world.timeofday ..(reason) - -#define INACTIVITY_KICK 6000 //10 minutes in ticks (approx.) -/world/proc/KickInactiveClients() - spawn(-1) - set background = 1 - while(1) - sleep(INACTIVITY_KICK) - for(var/client/C in clients) - if(C.is_afk(INACTIVITY_KICK)) - if(!istype(C.mob, /mob/dead)) - log_access("AFK: [key_name(C)]") - C << "\red You have been inactive for more than 10 minutes and have been disconnected." - del(C) -//#undef INACTIVITY_KICK - - /hook/startup/proc/loadMode() world.load_mode() return 1 diff --git a/config/example/config.txt b/config/example/config.txt index a8dcac8e27..01d0c40db9 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -70,8 +70,8 @@ LOG_PDA ## sql switching # SQL_ENABLED -## disconnect players who did nothing during 10 minutes -# KICK_INACTIVE +## disconnect players who did nothing during the set amount of minutes +# KICK_INACTIVE 10 ## Use Mentors instead of Moderators. Mentors are designed with the idea that ###they help in pushing new people to be better at roleplay. If you uncomment