Skip to main content

Configuration

SA uses convars for config values. For information on how to correctly install the config.cfg file, see here.

Value List

NameDefault Value
ic_sa_kickCheatersfalse
ic_sa_secondsTillDoorsClose150
ic_sa_secondsTillLightsReset150
ic_sa_tonesSee Below
ic_sa_enableAddonfalse
ic_sa_addonPaymentReference""
ic_sa_ttsLanguageen-us
ic_sa_ttsVoiceMary
is_sa_ttsSpeechRate-1
ic_sa_followUpAlertMessagestrue
ic_sa_repeatMessagetrue
ic_sa_endingTonetrue
ic_sa_manualInteractionsfalse
ic_sa_slowerDoors`true
ic_sa_wallLightModelsSee Below
ic_sa_trafficLightModelsSee Below
ic_sa_unitIndicatorModelsSee Below
ic_sa_doorControlsModelprop_ic_door_controls
ic_sa_ceilingSpeakerModelv_serv_metro_ceilingspeaker
ic_sa_httpAccessToken""
ic_sa_whitelistedIpsSee Below
ic_sa_debugfalse

Values Explained

Kick Cheaters

ic_sa_kickCheaters

If this value is true, the resource will kick any players it detects as "cheaters". Cheaters are determined by events sent to the server, and actions performed. False-positive as possible, but unlikely.

Regardless of this value, the resource will log events in the server console whenever it believes it has found a cheater.

Seconds Till Doors Close

ic_sa_secondsTillDoorsClose

This must be a whole number, more than or equal to -1. Suggested value range: 140 - 160.
This is the number of seconds after an Alert is activated, that any doors that were opened are automatically closed.
If value is -1, doors will stay open until manually closed.

Seconds Till Lights Reset

ic_sa_secondsTillLightsReset

This must be a whole number, more than 0. Suggested value range: 125 - 150.
This is the number of seconds after an Alert is activated, that Wall Lights and Unit Indicators will reset.

Alert Tone Sounds

ic_sa_tones

These values define what tones can be played. Each entry contains "human-readable name", and a "file name".
The human-readable name can be anything, but the file name must be the name of the sound file including the file extension.

Audio files must be placed inside the ui/assets folder.
Tones can be any length and any audio file extension.
Tones can also not be tones, but re-recorded turnout messages; for example, one tone for each type of appliance.

The default value for this option is:

setr ic_sa_tones {
"Tone 1": "alert1.mp3",
"Tone 2": "alert2.mp3",
"Tone 3": "alert3.mp3"
}

Manual Interactions (Target/Third-Eye Resource Support)

ic_sa_manualInteractions

If this value is true, "Press E ..." interaction pop-ups and keybindings will be disabled, and instead events will be fired that can be used in editable/client/targeting.lua; to enable support for OxTarget, QBTarget, or any other target/third-eye resource, changes will need to be made in this file.

For OxTarget or QBTarget, simply uncomment the lines under the sections named either OxTarget or QBTarget.
For any other target/third-eye resource, use the provided event handlers and variables to add your own exports/events. Reach out in Discord if you need help adding other resources.

note

The events in editable/client/targeting.lua will not fire unless ic_sa_manualInteractions is true.

Slower Doors

ic_sa_slowerDoors

When this value is true, doors will open and closer slower than normal to be more realistic.
If you do not want the resource to change the speed of the doors, set this value to false.

If this value is true and your doors do not open like they should, or need to be bumped/hit to be open, change this value to false and it should resolve the issue.

HTTP Access Token

ic_sa_httpAccessToken

This is an optional config value that is required if server owners wish to use the included API.
This value is blank by default, and while blank, the API will reject all HTTP requests.
To enable the API you must provide a value to be used as a token.

API Whitelist

ic_sa_whitelistedIps

This is an optional config value that allows server owners to only allow HTTP requests from specific IP addresses.

To allow to requests from any IP address, set this value to [].
The default value, 127.0.0.1, should allow access from the local machine only on most systems.

warning

Regardless of this config option, ic_sa_httpAccessToken is required.

Default Wall Light Models

ic_sa_wallLightModels

These values determine which prop/model should be used for de/activated Wall Lights.

The default value for this option is:

setr ic_sa_wallLightModels {
"off": "hei_prop_wall_alarm_off",
"on": "prop_ic_wall_light"
}

Default Traffic Light Models

ic_sa_trafficLightModels

These values determine which prop/model should be used for Traffic Lights.

The default value for this option is:

setr ic_sa_trafficLightModels {
"Red": "prop_ic_traffic_light_r",
"Yellow": "prop_ic_traffic_light_y",
"Green": "prop_ic_traffic_light_g"
}

Default Unit Indicator Models

ic_sa_unitIndicatorModels

These values determine which prop/model should be used for Unit Indicators.

The default value for this option is:

setr ic_sa_trafficLightModels {
"None": "prop_ic_unit_indicator",
"Red": "prop_ic_unit_indicator_r",
"Green": "prop_ic_unit_indicator_g",
"Blue": "prop_ic_unit_indicator_b"
}

Default Door Controls Model

ic_sa_doorControlsModel

These values determine which prop/model should be used for Door Controls.

The default value for this option is:

setr ic_sa_doorControlsModel "prop_ic_door_controls"

Default Ceiling Speaker Model

ic_sa_ceilingSpeakerModel

These values determine which prop/model should be used for Ceiling Speakers.

The default value for this option is:

setr ic_sa_ceilingSpeakerModel "v_serv_metro_ceilingspeaker"

Debug

ic_sa_debug

If this value is true, a ton of extra logs will be outputted to both the client and server consoles. Not suggested at all for production use, nor for when using the SA Tool.

Voice Turnout Addon Values Explained

The Voice Turnout Addon is an optional, subscription based, addon for SA.
You can purchase it from our Tebex Store here.
The options below require a valid subscription, or they will not work.

Enable Voice Turnout Addon

ic_sa_enableAddon

This value must be set to true to enable to Text-to-Speech features of SA.
Default value is false; changing to true without a valid subscription will result in an error.

Tebex Subscription Payment Reference

ic_sa_addonPaymentReference

This value is the Subscription specific Payment Reference, not the normal Payment Reference.
You can tell the two apart, as the Subscription Payment Reference starts with tbx-r- and not tbx-.
You can find the Subscription Payment Reference in three places:

  1. On the payment confirmation screen after completing your purchase.
  2. In your subscription confirmation email from Tebex after purchase.
  3. In your Tebex Payment History, located here.
danger

Treat your Subscription Payment Reference like a password.
Do not post it publicly.
Do not share it other people/server owners/developers.

Text-to-Speech usage is monitored, and abuse will result in consequences.

Text-to-Speech Language

ic_sa_ttsLanguage

This value determines which language the TTS should use.
The default value is en-us for American English.

The following languages are available:

LanguageValue
Arabic (Egypt)ar-eg
Arabic (Saudi Arabia)ar-sa
Bulgarianbg-bg
Catalanca-es
Chinese (China)zh-cn
Chinese (Hong Kong)zh-hk
Chinese (Taiwan)zh-tw
Croatianhr-hr
Czechcs-cz
Danishda-dk
Dutch (Belgium)nl-be
Dutch (Netherlands)nl-nl
English (Australia)en-au
English (Canada)en-ca
English (Great Britain)en-gb
English (India)en-in
English (Ireland)en-ie
English (United States)en-us
Finnishfi-fi
French (Canada)fr-ca
French (France)fr-fr
French (Switzerland)fr-ch
German (Austria)de-at
German (Germany)de-de
German (Switzerland)de-ch
Greekel-gr
Hebrewhe-il
Hindihi-in
Hungarianhu-hu
Indonesianid-id
Italianit-it
Japaneseja-jp
Koreanko-kr
Malayms-my
Norwegiannb-no
Polishpl-pl
Portuguese (Brazil)pt-br
Portuguese (Portugal)pt-pt
Romanianro-ro
Russianru-ru
Slovaksk-sk
Sloveniansl-si
Spanish (Mexico)es-mx
Spanish (Spain)es-es
Swedishsv-se
Tamilta-in
Thaith-th
Turkishtr-tr
Vietnamesevi-vn

Text-to-Speech Voice

ic_sa_ttsVoice

This value determines which voice the TTS should use.
The default value is Mary which works with en-us.
Not all voices work with all languages.

The following voices are available:

Language nameVoiceVoice gender
Arabic (Egypt)OdaFemale
Arabic (Saudi Arabia)SalimMale
BulgarianDimoMale
CatalanRutFemale
Chinese (China)LuliFemale
ShuFemale
ChowFemale
WangMale
Chinese (Hong Kong)JiaFemale
XiaFemale
ChenMale
Chinese (Taiwan)AkemiFemale
LinFemale
LeeMale
CroatianNikolaMale
CzechJosefMale
DanishFrejaFemale
Dutch (Belgium)DaanMale
Dutch (Netherlands)LotteFemale
BramMale
English (Australia)ZoeFemale
IslaFemale
EvieFemale
JackMale
English (Canada)RoseFemale
ClaraFemale
EmmaFemale
MasonMale
English (Great Britain)AliceFemale
NancyFemale
LilyFemale
HarryMale
English (India)EkaFemale
JaiFemale
AjitMale
English (Ireland)OranMale
English (United States)LindaFemale
AmyFemale
MaryFemale
JohnMale
MikeMale
FinnishAadaFemale
French (Canada)EmileFemale
OliviaFemale
LoganFemale
FelixMale
French (France)BetteFemale
IvaFemale
ZolaFemale
AxelMale
French (Switzerland)TheoMale
German (Austria)LukasMale
German (Germany)HannaFemale
LinaFemale
JonasMale
German (Switzerland)TimMale
GreekNeoMale
HebrewRamiMale
HindiPujaFemale
KabirMale
HungarianMateMale
IndonesianIntanMale
ItalianBriaFemale
MiaFemale
PietroMale
JapaneseHinaFemale
AiriFemale
FumiFemale
AkiraMale
KoreanNariFemale
MalayAqilMale
NorwegianMarteFemale
ErikMale
PolishJuliaFemale
JanMale
Portuguese (Brazil)MarciaFemale
LigiaFemale
YaraFemale
DinisMale
Portuguese (Portugal)LeonorFemale
RomanianDoruMale
RussianOlgaFemale
MarinaFemale
PeterMale
SlovakBedaMale
SlovenianVidMale
Spanish (Mexico)JuanaFemale
SilviaFemale
TeresaFemale
JoseMale
Spanish (Spain)CamilaFemale
SofiaFemale
LunaFemale
DiegoMale
SwedishMollyFemale
HugoMale
TamilSaiMale
ThaiUkritMale
TurkishOmerMale
VietnameseChiMale

Text-to-Speech Rate

is_sa_ttsSpeechRate

This value determines how fast the TTS will be read.
The default value is -1, valid values are between -10 and 10.
Suggested values are between -2 and 0.

Follow-Up Messages

ic_sa_followUpAlertMessages

If this value is true, "90 seconds" and "120 seconds" will be read automatically.
This is to inform firefighters on station how long it has been since an Alert was activated.

Repeat TTS Message Twice

ic_sa_repeatMessage

If this value is true, the TTS message will be repeated twice when it is read.

Repeat Tone At End Of TTS

ic_sa_repeatMessage

If this value is true, the selected Tone for an Alert will be played again at the end of the TTS.


Permissions

There are several permissions for SA, they are as follows:

Use Door Controls

InfernoStationAlert.DoorControls

This permission allows players to interact with the Door Controls to open/close Doors.
By default, this permission is granted to all players.

Use Station Computer

InfernoStationAlert.Computer

This permission allows players to interact with the Station Computer to create Alerts.
By default, this permission is granted to all players.

Use Buzzer

InfernoStationAlert.Buzzer

This permission allows players to use the /stationalert buzzer command to open/close Doors from outside the Station.
By default, this permission is granted to all players.

Create Alert via Command

InfernoStationAlert.Command

This permission allows players to use the /stationalert new command to create Alerts anywhere via Command.
By default, this permission is only granted to admins (group.admin).

Use SA Tool

InfernoStationAlert.Tool

This permission allows players to use the SA Tool.
By default, this permission is only granted to admins (group.admin).


Language

The config contains a Language section which allows for customization of most written language in the resource.
You can check if the resource has already been translated in your language by viewing this page.
If there is an existing translation, copy it and replace the entire language section in your config.cfg.

If your language has not been translated yet, feel free to check out our Translation program, where you get rewarded for translating resources!
You can find the default translation in the section below.


Default Config File

# Inferno Collection Station Alert
#
# Copyright (c) 2019-2025, Christopher M, Inferno Collection. All rights reserved.

############################################################################
### NOTICE ###
### Be sure to check the documentation before changing these values. ###
### https://docs.inferno-collection.com/station-alert/configuration/ ###
############################################################################

#####################
### Configuration ###
#####################

### General ###
###############

# Kick suspected cheaters
set ic_sa_kickCheaters "false"

# How many seconds after an alert should doors close
set ic_sa_secondsTillDoorsClose "150"

# How many seconds after an alert should lights reset
set ic_sa_secondsTillLightsReset "150"

# Labels and files names for tones
setr ic_sa_tones {
"Tone 1": "alert1.mp3",
"Tone 2": "alert2.mp3",
"Tone 3": "alert3.mp3"
}

### SA Addon ###
################

# Enable use of the Station Alert Addon
# Requires subscription, see docs for details
set ic_sa_enableAddon "false"

# Tebex Subscription Payment Reference
set ic_sa_addonPaymentReference ""

# Text-to-Speech Language
set ic_sa_ttsLanguage "en-us"

# Text-to-Speech Voice
set ic_sa_ttsVoice "Mary"

# Text-to-Speech Speech Rate
set is_sa_ttsSpeechRate "-1"

# Send "90 seconds" & "120 seconds" follow up messages
set ic_sa_followUpAlertMessages "true"

# Read the Text-to-Speech message twice
setr ic_sa_repeatMessage "true"

# Play the selected tone again after the Text-to-Speech message
setr ic_sa_endingTone "true"

### Advanced ###
################

# Don't display "Press E to..." interactions
setr ic_sa_manualInteractions "false"

# The model to use for the wall lights
setr ic_sa_wallLightModels {
"off": "hei_prop_wall_alarm_off",
"on": "prop_ic_wall_light"
}

# The model to use for the traffic lights
setr ic_sa_trafficLightModels {
"Red": "prop_ic_traffic_light_r",
"Yellow": "prop_ic_traffic_light_y",
"Green": "prop_ic_traffic_light_g"
}

# The model to use for the unit indicators
setr ic_sa_unitIndicatorModels {
"None": "prop_ic_unit_indicator",
"Red": "prop_ic_unit_indicator_r",
"Green": "prop_ic_unit_indicator_g",
"Blue": "prop_ic_unit_indicator_b"
}

# The model to use for the door controls
setr ic_sa_doorControlsModel "prop_ic_door_controls"

# The model to use for the ceiling speaker
setr ic_sa_ceilingSpeakerModel "v_serv_metro_ceilingspeaker"

# HTTP Access Token
set ic_sa_httpAccessToken ""

# List of whitelisted IPs to allow HTTP requests from
set ic_sa_whitelistedIps [
"127.0.0.1"
]

# If the resource should run in debug mode
setr ic_sa_debug "false"


###################
### Permissions ###
###################

add_ace builtin.everyone "InfernoStationAlert.DoorControls" allow
add_ace builtin.everyone "InfernoStationAlert.Computer" allow
add_ace builtin.everyone "InfernoStationAlert.Buzzer" allow

add_ace group.admin "InfernoStationAlert.Tool" allow
add_ace group.admin "InfernoStationAlert.Command" allow

###################
### Language ###
###################

setr ic_sa_language {
"DoorControls": "Door Controls",
"AccessDoorControls": "Access Door Controls",
"NoDoorsToControl": "This location has no doors to control!",
"OpenAll": "Open All",
"CloseAll": "Close All",
"OpenAllDoors": "Open all doors",
"CloseAllDoors": "Close all doors",
"OpenDoor": "Open door",
"CloseDoor": "Close door",

"StationComputer": "Station Computer",
"AccessComputer": "Access Computer",
"CreateANewAlert": "Create a new Alert for any Station Location.",
"CreateANewMessage": "Create a new Message to be read at only this Station Location.",
"StationAlert": "Station Alert",
"ActivateStationAlert": "Activate a local Station Alert.",

"NewAlert": "New Alert",
"NewMessage": "New Message",
"CurrentMessage": "Current Message",
"SelectLocations": "Select Station Locations",
"SelectWhichLocation": "Select which Station Locations the Alert will be sent to.",
"SelectDoors": "Select Doors",
"SelectWhichDoors": "Select which doors at which Station Locations should open. If none selected, all doors at all selected Station Locations will open.",
"EnterMessage": "Enter Message",
"ProvideAMessage": "Optionally provide a message with the Alert.",
"SelectTone": "Select Tone",
"SelectATone": "Optionally select a tone to use with the Alert. If not selected, default tone will be used.",
"SelectColors": "Select Unit Colors",
"SelectUnitColors": "Optionally select unit colors to use with this tone",
"SendAlert": "Send Alert",
"SendTheAlert": "Send the Alert to the selected Station Locations",

"LocationSelection": "Station Location Selection",
"SendAlertTo": "Send Alert to",

"DoorSelection": "Door Selection",
"Open": "Open",
"At": "At",

"Close": "Close",
"CloseMenu": "Close menu",
"Selected": "Selected",
"Provided": "Provided",
"Confirm": "Confirm",
"ConfirmYourSelection": "Confirm Your Selection",

"ToneSelection": "Tone Selection",
"UseTone": "Use Tone",

"UnitColorSelection": "Unit Color Selection",
"UseColor": "Use Color",

"YouDoNotHavePermission": "You do not have permission to use this command!",
"CommandIsClientOnly": "This command needs to be run from the client!",
"CommandIsServerOnly": "This command needs to be run from the console!",
"MustBeInVehicle": "You must be in a vehicle to use this command!",
"UnknownCommand": "Unknown command!",

"StationLocation": "Station Location",
"Place": "Place",
"PlaceA": "Place a",
"SelectA": "Select a",
"HideAProp": "Hide a Prop",
"TooFar": "Too far away from",
"Name": "Name",
"New": "New",
"Remove": "Remove",
"Change": "Change",
"LinkedTo": "Linked To",
"MustBeUpright": "Must be upright",
"FirstPersonRequired": "Enter First-Person to use the Tool",
"CannotPlaceThere": "Cannot place there",
"TooFarFromSurface": "Too far from any surfaces",

"InvalidAimLocation": "This is not a valid aiming location",
"InvalidDoorName": "Invalid door name",
"DoorNameAlreadyInUse": "Door name already in use",
"NoDoorsAddedYet": "No doors added yet",
"NoDoorSelected": "No door selected",
"NoDoorCloseEnough": "No door close enough",
"NoDoorFound": "No door found",

"NoPropSelected": "No prop selected",
"NoHiddenPropSelected": "No prop selected, aim for blue circle",
"CannotCreateWhileEditing": "Cannot create Station Location while editing prop",
"CannotChangeLocationWhileEditing": "Cannot change Locations while editing prop",
"CannotChangePropWhileEditing": "Cannot change Prop Type while editing prop",
"InvalidLocationName": "Invalid Station Location name",
"NoLocationCreatedYet": "No Station Location created yet!",
"PropAlreadyHidden": "Prop already hidden. Right Click to unhide",
"NothingToHide": "Nothing found to hide",

"PropAlreadyAComputer": "Selected Prop is already a Computer",
"NoComputerSelected": "No Computer selected",
"NoPropFound": "No prop found",

"TrafficLightSelection": "Traffic Light Selection",
"ConnectThisTrafficLight": "Connect this traffic light to"
}