diff --git a/code/controllers/configuration/entries/fail2topic.dm b/code/controllers/configuration/entries/fail2topic.dm index 7ed09b378a..3187997c39 100644 --- a/code/controllers/configuration/entries/fail2topic.dm +++ b/code/controllers/configuration/entries/fail2topic.dm @@ -9,7 +9,6 @@ protection = CONFIG_ENTRY_LOCKED //affects physical server configuration, no touchies!! /datum/config_entry/flag/fail2topic_enabled - config_entry_value = TRUE /datum/config_entry/number/topic_max_size config_entry_value = 8192 diff --git a/code/controllers/configuration/entries/logging.dm b/code/controllers/configuration/entries/logging.dm index 1cb47d6ab7..81cd54cbb0 100644 --- a/code/controllers/configuration/entries/logging.dm +++ b/code/controllers/configuration/entries/logging.dm @@ -9,6 +9,7 @@ /datum/config_entry/flag/log_admin // log admin actions protection = CONFIG_ENTRY_LOCKED + config_entry_value = TRUE /datum/config_entry/flag/log_prayer // log prayers config_entry_value = TRUE diff --git a/config/config.txt b/config/config.txt index 99f07abe78..583e733f4d 100644 --- a/config/config.txt +++ b/config/config.txt @@ -1,5 +1,16 @@ # You can use the "$include" directive to split your configs however you want +# MAKE SURE ENTRIES ARE SORTED IN THE SAME FASHION THEY ARE IN THE .dm +# if you don't do this i will find you and put lemons on your eyes. + +# You can use the @ character at the beginning of a config option to lock it from being edited in-game +# Example usage: +# @SERVERNAME tgstation +# Which sets the SERVERNAME, and disallows admins from being able to change it using View Variables. +# @LOG_TWITTER 0 +# Which explicitly disables LOG_TWITTER, as well as locking it. +# There are various options which are hard-locked for security reasons. + $include entries/antag_rep.txt $include entries/comms.txt $include entries/dbconfig.txt diff --git a/config/entries/antag_rep.txt b/config/entries/antag_rep.txt index e8a7250686..6cd9315a0c 100644 --- a/config/entries/antag_rep.txt +++ b/config/entries/antag_rep.txt @@ -1,3 +1,17 @@ +## disclaimer: this is a confusing file. reading and understanding antag rep code is recommended for future headmins/server leads. + +## Use the antagonist reputation system +# ANTAG_REP + +## Maximum antag roll ticketts someone can have +# ANTAG_REP_MAXIMUM 200 + +## "Free" tickets someone gets on roll +# DEFAULT_ANTAG_TICKETS 100 + +## Maximum **STORED** tickets used ontop of default per roll +# MAX_TICKETS_PER_ROLL 100 + ## Custom antag reputation values ## List of job titles followed by antag rep value, all prefixed with ANTAG_REP. See code/modules/jobs/job_types for titles ## e.g. diff --git a/config/entries/comms.txt b/config/entries/comms.txt index ae336d484b..7af6a758d3 100644 --- a/config/entries/comms.txt +++ b/config/entries/comms.txt @@ -7,9 +7,12 @@ #CROSS_SERVER ServerName byond:\\address:port ## Name that the server calls itself in communications -#CROSS_COMMS_NAME +# CROSS_COMMS_NAME Citadel Main ## Network-name used for cross-server broadcasts made from communication consoles. ## Servers that do not match this network-name will have their messages discarded. ## Leaving this commented will allow all messages through, regardless of network. #CROSS_COMMS_NETWORK default_network + +## CITADEL CONFIG: List of cross server URLs, same as CROSS_SERVER, to send bunker override messages for +## Format is the same as CROSS_SERVER. diff --git a/config/entries/dbconfig.txt b/config/entries/dbconfig.txt index 3a058fe563..d5bc37bce7 100644 --- a/config/entries/dbconfig.txt +++ b/config/entries/dbconfig.txt @@ -43,3 +43,6 @@ BSQL_THREAD_LIMIT 50 ## Uncomment to enable verbose BSQL communication logs #BSQL_DEBUG + +## Time to wait before considering a query as lingering too long +@QUERY_DEBUG_LOG_TIMEOUT 70 diff --git a/config/entries/donator.txt b/config/entries/donator.txt index b26d1efe22..42c0461bf8 100644 --- a/config/entries/donator.txt +++ b/config/entries/donator.txt @@ -1,4 +1,7 @@ -#this is a bad system but I'm lazy so it piggybacks off config loader system. +## Citadel donator system +## this is a bad system but I'm lazy so it piggybacks off config loader system. +## File isn't properly documented because the donator system desperately needs a rewrite and I can't be arsed to right now. + #Specify group followed by ckey for each ckey. #TIER_1_DONATORS test_ckey diff --git a/config/entries/dyanmic.txt b/config/entries/dyanmic.txt index 480f6d8ed8..e08fb7634d 100644 --- a/config/entries/dyanmic.txt +++ b/config/entries/dyanmic.txt @@ -307,3 +307,12 @@ DYNAMIC_ASSASSINATE_COST 2 DYNAMIC_WAROPS_REQUIREMENT 60 DYNAMIC_WAROPS_COST 10 + +## Storyteller min players +# STORYTELLER_MIN_PLAYERS CHAOTIC 35 + +## Storyteller minimum chaos +# STORYTELLER_MIN_CHAOS CHAOTIC 75 + +## Storyteller maximum chaos +# STORYTELLER_MAX_CHAOS CHAOTIC 250 diff --git a/config/entries/fail2topic.txt b/config/entries/fail2topic.txt index e69de29bb2..77af89b5aa 100644 --- a/config/entries/fail2topic.txt +++ b/config/entries/fail2topic.txt @@ -0,0 +1,20 @@ +## Fail2topic +## Disclaimer: If you don't know what you're doing, don't touch this + +## Firewall rule name +@FAIL2TOPIC_RULE_NAME + +## Fail2topic enabled/disabled +FAIL2TOPIC_ENABLED + +## Topic max size before it's rejected, using BYOND length() +TOPIC_MAX_SIZE 8192 + +## Fail2topic rate limit whitelist. Using any external IPs is not recommended. +# TOPIC_RATE_LIMIT_WHITELIST 127.0.0.1:1337 + +## Max fails before something gets firewalled +FAIL2TOPIC_MAX_FAILS 5 + +## Fail2topic rate limit of 1 topic per this many deciseconds +FAIL2TOPIC_RATE_LIMIT 10 diff --git a/config/entries/general.txt b/config/entries/general.txt index e3a2743071..3a5e39e20d 100644 --- a/config/entries/general.txt +++ b/config/entries/general.txt @@ -1,12 +1,4 @@ -# You can use the @ character at the beginning of a config option to lock it from being edited in-game -# Example usage: -# @SERVERNAME tgstation -# Which sets the SERVERNAME, and disallows admins from being able to change it using View Variables. -# @LOG_TWITTER 0 -# Which explicitly disables LOG_TWITTER, as well as locking it. -# There are various options which are hard-locked for security reasons. - ## Server name: This appears at the top of the screen in-game and in the BYOND hub. Uncomment and replace 'tgstation' with the name of your choice. # SERVERNAME tgstation @@ -81,69 +73,7 @@ MENTOR_LEGACY_SYSTEM ## Allows admins to bypass job playtime requirements. #USE_EXP_RESTRICTIONS_ADMIN_BYPASS -## log OOC channel -LOG_OOC -## log client Say -LOG_SAY - -## log admin actions -LOG_ADMIN - -## log admin chat -LOG_ADMINCHAT - -## log client access (logon/logoff) -LOG_ACCESS - -## log game actions (start of round, results, etc.) -LOG_GAME - -## log player votes -LOG_VOTE - -## log player crafting -LOG_CRAFT - -## log client Whisper -LOG_WHISPER - -## log emotes -LOG_EMOTE - -## log attack messages -LOG_ATTACK - -## log pda messages -LOG_PDA - -## log telecomms messages -LOG_TELECOMMS - -## log prayers -LOG_PRAYER - -## log lawchanges -LOG_LAW - -## log crew manifest to seperate file -LOG_MANIFEST - -## log job divide debugging information -#LOG_JOB_DEBUG - -## log all world.Topic() calls -# LOG_WORLD_TOPIC - -## enables use of the proc twitterize() that lets you take a large list of strings and turn it into a JSON file of tweet sized strings. -## As an example of how this could be """useful""" look towards Poly (https://twitter.com/Poly_the_Parrot) -# LOG_TWITTER - -## Enable logging pictures -# LOG_PICTURES - -## log virus and actions -LOG_VIRUS ##Log camera pictures - Must have picture logging enabled PICTURE_LOGGING_CAMERA diff --git a/config/entries/logging.txt b/config/entries/logging.txt index e69de29bb2..f0eb652b6a 100644 --- a/config/entries/logging.txt +++ b/config/entries/logging.txt @@ -0,0 +1,72 @@ +## log OOC channel +LOG_OOC + +## log client Say +LOG_SAY + +## log admin actions +@LOG_ADMIN + +## log admin chat +@LOG_ADMINCHAT + +## log client access (logon/logoff) +LOG_ACCESS + +## log game actions (start of round, results, etc.) +LOG_GAME + +## log player votes +LOG_VOTE + +## log player crafting +LOG_CRAFT + +## log client Whisper +LOG_WHISPER + +## log emotes +LOG_EMOTE + +## log attack messages +LOG_ATTACK + +## log pda messages +LOG_PDA + +## log telecomms messages +LOG_TELECOMMS + +## log prayers +LOG_PRAYER + +## log lawchanges +LOG_LAW + +## log crew manifest to seperate file +LOG_MANIFEST + +## log job divide debugging information +LOG_JOB_DEBUG + +## Log shuttle related actions +LOG_SHUTTLE + +## log all world.Topic() calls +LOG_WORLD_TOPIC + +## enables use of the proc twitterize() that lets you take a large list of strings and turn it into a JSON file of tweet sized strings. +## As an example of how this could be """useful""" look towards Poly (https://twitter.com/Poly_the_Parrot) +# LOG_TWITTER + +## Enable logging pictures +LOG_PICTURES + +## Log camera pictures +PICTURE_LOGGING_CAMERA + +## log virus and actions +LOG_VIRUS + +## Log all raw hrefs of tgui, rather than letting tgui logging handle it. KEEP THIS OFF UNLESS YOU KNOW WHAT YOU ARE DOING. +# EMERGENCY_TGUI_LOGGING diff --git a/config/entries/policy.txt b/config/entries/policy.txt index 502b525ad0..a763bc2b28 100644 --- a/config/entries/policy.txt +++ b/config/entries/policy.txt @@ -10,7 +10,15 @@ ## EXAMPLE: ## POLICYCONFIG ON_CLONE insert text here span classes are fully supported +POLICYCONFIG ON_CLONE Your thoughts are hazy as the cloning algorithms reboot your consciousness. Unfortunately for you, the imperfect nature of the process has left out your more recent, less entrenched memories.
You only remember vague details of your death, without clear recollection of who or what is specifically responsible for your demise.
(If you were murdered, you do not remember the exact name or appearance of your killer, only vague details of how they killed you rather than the exact murder weapon. (ex: drank something and blanked out, felt an impact in the back and bled out)
If you died to environmental hazards like ash storms or spacing, this is not as applicable -- however, keep in mind that if someone set you up to die to that, like being tossed forcefully into space, that the previous clause of not remembering killer name in a murder applies!
+ +POLICYCONFIG ON_DEFIB_LATE Your mind barely responds as first as you are forcefully returned to the world of the living after all too long in a state of decay. While medicine may restore your brain functions, you can't seem to remember your latest memories...
You only remember vague details of your death, without clear recollection of who or what is specifically responsible for your demise.
(If you were murdered, you do not remember the exact name or appearance of your killer, only vague details of how they killed you rather than the exact murder weapon. (ex: drank something and blanked out, felt an impact in the back and bled out)
If you died to environmental hazards like ash storms or spacing, this is not as applicable -- however, keep in mind that if someone set you up to die to that, like being tossed forcefully into space, that the previous clause of not remembering killer name in a murder applies!
+ +POLICYCONFIG ON_DEFIB_INTACT You barely miss a beat as you gasp, awakening from the slumber of the deceased. The rapid resuscitation has saved you from the worst effects of brain damage.
You recall all information leading up to your death and exact details on method of death and killer if applicable, as long as you were conscious to witness such. + +POLICYCONFIG PAI If you are given an ERP-related directive without OOC consent, ahelp immediately.w + ## Misc entries for above ## Defib time limit for "cloning memory disorder" memory loss in seconds -# DEFIB_CMD_TIME_LIMIT 300 +DEFIB_CMD_TIME_LIMIT 300 diff --git a/config/entries/resources.txt b/config/entries/resources.txt index 4fc0f7c947..909bef0809 100644 --- a/config/entries/resources.txt +++ b/config/entries/resources.txt @@ -1,4 +1,38 @@ -## List of urls to external CDNs for the .rsc file. -## MUST BE HTTP, NOT HTTPS DUE TO BYOND LIMItATIONS +# External resources +# Set this to the location of a .zip with the server's .rsc inside of it. +# If you set this mutiple times, the server will rotate between the links. +# To use this, the compile option PRELOAD_RSC must be set to 0 to keep byond from preloading resources -# EXTERNAL_RSC_URLS http://www.citadel-station.net/example.rsc +EXTERNAL_RSC_URLS http://tgstation13.download/byond/tgstationv2.zip + + +######################## +# Browser Asset Config # +######################## +# Browser assets are any file included in interfaces. css, images, javascript, etc. +# This handles configuring how we get these to the player so interfaces can access them. + +# Asset Transport +# The normal way of getting assets to clients is to use the internal byond system. This can be slow and delay the opening of interface windows. It also doesn't allow the internal IE windows byond uses to cache anything. +# You can instead have the server save them to a website via a folder within the game server that the web server can read. This could be a simple webserver or something backed by a CDN. +# Valid values: simple, webroot. Simple is the default. +#ASSET_TRANSPORT webroot + + +# Simple asset transport configurable values. + +# Uncomment this to have the server passively send all browser assets to each client in the background. (instead of waiting for them to be needed) +# This should be uncommented in production and commented in development +#ASSET_SIMPLE_PRELOAD + + +# Webroot asset transport configurable values. + +# Local folder to save assets to. +# Assets will be saved in the format of asset.MD5HASH.EXT or in namespaces/hash/ as ASSET_FILE_NAME or asset.MD5HASH.EXT +#ASSET_CDN_WEBROOT data/asset-store/ + +# URL the folder from above can be accessed from. +# for best results the webserver powering this should return a long cache validity time, as all assets sent via this transport use hash based urls +# if you want to test this locally, you simpily run the `localhost-asset-webroot-server.py` python3 script to host assets stored in `data/asset-store/` via http://localhost:58715/ +#ASSET_CDN_URL http://localhost:58715/ diff --git a/config/entries/respawns.txt b/config/entries/respawns.txt index 804a856a93..41c76eaabc 100644 --- a/config/entries/respawns.txt +++ b/config/entries/respawns.txt @@ -2,7 +2,7 @@ RESPAWNS_ENABLED ## Minutes delay before allowing respawns, either from death or observing. Not an integer. -RESPAWN_DELAY 15.0 +RESPAWN_DELAY 10.0 ## Minutes delay before allowing respawns, if the user cryo'd. Not an integer. RESPAWN_DELAY_CRYO 5.0 @@ -16,8 +16,8 @@ ALLOW_NON_ASSISTANT_RESPAWN ## Allow respawning as the same character # ALLOW_SAME_CHARACTER_RESPAWN -## Observing is considered a respawn for the purposes of role lockouts. Defaults to disabled. When disabled, only RESPAWNING rather than returning from observe locks you out. -# RESPAWN_PENALTY_INCLUDES_OBSERVE +## Observing is considered a respawn for the purposes of role lockouts. Defaults to disabled. When disabled, only RESPAWNING rather than returning from observer locks you out. +RESPAWN_PENALTY_INCLUDES_OBSERVE ## Time in minutes from round start before respawn is enabled RESPAWN_MINIMUM_DELAY_ROUNDSTART 30.0 diff --git a/config/entries/stamina_combat.txt b/config/entries/stamina_combat.txt index e69de29bb2..7268deb223 100644 --- a/config/entries/stamina_combat.txt +++ b/config/entries/stamina_combat.txt @@ -0,0 +1,24 @@ +## haha these keys are going to collide with other stuff for sure someday + +## OUT_OF_COMBAT_TIMER, PERCENT_REGENERATION_OUT_OF_COMBAT disabled - combat mode has been yanked from the codebase and made a UI toggle. + +## Maximum stamina buffer +BUFFER_MAX 25 + +## Seconds until out of combat regen kicks in +# OUT_OF_COMBAT_TIMER 15 + +## Base regen per second +BASE_REGENERATION 3.5 + +## Regenerate this % of total buffer when out of combat +# PERCENT_REGENERATION_OUT_OF_COMBAT + +## Seconds after an action for which regeneration is penalized +POST_ACTION_PENALTY_DELAY 5 + +## Factor to multiply by for penalizing post action regen +POST_ACTION_PENALTY_FACTOR 0.25 + +## Factor to multiply by for stamina usage past buffer into health +OVERDRAW_PENALTY_FACTOR 1.5 diff --git a/config/entries/threat.txt b/config/entries/threat.txt index e57edb66e4..fa7c5cffa5 100644 --- a/config/entries/threat.txt +++ b/config/entries/threat.txt @@ -6,4 +6,4 @@ ## Custom antag threat values, see above ## e.g. -## ANTAG_THREAT Traitor 5 \ No newline at end of file +## ANTAG_THREAT Traitor 5 diff --git a/config/external_rsc_urls.txt b/config/external_rsc_urls.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/config/resources.txt b/config/resources.txt deleted file mode 100644 index 909bef0809..0000000000 --- a/config/resources.txt +++ /dev/null @@ -1,38 +0,0 @@ -# External resources -# Set this to the location of a .zip with the server's .rsc inside of it. -# If you set this mutiple times, the server will rotate between the links. -# To use this, the compile option PRELOAD_RSC must be set to 0 to keep byond from preloading resources - -EXTERNAL_RSC_URLS http://tgstation13.download/byond/tgstationv2.zip - - -######################## -# Browser Asset Config # -######################## -# Browser assets are any file included in interfaces. css, images, javascript, etc. -# This handles configuring how we get these to the player so interfaces can access them. - -# Asset Transport -# The normal way of getting assets to clients is to use the internal byond system. This can be slow and delay the opening of interface windows. It also doesn't allow the internal IE windows byond uses to cache anything. -# You can instead have the server save them to a website via a folder within the game server that the web server can read. This could be a simple webserver or something backed by a CDN. -# Valid values: simple, webroot. Simple is the default. -#ASSET_TRANSPORT webroot - - -# Simple asset transport configurable values. - -# Uncomment this to have the server passively send all browser assets to each client in the background. (instead of waiting for them to be needed) -# This should be uncommented in production and commented in development -#ASSET_SIMPLE_PRELOAD - - -# Webroot asset transport configurable values. - -# Local folder to save assets to. -# Assets will be saved in the format of asset.MD5HASH.EXT or in namespaces/hash/ as ASSET_FILE_NAME or asset.MD5HASH.EXT -#ASSET_CDN_WEBROOT data/asset-store/ - -# URL the folder from above can be accessed from. -# for best results the webserver powering this should return a long cache validity time, as all assets sent via this transport use hash based urls -# if you want to test this locally, you simpily run the `localhost-asset-webroot-server.py` python3 script to host assets stored in `data/asset-store/` via http://localhost:58715/ -#ASSET_CDN_URL http://localhost:58715/ diff --git a/tgstation.dme b/tgstation.dme index 7e70fa06d5..3d7075466f 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -292,6 +292,7 @@ #include "code\controllers\subsystem.dm" #include "code\controllers\configuration\config_entry.dm" #include "code\controllers\configuration\configuration.dm" +#include "code\controllers\configuration\entries\antag_rep.dm" #include "code\controllers\configuration\entries\comms.dm" #include "code\controllers\configuration\entries\dbconfig.dm" #include "code\controllers\configuration\entries\donator.dm" @@ -306,6 +307,7 @@ #include "code\controllers\configuration\entries\resources.dm" #include "code\controllers\configuration\entries\respawns.dm" #include "code\controllers\configuration\entries\stamina_combat.dm" +#include "code\controllers\configuration\entries\threat.dm" #include "code\controllers\subsystem\achievements.dm" #include "code\controllers\subsystem\acid.dm" #include "code\controllers\subsystem\activity.dm"