Files
Paradise/code/controllers/configuration/sections/system_configuration.dm
Migratingcocofruit 1abb121eb7 Ports in game bug reporting from CM (#30376)
* adds the files doesn't even compile yet WIP

* compiles now. axed some stuff we don't need

* Update skin.dmf

* It technically works

* Adds in the stylesheet as well

* makes approval work

* Update tgui.bundle.js

* changes url to para master

* Makes apostrophes work

* removes token read line

* moves bug report verb to OOC.dm and changes its name to "Report a Bug"

* Update bug_report.dm

* Update tgui.bundle.js

* Adds API token var to config.

* adds a per ckey cooldown of 5 minutes for bug reports

* tgui rebuild

* rebuild tgui

* Update tgui.bundle.js

* review changes

* better timeout check

* changes example config to include the github token

* Update tgui.bundle.js

* tgui rebuild

* add message when bug report list is empty and changes some warnings to info type messages

* move round id and byond builds to additional details

* moves initial user ref to UID. Fixes commit hash stuff adds TM list

* Update tgui.bundle.js
2025-10-16 18:22:02 +00:00

66 lines
2.7 KiB
Plaintext

/// Config holder for stuff relating to server backend management and secrets
/datum/configuration_section/system_configuration
// NO EDITS OR READS TO THIS WHAT SOEVER
protection_state = PROTECTION_PRIVATE
/// Password for authorising world/Topic requests
var/topic_key = null
/// Do we want the server to kill on reboot instead of keeping the same DD session
var/shutdown_on_reboot = FALSE
/// Is this server a production server (Has higher security and requires 2FA)
var/is_production = FALSE
/// If above is true, you can run a shell command
var/shutdown_shell_command = null
/// Internal API host
var/api_host = null
/// Internal API key
var/api_key = null
/// Github API token
var/github_api_token = null
/// List of IP addresses which bypass world topic rate limiting
var/list/topic_ip_ratelimit_bypass = list()
/// Server instance ID
var/instance_id = "paradise_main"
/// Do we want to enable instancing stuff at all?
var/enable_multi_instance_support = FALSE
/// Server internal IP
var/internal_ip = "127.0.0.1"
/// Are we using an external handler for TOS
var/external_tos_handler = FALSE
/// Map datum of the map to use, overriding the defaults, and `data/next_map.txt`
var/override_map = null
/// Assoc list of region names and their server IPs. Used for geo-routing.
var/list/region_map = list()
/// Send a system toast on init completion?
var/toast_on_init_complete = FALSE
/// The URL for a ss13-yt-wrap server (https://github.com/Absolucy/ss13-yt-wrap) to use.
var/ytdlp_url = null
/datum/configuration_section/system_configuration/load_data(list/data)
// Use the load wrappers here. That way the default isnt made 'null' if you comment out the config line
CONFIG_LOAD_BOOL(shutdown_on_reboot, data["shutdown_on_reboot"])
CONFIG_LOAD_BOOL(is_production, data["is_production"])
CONFIG_LOAD_BOOL(external_tos_handler, data["external_tos_handler"])
CONFIG_LOAD_BOOL(enable_multi_instance_support, data["enable_multi_instance_support"])
CONFIG_LOAD_BOOL(toast_on_init_complete, data["toast_on_init_complete"])
CONFIG_LOAD_STR(topic_key, data["communications_password"])
CONFIG_LOAD_STR(shutdown_shell_command, data["shutdown_shell_command"])
CONFIG_LOAD_STR(api_host, data["api_host"])
CONFIG_LOAD_STR(api_key, data["api_key"])
CONFIG_LOAD_STR(github_api_token, data["github_api_token"])
CONFIG_LOAD_LIST(topic_ip_ratelimit_bypass, data["topic_ip_ratelimit_bypass"])
CONFIG_LOAD_STR(instance_id, data["instance_id"])
CONFIG_LOAD_STR(internal_ip, data["internal_ip"])
CONFIG_LOAD_STR(override_map, data["override_map"])
CONFIG_LOAD_STR(ytdlp_url, data["ytdlp_url"])
// Load region overrides
if(islist(data["regional_servers"]))
region_map.Cut()
for(var/list/kvset in data["regional_servers"])
region_map[kvset["name"]] = kvset["ip"]