architects new ban system, monkey saws in proper system bans for client security (#7324)

This commit is contained in:
silicons
2025-10-11 19:54:16 +02:00
committed by GitHub
parent 3f1a13bb59
commit 7fdc67b5d3
14 changed files with 270 additions and 96 deletions
+14
View File
@@ -0,0 +1,14 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2025 Citadel Station Developers *//
/datum/player_ban
var/ban_id
var/match_player_id
var/match_ckey
var/match_ip
var/match_computer_id
var/type_class
var/type_id
/// plaintext generated by subsystem
/// * not always filled out; if looking up metadata
var/list/edit_log
@@ -0,0 +1,15 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2025 Citadel Station Developers *//
/**
* Contains all active bans for a player for quick lookup.
* * Will only contain one ban per relevant thing; e.g. if someone's somehow triple-jobbanned
* from captain, it'll only have one.
*/
/datum/player_ban_cache
var/total_bans
var/datum/player_ban/is_server_banned
/// id = entry
var/alist/datum/player_ban/currently_banned_role_ids
/// class = entry
var/alist/datum/player_ban/currently_banned_role_classes