From 7c419fb54279acf2617918a32c3219c1666c1b75 Mon Sep 17 00:00:00 2001
From: Phoenix404 <41524861+Phoenix4O4@users.noreply.github.com>
Date: Wed, 11 Dec 2024 03:13:45 +0300
Subject: [PATCH] Revert "[PORT] Replace old IPIntel with IPIntel from TG
(#1430)"
This reverts commit 7b41902441f1048821e6a6a23b34b2bf71ca3e91.
---
SQL/bluemoon_schema.sql | 31 --
code/_BLUEMOONCODE/_HELPERS/time.dm | 3 -
code/__BLUEMOONCODE/_DEFINES/ipintel.dm | 15 -
.../configuration/entries/connections.dm | 2 -
code/controllers/subsystem/ipintel.dm | 3 +-
code/modules/admin/ipintel.dm | 2 -
code/modules/client/client_procs.dm | 7 +-
code/modules/client/client_vpn_detect.dm | 2 -
config/bluemoon/ipintel.txt | 22 --
config/config.txt | 3 +-
.../entries/bluemoon_config_entries.dm | 35 --
.../code/controllers/subsystem/ipintel.dm | 301 ------------------
.../code/modules/client/client_procs.dm | 2 -
tgstation.dme | 3 -
14 files changed, 4 insertions(+), 427 deletions(-)
delete mode 100644 code/_BLUEMOONCODE/_HELPERS/time.dm
delete mode 100644 code/__BLUEMOONCODE/_DEFINES/ipintel.dm
delete mode 100644 config/bluemoon/ipintel.txt
delete mode 100644 modular_bluemoon/phoenix404/code/controllers/subsystem/ipintel.dm
diff --git a/SQL/bluemoon_schema.sql b/SQL/bluemoon_schema.sql
index e7433d5855d5..4eb4ac4f68d1 100644
--- a/SQL/bluemoon_schema.sql
+++ b/SQL/bluemoon_schema.sql
@@ -80,34 +80,3 @@ DELIMITER ;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-
---
--- Table structure for table `ipintel`
---
-
-DROP TABLE IF EXISTS `ipintel`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `ipintel` (
- `ip` int(10) unsigned NOT NULL,
- `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `intel` double NOT NULL DEFAULT '0',
- PRIMARY KEY (`ip`),
- KEY `idx_ipintel` (`ip`,`intel`,`date`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `ipintel_whitelist`
---
-
-DROP TABLE IF EXISTS `ipintel_whitelist`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `ipintel_whitelist` (
- `ckey` varchar(32) NOT NULL,
- `admin_ckey` varchar(32) NOT NULL,
- PRIMARY KEY (`ckey`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-/*!40101 SET character_set_client = @saved_cs_client */;
diff --git a/code/_BLUEMOONCODE/_HELPERS/time.dm b/code/_BLUEMOONCODE/_HELPERS/time.dm
deleted file mode 100644
index a32763d3681f..000000000000
--- a/code/_BLUEMOONCODE/_HELPERS/time.dm
+++ /dev/null
@@ -1,3 +0,0 @@
-//returns timestamp in a sql and a not-quite-compliant ISO 8601 friendly format
-/proc/ISOtime(timevar)
- return time2text(timevar || world.timeofday, "YYYY-MM-DD hh:mm:ss")
diff --git a/code/__BLUEMOONCODE/_DEFINES/ipintel.dm b/code/__BLUEMOONCODE/_DEFINES/ipintel.dm
deleted file mode 100644
index 9fbc14ae40db..000000000000
--- a/code/__BLUEMOONCODE/_DEFINES/ipintel.dm
+++ /dev/null
@@ -1,15 +0,0 @@
-#define IPINTEL_RATE_LIMIT_MINUTE "minute"
-#define IPINTEL_RATE_LIMIT_DAY "day"
-
-/// An internal error occurred and the query cannot be processed
-#define IPINTEL_UNKNOWN_INTERNAL_ERROR "unknown_internal_error"
-/// An error occurred with the query and the result is unknown
-#define IPINTEL_UNKNOWN_QUERY_ERROR "unknown_query_error"
-/// Cannot query as we are rate limited for the rest of the day
-#define IPINTEL_RATE_LIMITED_DAY "rate_limited_day"
-/// Cannot query as we are rate limited for the rest of the minute
-#define IPINTEL_RATE_LIMITED_MINUTE "rate_limited_minute"
-/// The IP address is a VPN or bad IP
-#define IPINTEL_BAD_IP "bad_ip"
-/// The IP address is not a VPN or bad IP
-#define IPINTEL_GOOD_IP "good_ip"
diff --git a/code/controllers/configuration/entries/connections.dm b/code/controllers/configuration/entries/connections.dm
index 91d1a6fc97f1..afbe94840ade 100644
--- a/code/controllers/configuration/entries/connections.dm
+++ b/code/controllers/configuration/entries/connections.dm
@@ -37,7 +37,6 @@
/datum/config_entry/flag/check_randomizer
-/* BLUEMOON EDIT:START IPINTEL FROM TG
/datum/config_entry/string/ipintel_email
/datum/config_entry/string/ipintel_email/ValidateAndSet(str_val)
@@ -59,7 +58,6 @@
/datum/config_entry/string/ipintel_domain
default = "check.getipintel.net"
-*/ // BLUEMOON EDIT:END IPINTEL FROM TG
/datum/config_entry/flag/aggressive_changelog
diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm
index 6aa4464fecc8..fb0ddead09a5 100644
--- a/code/controllers/subsystem/ipintel.dm
+++ b/code/controllers/subsystem/ipintel.dm
@@ -1,4 +1,3 @@
-/* // BLUEMOON EDIT:START IPINTEL FROM TG
SUBSYSTEM_DEF(ipintel)
name = "XKeyScore"
init_order = INIT_ORDER_XKEYSCORE
@@ -12,4 +11,4 @@ SUBSYSTEM_DEF(ipintel)
/datum/controller/subsystem/ipintel/Initialize(timeofday, zlevel)
enabled = TRUE
. = ..()
-*/ // BLUEMOON EDIT:END IPINTEL FROM TG
+
diff --git a/code/modules/admin/ipintel.dm b/code/modules/admin/ipintel.dm
index ac2d39b98e2a..71c9a11acd53 100644
--- a/code/modules/admin/ipintel.dm
+++ b/code/modules/admin/ipintel.dm
@@ -1,4 +1,3 @@
-/* // BLUEMOON EDIT:START IPINTEL FROM TG
/datum/ipintel
var/ip
var/intel = 0
@@ -135,4 +134,3 @@
/proc/log_ipintel(text)
log_game("IPINTEL: [text]")
debug_admins("IPINTEL: [text]")
-*/ // BLUEMOON EDIT:END IPINTEL FROM TG
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index ef0edc1a6323..cc3f8b252403 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -607,14 +607,13 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
qdel(query_client_in_db)
return
- var/client_is_in_db = query_client_in_db.NextRow() // BLUEMOON EDIT: IPINTEL FROM TG
//If we aren't an admin, and the flag is set
if(CONFIG_GET(flag/panic_bunker) && !holder && !GLOB.deadmins[ckey] && !(ckey in GLOB.bunker_passthrough))
var/living_recs = CONFIG_GET(number/panic_bunker_living)
- //var/vpn_living_recs = CONFIG_GET(number/panic_bunker_living_vpn)
+ var/vpn_living_recs = CONFIG_GET(number/panic_bunker_living_vpn)
//Relies on pref existing, but this proc is only called after that occurs, so we're fine.
var/minutes = get_exp_living(pure_numeric = TRUE)
- if((living_recs == 0 && !client_is_in_db) || living_recs >= minutes) // BLUEMOON EDIT: IPINTEL FROM TG //if((minutes <= living_recs) || (IsVPN() && (minutes < vpn_living_recs)))
+ if((minutes <= living_recs) || (IsVPN() && (minutes < vpn_living_recs)))
var/reject_message = "Failed Login: [key] - Account attempting to connect during panic bunker, but they do not have the required living time [minutes]/[living_recs]"
log_access(reject_message)
message_admins("[reject_message]")
@@ -873,7 +872,6 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
create_message("note", key, system_ckey, message, null, null, 0, 0, null, 0, 0)
-/*// BLUEMOON EDIT:START IPINTEL FROM TG
/client/proc/check_ip_intel()
set waitfor = 0 //we sleep when getting the intel, no need to hold up the client connection while we sleep
if (CONFIG_GET(string/ipintel_email))
@@ -881,7 +879,6 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
if (res.intel >= CONFIG_GET(number/ipintel_rating_bad))
message_admins("Proxy Detection: [key_name_admin(src)] IP intel rated [res.intel*100]% likely to be a Proxy/VPN.")
ip_intel = res.intel
-*/ // BLUEMOON EDIT:END IPINTEL FROM TG
/client/Click(atom/object, atom/location, control, params, ignore_spam = FALSE, extra_info)
if(last_click > world.time - world.tick_lag)
diff --git a/code/modules/client/client_vpn_detect.dm b/code/modules/client/client_vpn_detect.dm
index 637110ae7bc0..bd35a65ef274 100644
--- a/code/modules/client/client_vpn_detect.dm
+++ b/code/modules/client/client_vpn_detect.dm
@@ -1,5 +1,3 @@
-/* BLUEMOON EDIT:START IPINTEL FROM TG
/client/proc/IsVPN()
var/datum/ipintel/res = get_ip_intel(address)
return res.intel >= CONFIG_GET(number/ipintel_rating_bad)
-*/ //BLUEMOON EDIT:END IPINTEL FROM TG
diff --git a/config/bluemoon/ipintel.txt b/config/bluemoon/ipintel.txt
deleted file mode 100644
index 4bd48ad54235..000000000000
--- a/config/bluemoon/ipintel.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-## IPINTEL:
-## This allows you to detect likely proxies by checking ips against getipintel.net
-## Rating to warn at: (0.8 is good, 1 is 100% likely to be a spammer/proxy, 0.8 is 80%, etc) anything equal to or higher then this number triggers an admin warning
-#IPINTEL_RATING_BAD 0.8
-## Contact email, (required to use the service, leaving blank or default disables IPINTEL)
-#IPINTEL_EMAIL ch@nge.me
-## Query base, if you pay for more queries this is what you want to change.
-#IPINTEL_BASE check.getipintel.net
-## Maximum number of queries in a minute
-#IPINTEL_MAX_QUERY_MINUTE 15
-## Maximum number of queries in a day
-#IPINTEL_MAX_QUERY_DAY 500
-## Whether clients which cannot be checked due to a rate limit will be denied
-#IPINTEL_REJECT_RATE_LIMITED
-## Whether clients which are flagged as a VPN will be denied
-IPINTEL_REJECT_BAD
-## Whether clients which cannot be checked due to an error of some form will be denied
-#IPINTEL_REJECT_UNKNOWN
-## How long to store results in the cache before they must be retrieved again. IN DAYS.
-#IPINTEL_CACHE_LENGTH 7
-## How many minutes of living playtime to be automatically exempt from IPIntel. 0 for never.
-#IPINTEL_EXEMPT_PLAYTIME_LIVING 0
diff --git a/config/config.txt b/config/config.txt
index b6e24eb5079d..f0a4905baccd 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -56,6 +56,5 @@ $include splurt/donator.txt
$include splurt/autocryo.txt
# Bluemoon stuff!
-$include entries/bluemoon.txt
-$include bluemoon/ipintel.txt
+$include bluemoon/bluemoon.txt
$include bluemoon/discord.txt
diff --git a/modular_bluemoon/phoenix404/code/controllers/configuration/entries/bluemoon_config_entries.dm b/modular_bluemoon/phoenix404/code/controllers/configuration/entries/bluemoon_config_entries.dm
index 3894e3cdf788..4f39472d1b55 100644
--- a/modular_bluemoon/phoenix404/code/controllers/configuration/entries/bluemoon_config_entries.dm
+++ b/modular_bluemoon/phoenix404/code/controllers/configuration/entries/bluemoon_config_entries.dm
@@ -4,38 +4,3 @@
/// Defines whether the server uses the legacy mentor system with mentors.txt or the SQL system.
/datum/config_entry/flag/mentor_legacy_system
protection = CONFIG_ENTRY_LOCKED
-
-/datum/config_entry/string/ipintel_base
- default = "check.getipintel.net"
-
-/datum/config_entry/string/ipintel_email
-
-/datum/config_entry/string/ipintel_email/ValidateAndSet(str_val)
- return str_val != "ch@nge.me" && (!length(str_val) || findtext(str_val, "@")) && ..()
-
-/datum/config_entry/number/ipintel_rating_bad
- default = 1
- integer = FALSE
- min_val = 0
- max_val = 1
-
-/datum/config_entry/flag/ipintel_reject_rate_limited
- default = FALSE
-
-/datum/config_entry/flag/ipintel_reject_bad
- default = FALSE
-
-/datum/config_entry/flag/ipintel_reject_unknown
- default = FALSE
-
-/datum/config_entry/number/ipintel_rate_minute
- default = 15
- min_val = 0
-
-/datum/config_entry/number/ipintel_cache_length
- default = 7
- min_val = 0
-
-/datum/config_entry/number/ipintel_exempt_playtime_living
- default = 5
- min_val = 0
diff --git a/modular_bluemoon/phoenix404/code/controllers/subsystem/ipintel.dm b/modular_bluemoon/phoenix404/code/controllers/subsystem/ipintel.dm
deleted file mode 100644
index 236e781168d0..000000000000
--- a/modular_bluemoon/phoenix404/code/controllers/subsystem/ipintel.dm
+++ /dev/null
@@ -1,301 +0,0 @@
-SUBSYSTEM_DEF(ipintel)
- name = "XKeyScore"
- init_order = INIT_ORDER_XKEYSCORE
- flags = SS_NO_INIT|SS_NO_FIRE
- /// The threshold for probability to be considered a VPN and/or bad IP
- var/probability_threshold
-
- /// Cache for previously queried IP addresses and those stored in the database
- var/list/datum/ip_intel/cached_queries = list()
- /// The store for rate limiting
- var/rate_limit_minute
-
-/// The ip intel for a given address
-/datum/ip_intel
- /// If this intel was just queried, the status of the query
- var/query_status
- var/result
- var/address
- var/date
-
-/datum/controller/subsystem/ipintel/OnConfigLoad()
- var/list/fail_messages = list()
-
- var/contact_email = CONFIG_GET(string/ipintel_email)
-
- if(!length(contact_email))
- fail_messages += "No contact email"
-
- if(!findtext(contact_email, "@"))
- fail_messages += "Invalid contact email"
-
- if(!length(CONFIG_GET(string/ipintel_base)))
- fail_messages += "Invalid query base"
-
- if (!CONFIG_GET(flag/sql_enabled))
- fail_messages += "The database is not enabled"
-
- if(length(fail_messages))
- message_admins("IPIntel: Initialization failed check logs!")
- WRITE_LOG(GLOB.world_suspicious_login_log, "IPIntel is not enabled because the configs are not valid. [fail_messages]")
-
-/datum/controller/subsystem/ipintel/stat_entry(msg)
- return "[..()] | M: [CONFIG_GET(number/ipintel_rate_minute) - rate_limit_minute]"
-
-
-/datum/controller/subsystem/ipintel/proc/is_enabled()
- return length(CONFIG_GET(string/ipintel_email)) && length(CONFIG_GET(string/ipintel_base)) && CONFIG_GET(flag/sql_enabled)
-
-/datum/controller/subsystem/ipintel/proc/get_address_intel_state(address, probability_override)
- if (!is_enabled())
- return IPINTEL_GOOD_IP
- var/datum/ip_intel/intel = query_address(address)
- if(isnull(intel))
- stack_trace("query_address did not return an ip intel response")
- return IPINTEL_UNKNOWN_INTERNAL_ERROR
-
- if(istext(intel))
- return intel
-
- if(!(intel.query_status in list("success", "cached")))
- return IPINTEL_UNKNOWN_QUERY_ERROR
- var/check_probability = probability_override || CONFIG_GET(number/ipintel_rating_bad)
- if(intel.result >= check_probability)
- return IPINTEL_BAD_IP
- return IPINTEL_GOOD_IP
-
-/datum/controller/subsystem/ipintel/proc/is_rate_limited()
- var/static/minute_key
- var/expected_minute_key = floor(REALTIMEOFDAY / 1 MINUTES)
-
- if(minute_key != expected_minute_key)
- minute_key = expected_minute_key
- rate_limit_minute = 0
-
- if(rate_limit_minute >= CONFIG_GET(number/ipintel_rate_minute))
- return IPINTEL_RATE_LIMITED_MINUTE
- return FALSE
-
-/datum/controller/subsystem/ipintel/proc/query_address(address, allow_cached = TRUE)
- if (!is_enabled())
- return
- if(allow_cached && fetch_cached_ip_intel(address))
- return cached_queries[address]
- var/is_rate_limited = is_rate_limited()
- if(is_rate_limited)
- return is_rate_limited
- rate_limit_minute += 1
-
- var/query_base = "https://[CONFIG_GET(string/ipintel_base)]/check.php?ip="
- var/query = "[query_base][address]&contact=[CONFIG_GET(string/ipintel_email)]&flags=b&format=json"
-
- var/datum/http_request/request = new
- request.prepare(RUSTG_HTTP_METHOD_GET, query)
- request.execute_blocking()
- var/datum/http_response/response = request.into_response()
- var/list/data = json_decode(response.body)
- // Log the response
- WRITE_LOG(GLOB.query_debug_log, "ip check response body [data]")
-
- var/datum/ip_intel/intel = new
- intel.query_status = data["status"]
- if(intel.query_status != "success")
- return intel
- intel.result = data["result"]
- if(istext(intel.result))
- intel.result = text2num(intel.result)
- intel.date = ISOtime()
- intel.address = address
- cached_queries[address] = intel
- add_intel_to_database(intel)
- return intel
-
-/datum/controller/subsystem/ipintel/proc/add_intel_to_database(datum/ip_intel/intel)
- set waitfor = FALSE //no need to make the client connection wait for this step.
- if (!SSdbcore.Connect())
- return
- var/datum/db_query/query = SSdbcore.NewQuery(
- "INSERT INTO [format_table_name("ipintel")] ( \
- ip, \
- intel \
- ) VALUES ( \
- INET_ATON(:address), \
- :result \
- )", list(
- "address" = intel.address,
- "result" = intel.result,
- )
- )
- if(!query.warn_execute())
- qdel(query)
- return
- qdel(query)
-
-/datum/controller/subsystem/ipintel/proc/fetch_cached_ip_intel(address)
- if (!SSdbcore.Connect())
- return
- var/ipintel_cache_length = CONFIG_GET(number/ipintel_cache_length)
- var/date_restrictor = ""
- var/sql_args = list("address" = address)
- if(ipintel_cache_length > 1)
- date_restrictor = " AND date > DATE_SUB(NOW(), INTERVAL :ipintel_cache_length DAY)"
- sql_args["ipintel_cache_length"] = ipintel_cache_length
- var/datum/db_query/query = SSdbcore.NewQuery(
- "SELECT * FROM [format_table_name("ipintel")] WHERE ip = INET_ATON(:address)[date_restrictor]",
- sql_args
- )
- if(!query.warn_execute())
- qdel(query)
- return
-
-
- query.NextRow()
- var/list/data = query.item
- qdel(query)
- if(isnull(data))
- return null
-
- var/datum/ip_intel/intel = new
- intel.query_status = "cached"
- intel.result = data["intel"]
- if(istext(intel.result))
- intel.result = text2num(intel.result)
- intel.date = data["date"]
- intel.address = address
- return TRUE
-
-/datum/controller/subsystem/ipintel/proc/is_exempt(client/player)
- if(player.holder || GLOB.deadmins[player.ckey])
- return TRUE
- var/exempt_living_playtime = CONFIG_GET(number/ipintel_exempt_playtime_living)
- if(exempt_living_playtime > 0)
- var/list/play_records = player.prefs.exp
- if (!play_records.len)
- player.set_exp_from_db()
- play_records = player.prefs.exp
- if(length(play_records) && play_records[EXP_TYPE_LIVING] > exempt_living_playtime)
- return TRUE
- return FALSE
-
-/datum/controller/subsystem/ipintel/proc/is_whitelisted(ckey)
- var/datum/db_query/query = SSdbcore.NewQuery(
- "SELECT * FROM [format_table_name("ipintel_whitelist")] WHERE ckey = :ckey", list(
- "ckey" = ckey
- )
- )
- if(!query.warn_execute())
- qdel(query)
- return
- query.NextRow()
- . = !!query.item // if they have a row, they are whitelisted
- qdel(query)
-
-/client/proc/ipintel_allow(ckey as text)
- set category = "Debug"
- set name = "Whitelist Player VPN"
- set desc = "Allow a player to connect even if they are using a VPN."
-
- if (!SSipintel.is_enabled())
- to_chat(usr, "The ipintel system is not currently enabled but you can still edit the whitelists")
- if(SSipintel.is_whitelisted(ckey))
- to_chat(usr, "Player is already whitelisted.")
- return
-
- var/datum/db_query/query = SSdbcore.NewQuery(
- "INSERT INTO [format_table_name("ipintel_whitelist")] ( \
- ckey, \
- admin_ckey \
- ) VALUES ( \
- :ckey, \
- :admin_ckey \
- )", list(
- "ckey" = ckey,
- "admin_ckey" = usr.ckey,
- )
- )
- if(!query.warn_execute())
- qdel(query)
- return
-
- qdel(query)
- message_admins("IPINTEL: [key_name_admin(usr)] has whitelisted '[ckey]'")
-
-/client/proc/ipintel_revoke(ckey as text)
- set category = "Debug"
- set name = "Revoke Player VPN Whitelist"
- set desc = "Revoke a player's VPN whitelist."
-
- if (!SSipintel.is_enabled())
- to_chat(usr, "The ipintel system is not currently enabled but you can still edit the whitelists")
- if(!SSipintel.is_whitelisted(ckey))
- to_chat(usr, "Player is not whitelisted.")
- return
- var/datum/db_query/query = SSdbcore.NewQuery(
- "DELETE FROM [format_table_name("ipintel_whitelist")] WHERE ckey = :ckey", list(
- "ckey" = ckey
- )
- )
- if(!query.warn_execute())
- qdel(query)
- return
-
- message_admins("IPINTEL: [key_name_admin(usr)] has revoked the VPN whitelist for '[ckey]'")
-
-/client/proc/check_ip_intel()
- if (!SSipintel.is_enabled())
- return
- if(SSipintel.is_exempt(src) || SSipintel.is_whitelisted(ckey))
- return
-
- var/intel_state = SSipintel.get_address_intel_state(address)
- var/reject_bad_intel = CONFIG_GET(flag/ipintel_reject_bad)
- var/reject_unknown_intel = CONFIG_GET(flag/ipintel_reject_unknown)
- var/reject_rate_limited = CONFIG_GET(flag/ipintel_reject_rate_limited)
-
- var/connection_rejected = FALSE
- var/datum/ip_intel/intel = SSipintel.cached_queries[address]
- switch(intel_state)
- if(IPINTEL_BAD_IP)
- log_access("IPINTEL: [ckey] was flagged as a VPN with [intel.result * 100]% likelihood.")
- if(reject_bad_intel)
- to_chat_immediate(src, span_boldnotice("Your connection has been detected as a VPN."))
- connection_rejected = TRUE
- else
- message_admins("IPINTEL: [key_name_admin(src)] has been flagged as a VPN with [intel.result * 100]% likelihood.")
-
- if(IPINTEL_RATE_LIMITED_DAY, IPINTEL_RATE_LIMITED_MINUTE)
- log_access("IPINTEL: [ckey] was unable to be checked due to the rate limit.")
- if(reject_rate_limited)
- to_chat_immediate(src, span_boldnotice("New connections are not being allowed at this time."))
- connection_rejected = TRUE
- else
- message_admins("IPINTEL: [key_name_admin(src)] was unable to be checked due to rate limiting.")
-
- if(IPINTEL_UNKNOWN_INTERNAL_ERROR, IPINTEL_UNKNOWN_QUERY_ERROR)
- log_access("IPINTEL: [ckey] unable to be checked due to an error.")
- if(reject_unknown_intel)
- to_chat_immediate(src, span_boldnotice("Your connection cannot be processed at this time."))
- connection_rejected = TRUE
- else
- message_admins("IPINTEL: [key_name_admin(src)] was unable to be checked due to an error.")
-
- if(!connection_rejected)
- return
-
- var/list/contact_where = list()
- var/forum_url = CONFIG_GET(string/discordurl)
- if(forum_url)
- contact_where += list("Forums")
- var/appeal_url = CONFIG_GET(string/banappeals)
- if(appeal_url)
- contact_where += list("Ban Appeals")
-
- var/message_string = "Your connection has been rejected at this time. If you believe this is in error or have any questions please contact an admin"
- if(length(contact_where))
- message_string += " at [english_list(contact_where)]"
- else
- message_string += " somehow."
- message_string += "."
-
- to_chat_immediate(src, span_userdanger(message_string))
- qdel(src)
diff --git a/modular_splurt/code/modules/client/client_procs.dm b/modular_splurt/code/modules/client/client_procs.dm
index 9966699aaba6..7f82c94449da 100644
--- a/modular_splurt/code/modules/client/client_procs.dm
+++ b/modular_splurt/code/modules/client/client_procs.dm
@@ -1,4 +1,3 @@
-/* // BLUEMOON EDIT:START IPINTEL FROM TG
/client/check_ip_intel()
. = ..()
if(!(ip_intel != initial(ip_intel) && ip_intel >= CONFIG_GET(number/ipintel_rating_bad)))
@@ -21,7 +20,6 @@
log_admin(logg)
message_admins(span_adminnotice(logg))
qdel(src)
-*/ // BLUEMOON EDIT:END IPINTEL FROM TG
/client/proc/toggle_quirk(mob/living/carbon/human/H)
if (!istype(H))
diff --git a/tgstation.dme b/tgstation.dme
index bfe892538525..965ecc3b13b8 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -23,7 +23,6 @@
#include "code\__BLUEMOONCODE\plug13.dm"
#include "code\__BLUEMOONCODE\_DEFINES\bloodsuckers.dm"
#include "code\__BLUEMOONCODE\_DEFINES\gamemode.dm"
-#include "code\__BLUEMOONCODE\_DEFINES\ipintel.dm"
#include "code\__BLUEMOONCODE\_DEFINES\language.dm"
#include "code\__BLUEMOONCODE\_DEFINES\mail.dm"
#include "code\__BLUEMOONCODE\_DEFINES\melee.dm"
@@ -342,7 +341,6 @@
#include "code\__SPLURTCODE\DEFINES\traits.dm"
#include "code\__SPLURTCODE\DEFINES\arousal\genitals.dm"
#include "code\__SPLURTCODE\DEFINES\dcs\signals.dm"
-#include "code\_BLUEMOONCODE\_HELPERS\time.dm"
#include "code\_globalvars\admin.dm"
#include "code\_globalvars\bitfields.dm"
#include "code\_globalvars\configuration.dm"
@@ -4547,7 +4545,6 @@
#include "modular_bluemoon\phoenix404\code\_HELPERS\admin.dm"
#include "modular_bluemoon\phoenix404\code\_HELPERS\roundend.dm"
#include "modular_bluemoon\phoenix404\code\controllers\configuration\entries\bluemoon_config_entries.dm"
-#include "modular_bluemoon\phoenix404\code\controllers\subsystem\ipintel.dm"
#include "modular_bluemoon\phoenix404\modules\admin\code\player_ranks.dm"
#include "modular_bluemoon\phoenix404\modules\mentor\code\mentor.dm"
#include "modular_bluemoon\phoenix404\modules\player_ranks\code\player_rank_controller\_player_rank_controller.dm"