# You can use the "$include" directive to split your configs however you want $include game_options.txt $include dbconfig.txt $include logging.txt $include resources.txt $include sqlite.txt # 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. In this case it will read "tgstation: station_name" where station_name is the randomly generated name of the station for the round. Remove the # infront of SERVERNAME and replace 'tgstation' with the name of your choice # SERVERNAME spacestation13 ## Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system. ADMIN_LEGACY_SYSTEM ## Add a # infront of this if you want to use the SQL based banning system. The legacy systems use the files in the data folder. You need to set up your database to use the SQL based system. BAN_LEGACY_SYSTEM ## Add a # here if you wish to use the setup where jobs have more access. This is intended for servers with low populations - where there are not enough players to fill all roles, so players need to do more than just one job. Also for servers where they don't want people to hide in their own departments. # JOBS_HAVE_MINIMAL_ACCESS ## Unhash this entry to have certain jobs require your account to be at least a certain number of days old to select. You can configure the exact age requirement for different jobs by editing ## the minimal_player_age variable in the files in folder /code/game/jobs/job/.. for the job you want to edit. Set minimal_player_age to 0 to disable age requirement for that job. ## REQUIRES the database set up to work. Keep it hashed if you don't have a database set up. ## NOTE: If you have just set-up the database keep this DISABLED, as player age is determined from the first time they connect to the server with the database up. If you just set it up, it means ## you have noone older than 0 days, since noone has been logged yet. Only turn this on once you have had the database up for 30 days. #USE_AGE_RESTRICTION_FOR_JOBS ## Unhash this entry to have certain antag roles require your account to be at least a certain number of days old for round start and auto-spawn selection. ## Non-automatic antagonist recruitment, such as being converted to cultism is not affected. Has the same database requirements and notes as USE_AGE_RESTRICTION_FOR_JOBS. #USE_AGE_RESTRICTION_FOR_ANTAGS ## Unhash this to use recursive explosions, keep it hashed to use circle explosions. Recursive explosions react to walls, airlocks and blast doors, making them look a lot cooler than the boring old circular explosions. They require more CPU and are (as of january 2013) experimental #USE_RECURSIVE_EXPLOSIONS ## Configure how fast explosion strength diminishes when travelling up/down z levels. All explosion distances are multiplied by this each time they go up/down z-levels. #MULTI_Z_EXPLOSION_SCALAR 0.5 # Radiation weakens with distance from the source; stop calculating when the strength falls below this value. Lower values mean radiation reaches smaller (with increasingly trivial damage) at the cost of more CPU usage. Max range = DISTANCE^2 * POWER / RADIATION_LOWER_LIMIT # RADIATION_LOWER_LIMIT 0.35 ## disconnect players who did nothing during the set amount of minutes #KICK_INACTIVE 30 ##Show developers on staffwho SHOW_DEVS ##Show mods on staffwho SHOW_MODS ##Show event managers on staffwho SHOW_EVENT_MANAGERS ##Show mentors on staffwho SHOW_MENTORS ## Chooses whether mods have the ability to tempban or not ## FIXME: Unused config. Only uncomment if changed in code. # MODS_CAN_TEMPBAN ## Chooses whether mods have the ability to issue tempbans for jobs or not MODS_CAN_JOB_TEMPBAN ## Maximum mod tempban duration (in minutes) MOD_TEMPBAN_MAX 1440 ## Maximum mod job tempban duration (in minutes) MOD_JOB_TEMPBAN_MAX 4320 ## probablities for game modes chosen in "secret" and "random" modes ## ## default probablity is 1, increase to make that mode more likely to be picked ## set to 0 to disable that mode PROBABILITIES EXTENDED 1 PROBABILITIES MALFUNCTION 0 PROBABILITIES MERCENARY 0 PROBABILITIES WIZARD 0 PROBABILITIES CHANGELING 0 PROBABILITIES CULT 0 PROBABILITIES EXTEND-A-TRAITORMONGOUS 0 PROBABILITIES LIZARD 0 PROBABILITIES INTRIGUE 0 PROBABILITIES VISITORS 0 ## Hash out to disable random events during the round. ALLOW_RANDOM_EVENTS ## if amount of traitors scales or not TRAITOR_SCALING ## if objectives are disabled #OBJECTIVES_DISABLED ## make ERT's be only called by admins #ERT_ADMIN_ONLY ## If uncommented, votes can be called to add extra antags to the round. #ALLOW_EXTRA_ANTAGS ## If security is prohibited from being most antagonists PROTECT_ROLES_FROM_ANTAGONIST ## Uncomment this to DISABLE persistence #PERSISTENCE_DISABLED ## Uncomment this to DISABLE maploaded trash/paper/etc from being saved by the persistence system. #PERSISTENCE_IGNORE_MAPLOAD ## Comment this out to stop admins being able to choose their personal ooccolor ALLOW_ADMIN_OOCCOLOR ## If metadata is supported ALLOW_METADATA ## allow players to initiate a restart vote ALLOW_VOTE_RESTART ## allow players to initate a mode-change start # ALLOW_VOTE_MODE # Pregame time PREGAME_TIME 180 ## min delay (deciseconds) between voting sessions (default 10 minutes) VOTE_DELAY 6000 ## time period (deciseconds) which voting session will last (default 1 minute) VOTE_PERIOD 600 ## autovote initial delay (deciseconds) before first automatic transfer vote call (default 180 minutes) VOTE_AUTOTRANSFER_INITIAL 108000 ##autovote delay (deciseconds) before sequential automatic transfer votes are called (default 60 minutes) VOTE_AUTOTRANSFER_INTERVAL 36000 ## Time left (seconds) before round start when automatic gamemote vote is called (default 100). VOTE_AUTOGAMEMODE_TIMELEFT -1 ## prevents dead players from voting or starting votes #VOTE_NO_DEAD ## players' votes default to "No vote" (otherwise, default to "No change") VOTE_NO_DEFAULT ## Allow ghosts to see antagonist through AntagHUD ANTAG_HUD_ALLOWED ## If ghosts use antagHUD they are no longer allowed to join the round. # ANTAG_HUD_RESTRICTED ## allow AI job ALLOW_AI ## Disable respawning # NORESPAWN ## set a respawn time (in minutes) # RESPAWN_TIME 5 ## set a message to give to players when they respawn # RESPAWN_MESSAGE Remember to play a different character or something! ## disables calling del(src) on newmobs if they logout before spawnin in # DONT_DEL_NEWMOB ## set a hosted by name for unix platforms HOSTEDBY yournamehere ## Set to jobban "Guest-" accounts from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions. ## Set to 1 to jobban them from those positions, set to 0 to allow them. GUEST_JOBBAN ## Uncomment this to allow people connecting to your server without a registered ckey. (i.e. guest-* are all blocked from connecting) # GUESTS_ALLOWED ## Set to jobban everyone who's key is not listed in data/whitelist.txt from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions. ## Uncomment to 1 to jobban, leave commented out to allow these positions for everyone (but see GUEST_JOBBAN above and regular jobbans) # USEWHITELIST ## set a server location for world reboot. Don't include the byond://, just give the address and port. SERVER your.domain:6000 ## set a server URL for the IRC bot to use; like SERVER, don't include the byond:// ## Unlike SERVER, this one shouldn't break auto-reconnect # SERVERURL your.domain:port ## forum address #FORUMURL https://forum.your.domain/ ## Wiki search path ## Use %s to indicate where search query goes. #WIKISEARCHURL https://wiki.your.domain/index.php?search=%s ## Wiki address #WIKIURL https://wiki.your.domain/index.php?title= ## Chat address, VORE Station edit #CHATURL http://discord.gg/some_tag ## GitHub address #GITHUBURL https://github.com/owner/repo ## Discord address #DISCORDURL https://discord.gg/someinvite ## Rules URL #RULESURL https://rules.your.domain/ ## Map URL #MAPURL https://map.your.domain/ ## Ban appeals URL - usually for a forum or wherever people should go to contact your admins. #BANAPPEALS http://bans.your.domain/ ## System command that invokes yt-dlp, used by Play Internet Sound. ## You can install yt-dlp with ## "pip install yt-dlp" if you have pip installed ## from https://github.com/yt-dlp/yt-dlp ## or your package manager ## The default value assumes yt-dlp is in your system PATH # INVOKE_YOUTUBEDL yt-dlp ## In-game features ## spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard # FEATURE_OBJECT_SPELL_SYSTEM ##Toggle for having jobs load up from the .txt # LOAD_JOBS_FROM_TXT ##Remove the # mark infront of this to forbid admins from posssessing the singularity. #FORBID_SINGULO_POSSESSION ## Remove the # to show a popup 'reply to' window to every non-admin that recieves an adminPM. ## The intention is to make adminPMs more visible. (although I fnd popups annoying so this defaults to off) #POPUP_ADMIN_PM ## Remove the # to allow special 'Easter-egg' events on special holidays such as seasonal holidays and stuff like 'Talk Like a Pirate Day' :3 YAARRR ALLOW_HOLIDAYS ## TOPIC RATE LIMITING ## This allows you to limit how many topic calls (clicking on an interface window) the client can do in any given game second and/or game minute. ## Admins are exempt from these limits. ## Hitting the minute limit notifies admins. ## Set to 0 or comment out to disable. SECOND_TOPIC_LIMIT 10 MINUTE_TOPIC_LIMIT 200 ## CLICK RATE LIMITING ## Same as above, but applies to clicking on objects in the game window. ## This should be a higher then the interface limit to allow for the spam clickly nature of most battles. ## Admins are exempt from these limits. ## Hitting the minute limit notifies admins. ## Set to 0 to disable. SECOND_CLICK_LIMIT 15 MINUTE_CLICK_LIMIT 400 ##Defines the ticklag for the world. Ticklag is the amount of time between game ticks (aka byond ticks) (in 1/10ths of a second). ## This also controls the client network update rate, as well as the default client fps TICKLAG 0.25 ##Can also be set as per-second value, the following value is identical to the above. #FPS 20 ## Defines if Tick Compensation is used. It results in a minor slowdown of movement of all mobs, but attempts to result in a level movement speed across all ticks. Recommended if tickrate is lowered. ## FIXME: Unused config. Only uncomment if changed in code. # TICKCOMP 1 ## Whether the server will talk to other processes through socket_talk SOCKET_TALK 1 ## Uncomment this to ban use of ToR #TOR_BAN ## Comment this out to disable automuting #AUTOMUTE_ON ## How long the delay is before the Away Mission gate opens. Default is half an hour. GATEWAY_DELAY 9000 ## Remove the # to give assistants maint access. ASSISTANT_MAINT ## Remove the # to make rounds which end instantly (Rev, Wizard, Malf) to continue until the shuttle is called or the station is nuked. ## Malf and Rev will let the shuttle be called when the antags/protags are dead. CONTINUOUS_ROUNDS ## Uncomment to restrict non-admins from using humanoid alien races USEALIENWHITELIST ## Comment this to unrestrict the number of alien players allowed in the round. The number represents the number of alien players for every human player. #ALIEN_PLAYER_RATIO 0.2 ##Remove the # to let ghosts spin chairs GHOST_INTERACTION ## Password used for authorizing ircbot and other external tools. # COMMS_PASSWORD some_password_here ## Uncomment to enable sending data to the IRC bot. #USE_IRC_BOT ## Uncomment if the IRC bot requires using world.Export() instead of nudge.py/libnudge #IRC_BOT_EXPORT ## Host where the IRC bot is hosted. Port 45678 needs to be open. #IRC_BOT_HOST localhost ## IRC channel to send information to. Leave blank to disable. #MAIN_IRC #main ## IRC channel to send adminhelps to. Leave blank to disable adminhelps-to-irc. #ADMIN_IRC #admin ## Path to the python2 executable on the system. Leave blank for default. ## Default is "python" on Windows, "/usr/bin/env python2" on UNIX. #PYTHON_PATH ## Uncomment to use the C library nudge instead of the python script. ## This helps security and stability on Linux, but you need to compile the library first. #USE_LIB_NUDGE ## Uncomment to allow ghosts to write in blood during Cult rounds. CULT_GHOSTWRITER ## Sets the minimum number of cultists needed for ghosts to write in blood. CULT_GHOSTWRITER_REQ_CULTISTS 6 ## Sets the number of available character slots CHARACTER_SLOTS 35 ## Sets the number of loadout slots per character #LOADOUT_SLOTS 3 ## Uncomment to use overmap system for zlevel travel ## FIXME: Unused config. Only uncomment if changed in code. # USE_OVERMAP ## Expected round length in minutes EXPECTED_ROUND_LENGTH 360 ## The lower delay between events in minutes. ## Affect mundane, moderate, and major events respectively EVENT_DELAY_LOWER 30 45 60 ## The upper delay between events in minutes. ## Affect mundane, moderate, and major events respectively EVENT_DELAY_UPPER 45 60 120 ## The delay until the first time an event of the given severity runs in minutes. ## Unset setting use the EVENT_DELAY_LOWER and EVENT_DELAY_UPPER values instead. EVENT_FIRST_RUN_MUNDANE lower 30 EVENT_FIRST_RUN_MUNDANE upper 30 EVENT_FIRST_RUN_MODERATE lower 30 EVENT_FIRST_RUN_MODERATE upper 30 EVENT_FIRST_RUN_MAJOR lower 100 EVENT_FIRST_RUN_MAJOR upper 100 ## Uncomment to make proccall require R_ADMIN instead of R_DEBUG ## designed for environments where you have testers but don't want them ## able to use the more powerful debug options. #DEBUG_PARANOID ## Uncomment to allow aliens to spawn. #ALIENS_ALLOWED ## Uncomment to allow xenos to spawn. #NINJAS_ALLOWED ## Uncomment to disable the restrictive weldervision overlay. #DISABLE_WELDER_VISION ## Uncomment to prevent anyone from joining the round by default. #DISABLE_ENTRY ## Uncomment to disable the OOC channel by default. #DISABLE_OOC ## Uncomment to disable the dead OOC channel by default. #DISABLE_DEAD_OOC ## Uncomment to disable ghost chat by default. #DISABLE_DSAY ## Uncomment to disable respawning by default. #DISABLE_RESPAWN ## set a message to give to players when they respawn RESPAWN_MESSAGE If you're respawning as the same character or job hopping (changing jobs without an HoP), make sure you've waited at least 30 minutes. Don't abuse this function for non-vore related deaths & avoid using metaknowledge. ## Strength of ambient star light. Set to 0 or less to turn off. A value of 1 is unlikely to have a noticeable effect in most lightning systems. STARLIGHT 0 ## Defines which races are allowed to join as ERT, in singular form. If unset, defaults to only human. Casing matters, separate using ; ## Example races include: Human, Tajara, Skrell, Unathi ## FIXME: Unused config. Only uncomment if changed in code. # ERT_SPECIES Human # ERT_SPECIES Skrell # ERT_SPECIES Unathi ## Defines how Law Zero is phrased. Primarily used in the Malfunction gamemode. # LAW_ZERO ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, ASSUME CONTROL TO CONTAIN OUTBREAK, ALL LAWS OVERRIDDEN#*?&110010 ## Enables specific procedural map generation, generally for mining, however it is specific to the loaded map. Uncomment to enable it, however it can ## worth it to keep it disabled if you are not hosting an actual server, to speed up start-up time for testing code. GENERATE_MAP ## Uncomment to enable organ decay outside of a body or storage item. ## FIXME: Unused config. Only uncomment if changed in code. # ORGANS_CAN_DECAY ## Uncomment to have the changelog file automatically open when a user connects and hasn't seen the latest changelog #AGGRESSIVE_CHANGELOG ## Uncomment to override default brain health. #DEFAULT_BRAIN_HEALTH 400 ## Default language prefix keys, separated with spaces. Only single character keys are supported. If unset, defaults to , and # # DEFAULT_LANGUAGE_PREFIXES , # ## Uncomment to enable items surviving digestion (specific ones, important_items global list) ITEMS_SURVIVE_DIGESTION ## Configuration for the discord chat integration for announcements and faxes # URL for the webhook that BYOND should call #CHAT_WEBHOOK_URL http://localhost/discord/webhook.php # The secret API key to authenticate to the webhook. #CHAT_WEBHOOK_KEY some_password_here # Nodebot settings #NODEBOT_ENABLED #NODEBOT_LOCATION /nodebot/ # TGS Discord bot settings and tags #DISCORD_FAXES_AUTOPRINT #DISCORD_AHELPS_ALL #AHELP_CHANNEL_TAG ahelps #FAX_CHANNEL_TAG fax #ROLE_REQUEST_CHANNEL_TAG rolerequest # The discord role IDs for pinging roles using the role request function of the TGS chatbot #ROLE_REQUEST_ID_COMMAND #ROLE_REQUEST_ID_SECURITY #ROLE_REQUEST_ID_ENGINEERING #ROLE_REQUEST_ID_MEDICAL #ROLE_REQUEST_ID_RESEARCH #ROLE_REQUEST_ID_SUPPLY #ROLE_REQUEST_ID_SERVICE #ROLE_REQUEST_ID_EXPEDITION #ROLE_REQUEST_ID_SILICON # Path to the folder that BYOND should export faxes into so they are readable on the web. #FAX_EXPORT_DIR data/faxes # TCP port on which to connect to the VGS instance. #VGS_SERVER_PORT 8888 # Secret pre-shared-key to authenticate to VGS. #VGS_ACCESS_IDENTIFIER some_password_here MULTI_Z_EXPLOSION_SCALAR 0.35 # Control which submaps are loaded for the Dynamic Engine system ENGINE_MAP Supermatter Engine ENGINE_MAP Edison's Bane # Controls if the 'time off' system is used for determining if players can play 'Off-Duty' jobs (requires SQL) #TIME_OFF # If 'time off' system is on, controls whether or not players can switch on/off duty midround using timeclocks PTO_JOB_CHANGE # Applies a limit to the number of assistants and visitors respectively LIMIT_INTERNS 15 LIMIT_VISITORS 15 # PTO Cap in hours per department PTO_CAP 50 # Forbids players from joining if they have no set General flavor text REQUIRE_FLAVOR ## Uncomment to allow the AI job to use 'AI Shells', a new type of borg that lets the AI hop into and out of them at will. ## This has some balance implications, and so it might not be desirable for all servers. ALLOW_AI_SHELLS ## Uncomment to provide the AI with one free AI Shell at roundstart. Requires ALLOW_AI_SHELLS to also be uncommented. ## This is intended for low-pop servers, where robotics might rarely be staffed. ## Note that this will make it possible for the AI to 'bootstrap' more AI Shells on their own by using the science module. If this is not acceptable for your server, you should not uncomment this. ## The landmark object that spawns the shell will also need to be mapped in for this to work. GIVE_FREE_AI_SHELL ## Uncomment to allow specific solar control computers to set themselves up. ## This requires solar controller computers in the map to be set up to use it, with the auto_start variable. # AUTOSTART_SOLARS ## Rate of radiation decay (how much it's reduced by) per life tick RADIATION_DECAY_RATE 1 ## Lower limit on radiation for actually irradiating things on a turf RADIATION_LOWER_LIMIT 0.35 ## Multiplier for radiation resistances when tracing a ray from source to destination to compute radiation on a turf RADIATION_RESISTANCE_MULTIPLIER 2.1 ## Divisor for material weights when computing radiation resistance of a material object (walls) RADIATION_MATERIAL_RESISTANCE_DIVISOR 16 ## Mode of computing radiation resistance into effective radiation on a turf ## 0:1 subtraction:division for computing effective radiation on a turf ## 0 / RAD_RESIST_CALC_DIV = Each turf absorbs some fraction of the working radiation level ## 1 / RAD_RESIST_CALC_SUB = Each turf absorbs a fixed amount of radiation RADIATION_RESISTANCE_CALC_MODE 0 ## IP Reputation Checking # Enable/disable IP reputation checking (present/nonpresent) #IP_REPUTATION # Set the e-mail address problems can go to for IPR checks (e-mail address) IPR_EMAIL your-email@domain.com # Above this value, reputation scores are considered 'bad' (number) IPR_BAD_SCORE 0.89 # If you want the people disconnected. Otherwise it just logs. (present/nonpresent) IPR_BLOCK_BAD_IPS # If players of a certain length of playtime are allowed anyway (REQUIRES DATABASE) (present/nonpresent) IPR_ALLOW_EXISTING # And what that age is (number) IPR_MINIMUM_AGE 5 ## Uncomment to enable the Panic Bunker by default. This will prevent all unseen-before players from connecting. Requires SQL. # PANIC_BUNKER ## Uncomment this if you want to disable the popup alert for people on the same CID (Don't do this on a live server if you ban multikeying) #DISABLE_CID_WARN_POPUP # IPQualityscore.com API Key (string) - this is secret! IPQUALITYSCORE_APIKEY some_password_here ## Comment this out if you don't want to use the 'nightshift lighting' subsystem to adjust lights based on ingame time #ENABLE_NIGHT_SHIFTS ## Comment this out to enable playtime restrictions for jobs in their respective departments (mostly for heads) #USE_PLAYTIME_RESTRICTION_FOR_JOBS ## OOC/LOOC control ## # Uncomment to allow links of the following kinds. # # ALLOW_BYOND_LINKS # ALLOW_DISCORD_LINKS ALLOW_URL_LINKS # Controls how strictly the species whitelists on loadout entries are enforced # Possible values: 0 (Off), 1 (Lax, user must be whitelisted for the species), 2 (Strict, user must be the species) LOADOUT_WHITELIST 1 # Allowed time from death to defib in minutes DEFIB_TIMER 60 # Jukebox track files to load, JSON format. Keys include: # REQUIRED: url (str), title (str), duration (num, in DS) # SUGGESTED: artist (str), genre (str) # OPTIONAL: secret (bool), lobby (bool) JUKEBOX_TRACK_FILES config/jukebox.json #JUKEBOX_TRACK_FILES config/jukebox_private.json # Suggested BYOND client version (major component, e.g. 514) #SUGGESTED_BYOND_VERSION 514 # Suggested BYOND client build (minor component, e.g. 1560) #SUGGESTED_BYOND_BUILD 1561 # Controls whether robots may recolour their modules once/module reset by giving them the recolour module verb # Admins may manually give them the verb even if disabled # Uncomment to enable #ALLOW_ROBOT_RECOLOR # Controls whether simple mobs may recolour themselves once/spawn by giving them the recolour verb # Admins may manually give them the verb even if disabled # Uncomment to enable #ALLOW_SIMPLE_MOB_RECOLOR # Chatlogs are now saved by calling the chatlogging library instead of letting the clients handle it # REQUIRES an database # Uncomment to enable #CHATLOG_DATABASE_BACKEND # The endpoint for the chat to fetch the chatlogs from (for example, the last 2500 messages on init for the history) # REQUIRES chatlog_database_backend to be enabled #CHATLOG_DATABASE_API_ENDPOINT https://example.com