diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 10a3774ae1..af3d1c5375 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -6,8 +6,10 @@ #define STICKYBAN_MAX_EXISTING_USER_MATCHES 5 //ie, users who were connected before the ban triggered #define STICKYBAN_MAX_ADMIN_MATCHES 2 -/world/IsBanned(key,address,computer_id) +/world/IsBanned(key,address,computer_id,real_bans_only=FALSE) if (!key || !address || !computer_id) + if(real_bans_only) + return FALSE log_access("Failed Login (invalid data): [key] [address]-[computer_id]") return list("reason"="invalid login data", "desc"="Error: Could not check ban status, Please try again. Error message: Your computer provided invalid or blank information to the server on connection (byond username, IP, and Computer ID.) Provided information for reference: Username:'[key]' IP:'[address]' Computer ID:'[computer_id]'. (If you continue to get this error, please restart byond or contact byond support.)") @@ -31,7 +33,7 @@ return list("reason"="whitelist", "desc" = "\nReason: You are not on the white list for this server") //Guest Checking - if(IsGuestKey(key)) + if(!real_bans_only && IsGuestKey(key)) if (CONFIG_GET(flag/guest_ban)) log_access("Failed Login: [key] - Guests not allowed") return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.") @@ -41,7 +43,7 @@ //Population Cap Checking var/extreme_popcap = CONFIG_GET(number/extreme_popcap) - if(extreme_popcap && living_player_count() >= extreme_popcap && !admin) + if(!real_bans_only && extreme_popcap && living_player_count() >= extreme_popcap && !admin) log_access("Failed Login: [key] - Population cap reached") return list("reason"="popcap", "desc"= "\nReason: [CONFIG_GET(string/extreme_popcap_message)]") diff --git a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm index 408da4c401..602cef5f5e 100644 --- a/code/modules/goonchat/browserOutput.dm +++ b/code/modules/goonchat/browserOutput.dm @@ -158,7 +158,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic var/list/row = src.connectionHistory[i] if (!row || row.len < 3 || (!row["ckey"] || !row["compid"] || !row["ip"])) //Passed malformed history object return - if (world.IsBanned(row["ckey"], row["compid"], row["ip"])) + if (world.IsBanned(row["ckey"], row["compid"], row["ip"], real_bans_only=TRUE)) found = row break