-
Notifications
You must be signed in to change notification settings - Fork 85
Global Configuration
Verified: February 2020 - TM:PE 11.0
The TMPE_GlobalConfig.xml
contains numerous parameters, many of which are not shown in the mod settings UI. You can change these parameters to fine-tune TM:PE to your requirements.
You can find the file in the following path (may be different depending on where you installed the game):
C:\Program Files (x86)\Steam\steamapps\common\Cities_Skylines
The log file is split in to several sections as listed below:
- General Settings
-
Debug
(only in developerDEBUG
builds) AdvancedVehicleAI
DynamicLaneSelection
Main
Gameplay
ParkingAI
PathFinding
PriorityRules
TimedTrafficLights
Each section contains parameters relating to a specific ConfigData
class within TM:PE.
Default values shown are correct as of TM:PE v11.0-alpha6 (August 2019)
If editing the file, make sure you use a plain text editor, not a word processor. For more information, see: Text Editors
Note that TM:PE only performs basic type checking on values. If you specify invalid value types, or values outside the specified range, you will get errors.
There are a few top-level keys containing general settings...
Parameter | Range Type Default
|
Notes |
---|---|---|
Version |
1 → +∞ integer current |
The config file format version number; increments whenever we make alterations to the format. |
LanguageCode |
AvailableLanguageCodes string game language |
A two-letter ISO 639-1 code depicting the selected locale. If the key is not present, or the value empty, TM:PE will use whatever the base game language is set to. |
Note: We also provide some support for non-standard language codes used by popular game translation mods; we transpose them in to ISO 639-1 equivalents. For more details see PR #534.
TODO: Update links
This section is only applicable to DEBUG
builds of TM:PE and controls the output of debug logging to the TMPE.log file.
For more information, see:
- Build instructions
- Logging documentation
This section describes configuration parameters that are used by the Advanced Vehicle AI.
Parameter | Range Type Default
|
Notes |
---|---|---|
LaneRandomizationJunctionSel |
1 → +∞ integer 3
|
At every n th junction (where n is the parameter value), the AI randomly selects a favorite lane for the vehicle that a path-calculation is being performed for. |
LaneRandomizationCostFactor |
0 → +∞ float 1
|
During lane selection randomization, the AI assigns this cost value to a lane with a probability of 50%. In the remaining 50%, a lane is not assigned any additional costs. |
LaneChangingBaseMinCost |
1 → +∞ float 1.1
|
Minimum cost factor, applied to path costs for every considered lane change. |
LaneChangingBaseMaxCost |
1 → +∞ float 1.5
|
Maximum cost factor, applied to path costs for every considered lane change. |
LaneChangingJunctionBaseCost |
1 → +∞ float 2
|
Cost factor, applied to path costs for every considered lane change in front of junctions. |
JunctionBaseCost |
0 → +∞ float 0.1
|
Cost factor, applied to path costs for every highway interchange considered during path-finding. |
MoreThanOneLaneChangingCostFactor |
1 → +∞ float 2
|
Cost factor, applied to path costs for every considered multi-lane change. |
TrafficCostFactor |
0 → +∞ float 4
|
At every junction considered during path-finding, this cost factor is multiplied with the inverted (slightly randomized) mean speed of the current segment. |
LaneDensityRandInterval |
0 → 100 integer 20
|
Segment mean speeds that are queried during path-finding are randomized before multiplying with the set TrafficCostFactor . This value defines the zero-centered randomization interval (e.g. if the value is set to 20 , it is equally likely that 10% are added to or subtracted from the current segment's relative mean speed). |
MaxTrafficBuffer |
1 → +∞ integer 10
|
Real-time traffic measurements collects mean speeds of up to n vehicles (where n is the parameter value). If the threshold is reached, collected mean speeds are forgotten and a fresh measurement cycle begins. |
This section describes configuration parameters that are used by Dynamic Lane Selection.
TODO: Fill in missing info and better describe recently added parameters.
Parameter | Range Type Default
|
Notes |
---|---|---|
MaxReservedSpace |
0 → +∞ float 0.5
|
Maximum amount of space that is allowed to be reserved by other vehicles on the lane right behind the next candidate lane. If the space reservation exceeds this value, DLS ignores the candidate lane if a lane change is necessary to reach it. |
MaxRecklessReservedSpace |
0 → +∞ float 10
|
Like above, but this value is used by reckless drivers only. |
LaneSpeedRandInterval |
0 → 100 integer 5
|
Randomization interval for artificially modifying measured lane speeds (the same principle as in AdvancedVehicleAI → LaneDensityRandInterval is used here. |
MaxOptLaneChanges |
1 → +∞ integer 2
|
Maximum number of future lane changes to consider within the 5-segment window. |
MaxUnsafeSpeedDiff |
0 → +∞ float 0.4
|
Maximum allowed difference between current cruise speed and measured speed on next candidate lane if the lane change that is necessary to switch to the candidate lane was classified as unsafe. |
MinSafeSpeedImprovement |
0 → +∞ integer 25
|
Minimum speed improvement (absolute velocity) necessary to consider the candidate lane during the evaluation of egoistic lane transitions. |
MinSafeTrafficImprovement |
0 → +∞ integer 20
|
Minimum traffic flow improvement (in %) necessary to consider the candidate lane during the evaluation of altruistic lane transitions. |
VolumeMeasurementRelSpeedThreshold |
0 → 150 integer 50
|
Minimum measured relative vehicle speed necessary when traffic volume starts to affect lane changing decisions. |
MinMaxReservedSpace |
? float 0
|
Minimum maximum allowed reserved space on previous vehicle lane (for regular drivers). |
MaxMaxReservedSpace |
? float 5
|
Maximum value for Maximum allowed reserved space on previous vehicle lane (for regular drivers). |
MinMaxRecklessReservedSpace |
? float 10
|
Minimum maximum allowed reserved space on previous vehicle lane (for reckless drivers). |
MaxMaxRecklessReservedSpace |
? float 50
|
Maximum maximum allowed reserved space on previous vehicle lane (for reckless drivers). |
MinLaneSpeedRandInterval |
0 → 100 float 0
|
Minimum lane speed randomization interval. |
MaxLaneSpeedRandInterval |
0 → 100 float 25
|
Maximum lane speed randomization interval. |
MinMaxOptLaneChanges |
? integer 1
|
Minimum maximum number of considered lane changes. |
MaxMaxOptLaneChanges |
? integer 3
|
Maximum maximum number of considered lane changes. |
MinMaxUnsafeSpeedDiff |
? float 0.1
|
Minimum maximum allowed speed difference for unsafe lane changes (in game units). |
MaxMaxUnsafeSpeedDiff |
? float 1
|
Maximum maximum allowed speed difference for unsafe lane changes (in game units). |
MinMinSafeSpeedImprovement |
? float 5
|
Minimum minimum required speed improvement for safe lane changes (in game units). |
MaxMinSafeSpeedImprovement |
? float 30
|
Maximum minimum required speed improvement for safe lane changes (in game units). |
MinMinSafeTrafficImprovement |
? float 5
|
Minimum minimum required traffic flow improvement for safe lane changes (in %). |
MaxMinSafeTrafficImprovement |
? float 30
|
Maximum minimum required traffic flow improvement for safe lane changes (in %). |
This section describes configuration parameters that are used by the main module.
Parameter | Range Type Default
|
Notes |
---|---|---|
MainMenuButtonX |
0 → +∞ integer 464
|
Main menu button X position. |
MainMenuButtonY |
0 → +∞ integer 10
|
Main menu button Y position. |
MainMenuButtonPosLocked |
true|false boolean false
|
Specifies if the main menu button position should be fixed. |
MainMenuX |
0 → +∞ integer 85
|
Main menu X position. |
MainMenuY |
0 → +∞ integer 60
|
Main menu Y position. |
MainMenuPosLocked |
true|false boolean false
|
Specifies if the main menu position should be fixed. |
DisplayedTutorialMessages |
list string list ""
|
Tutorial messages that have already been shown to the player. |
EnableTutorial |
true|false boolean true
|
Specifies if tutorial messages should be shown to the player. |
TinyMainMenu |
true|false boolean true
|
Specifies if a more compact main menu should be used. |
GuiTransparency |
0 → 100 integer 30
|
Window transparency. |
OverlayTransparency |
0 → 100 integer 40
|
Overlay transparency. |
ShowCompatibilityCheckErrorMessage |
true|false boolean false
|
If true , a warning message will be displayed if an unexpected mod conflict is detected. |
ScanForKnownIncompatibleModsAtStartup |
true|false boolean true
|
If true , a dialog will be displayed listing subscribed known incompatible mods. |
IgnoreDisabledMods |
true|false boolean true
|
If true , disabled mods will be ignored while checking for known incompatible mods. |
DisplaySpeedLimitsMph |
true|false boolean false
|
If true , speed limits will be displayed in Miles Per Hour (MPH) rather than km/h. |
MphRoadSignStyle |
MphSignStyle enumeration SquareUS
|
Determines which speed limit sign style to use (only applies if DisplaySpeedLimitsMph is true ). |
This section describes configuration parameters that are used the Gameplay module.
Parameter | Range Type Default
|
Notes |
---|---|---|
VehicleTimedRandModulo |
0 → ? integer 10
|
Modulo value for time-varying vehicle behavior randomization. |
This section describes configuration parameters that are used by the Parking AI.
Parameter | Range Type Default
|
Notes |
---|---|---|
ParkingSpacePositionRand |
1 → +∞ integer 32
|
Randomization radius for manipulating the point where the search for available parking spaces starts. Randomization is performed to allow road-side parking spaces on the opposite site of the road to be considered during parking space search. |
VicinityParkingSpaceSelectionRand |
1 → +∞ integer 4
|
For every found candidate parking space, a random number between 0 and VicinityParkingSpaceSelectionRand - 1 is generated. If the drawn number is 0 , the parking space is skipped. This procedure is applied in order to prevent vehicles from only selecting the closest parking space available. |
MaxParkingAttempts |
1 → +∞ float 10
|
Maximum number of parking attempts to perform. Vehicles despawn if the number of attempts exceeds this value. |
MaxParkedCarInstanceSwitchSqrDistance |
0 → +∞ float 6
|
Squared distance between a parked car and the pedestrian that enters the car, at which the car entering procedure is executed. |
MaxBuildingToPedestrianLaneDistance |
0 → +∞ float 96
|
Maximum allowed distance between building parking spaces and the nearest pedestrian lanes. Building parking spaces that are located too far away from pedestrian paths are not considered in order to prevent pedestrians from floating over long distances. |
MaxParkedCarDistanceToHome |
0 → +∞ float 256
|
Maximum acceptable distance between parked vehicles and their owner's home. If the parked vehicle is located further away from home than this value, car owners will be forced to use the car when returning home in order to relocate it to a position that lies closer. |
MaxParkedCarDistanceToBuilding |
0 → +∞ float 512
|
Maximum acceptable distance between parked vehicles and the current target building. If the distance between target building and source location is smaller than this value the owner citizen prefers to walk or to use public transportation to reach the target. |
PublicTransportDemandIncrement |
1 → +∞ integer 10
|
If a citizen is unable to reach a specific target building by means of walking, driving or public transport, the public transport demand of both the source and target buildings are increased by this value. |
PublicTransportDemandWaitingIncrement |
1 → +∞ integer 3
|
If the maximum acceptable time a citizen waits for a public transport vehicle to arrive at a stop (e.g. a bus stop) is exceeded, the citizen starts searching for alternative routes to the current target building and public transport demand of the target building is increased by this value. |
PublicTransportDemandDecrement |
1 → +∞ integer 1
|
Public transport demand associated with buildings is continuously diminished by this value. |
PublicTransportDemandUsageDecrement |
1 → +∞ integer 7
|
If a citizen succeeds in finding a path to a target building that includes using public tranportation, the public transport demand of both the source and target buildings are diminished by this value. |
ParkingSpaceDemandDecrement |
1 → +∞ integer 1
|
Parking space demand associated with buildings is continuously diminished by this value. |
MinSpawnedCarParkingSpaceDemandDelta |
-∞ → +∞ integer -5
|
When a parked car is spawned near the source building, parking space demand is either decreased or increased, depending on the distance between the parked car and the source building. This value reflects the maximum penalty or minimum reward used for modifying the demand value. |
MaxSpawnedCarParkingSpaceDemandDelta |
-∞ → +∞ integer 3
|
As above. This value reflects the minimum penalty or maximum reward used for modifying the demand value. |
MinFoundParkPosParkingSpaceDemandDelta |
-∞ → +∞ integer -5
|
When a parking space is found near the target building, the parking space demand is either decreased or increased, depending on the distance between the parked car and the target building. This value reflects the maximum penalty or minimum reward used for modifying the demand value. |
MaxFoundParkPosParkingSpaceDemandDelta |
-∞ → +∞ integer 3
|
As above. This value reflects the minimum penalty or maximum reward used for modifying the demand value. |
FailedParkingSpaceDemandIncrement |
1 → +∞ integer 5
|
If no parking space can be found near the target building, the parking space demand is increased by this value. |
FailedSpawnParkingSpaceDemandIncrement |
1 → +∞ integer 10
|
If no parking space can be found near the source building, the parking space demand is increased by this value. |
This section describes configuration parameters that are used by the modified path-finding algorithm.
Parameter | Range Type Default
|
Notes |
---|---|---|
PublicTransportLanePenalty |
1 → +∞ float 10
|
Represents the cost multiplier that is used to keep regular traffic away from transport lanes (see Bus lane reservation). |
PublicTransportLaneReward |
0 → 1 float 0.1
|
Represents the (inverted) cost multiplier that is used to keep public transport on the respective transport lanes (see Bus lane reservation). |
HeavyVehicleMaxInnerLanePenalty |
0 → +∞ float 0.5
|
Represents the maximum cost multiplier that is used to keep heavy vehicles away from inner lanes on highways (see Heavy trucks prefer outer lanes on highways). |
HeavyVehicleInnerLanePenaltySegmentSel |
1 → +∞ integer 3
|
Randomization value that controls the ratio of segments where the inner lane penalty is applied for heavy vehicles. |
IncompatibleLaneDistance |
0 → +∞ integer 2
|
Represents the cost factor that is applied to lane changes that are normally not allowed due to incompatible lane arrow configurations. It is used to advice busses to use compatible lanes even if they are allowed to ignore lane arrows (see Busses may ignore lane arrows). |
UturnLaneDistance |
0 → +∞ integer 2
|
Represents the cost factor that is applied to u-turns. It is used to minimize the number of performed u-turns (only relevant, if the option Vehicles may do u-turns at junctions is activated) |
MaxWalkingDistance |
0 → +∞ float 2500
|
Represents the maximum walking distance, in meters (base game default: 1000 ). For reference, a zoning square ("cell") is 8 meters. |
PublicTransportTransitionMinPenalty |
0 → +∞ float 0
|
Minimum penalty applied to path costs whenever a cim switches between different public transport lines. |
PublicTransportTransitionMaxPenalty |
0 → +∞ float 100
|
Maximum penalty applied to path costs whenever a cim switches between different public transport lines. |
This section describes configuration parameters that are used for Priority Signs.
Parameter | Range Type Default
|
Notes |
---|---|---|
MaxPriorityCheckSqrDist |
0 → +∞ float 225
|
Maximum squared distance between other vehicles and the junction center point. If the vehicle is yet further away from the junction, it is not considered as a possibly conflicting vehicle. |
MaxPriorityApproachTime |
0 → +∞ float 15
|
Maximum junction approach time difference between queried vehicle and other vehicles. If two vehicles will reach a junction at completely different moments priority rule checking is skipped for them. |
MaxPriorityWaitTime |
0 → +∞ integer 100
|
Maximum waiting time in front of yield/stop signs. If the waiting time exceeds this value, priority rule checking is temporarily disabled for the vehicle in question. |
MaxYieldVelocity |
> 0.0 → +∞ float 2.5
|
Maximum vehicle velocity when approaching a Yield sign. See note below table for how to convert to/from km/h. |
MaxStopVelocity |
> 0.0 → +∞ float 0.1
|
Maximum vehicle velocity when approaching a Stop sign. See note below table for how to convert to/from km/h. |
The
MaxYieldVelocity
andMaxStopVelocity
can be converted to km/h by multiplying their value by8
. For example, if the specified velocity was2.5
then that equates to2.5 * 8
which is20
km/h. If you want to convert km/h value in to velocity value, just divide the km/h by8
.
EDIT: On further investigation it looks like the value above might be
5
(ish) instead of8
; we need to do more digging in to the code to find out for sure.
This section describes configuration parameters that are used by Timed Traffic Lights.
Parameter | Range Type Default
|
Notes |
---|---|---|
FlowWaitCalcMode |
FlowWaitCalcMode enumeration Mean
|
Vehicle counting method to use. Mean: The average number of waiting/driving vehicles is being used as for comparison. Total: The sum of all waiting/driving vehicles is being used for comparison. |
FlowToWaitRatio |
0 → +∞ float 0.8
|
Default traffic light sensitivity. |
SmoothingFactor |
0 → 1 float 0.1
|
Smoothing factor for updating the number of waiting/driving vehicles. Used to prevent counting spikes from happening during adaptive traffic light phases. For every vehicle counting, the previous number of waiting/driving vehicles is multiplied with the smoothing factor. The current number of waiting/driving vehicles is then multiplied with 1 - SmoothingFactor and finally added to the result. |
- Maintenance - has options to reload/reset the global configuration
Old wiki:
Red links are broken; this wiki is a work in progress
Getting Started (click to open)
Troubleshooting / Bugs (click to open)
- Hints Panel
- Road & Rail:
- Junctions:
- Despawning:
- Info Views:
- Roads/Tracks:
- Nodes, Segments, Lanes
- Collector Roads
- Dedicated Turning Lanes
- Enter Blocked Junctions
- High Priority Roads
- Highway Junction Rules
- Lane Changes
- Pedestrian Crossings
- Priority Routes
- Road Conditions
- Roundabouts
- Roundabout Policies
- Stay in Lane
- Turn on Red
- U-Turns
- Unprotected Turns
- Vehicle Restriction Aggression
- Public Transport:
- Vehicles:
Todo: