diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index 7988ff6d1a95..976256cb6c97 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -621,3 +621,5 @@ This maintains a list of ip addresses that are able to bypass topic filtering. /datum/config_entry/string/instance_name config_entry_value = "game" protection = CONFIG_ENTRY_HIDDEN|CONFIG_ENTRY_LOCKED + +/datum/config_entry/flag/guest_ban diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 36e70d311ac0..bf6d8e261ab3 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -12,7 +12,7 @@ return //don't recheck connected clients. //Guest Checking - if(IsGuestKey(key)) + if(!real_bans_only && CONFIG_GET(flag/guest_ban) && IsGuestKey(key)) log_access("Failed Login: [key] - Guests not allowed") message_admins("Failed Login: [key] - Guests not allowed") return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.") diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index ad0b6e1d89fb..8319212c6a43 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -287,11 +287,6 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( if(!(connection in list("seeker", "web"))) //Invalid connection type. return null - if(IsGuestKey(key)) - alert(src,"This server doesn't allow guest accounts to play. Please go to http://www.byond.com/ and register for a key.","Guest","OK") - qdel(src) - return - GLOB.clients += src GLOB.directory[ckey] = src