Enjoy. Be aware some do not work, some crash the game, some can only be used in-game via console. Spoiler: All commands & stuff Code: ts2.dbg.SaveTestCubemap ts2.dbg.SaveCustomCapture ts2.dbg.UpdateSceneCapture ts2.dbg.SwitchTODSystem ts2.passenger.kill ts2.passenger.kill.AreaSearchRadius ts2.passenger.kill.SpeedLimitSq ts2.passenger.AnimationInterpolationScreenSize ts2.dbg.LogAIStatus ts2.dbg.EnableStoppedAIServiceLogging ts2.dbg.StoppedAIServiceLoggingTimeout ts2.dbg.AICouplerSetupThresholdDistanceCm ts2.dbg.AIStopPointTargetOffset ts2.dbg.AICreepSpeed ts2.dbg.AudioOcclusionDebug ts2.passenger.CharacterFactoryCombineMeshesPerSecond ts2.passenger.ObjectPoolSize ts2.passenger.ObjectPoolUseCount ts2.passenger.MaxPoolDelegatesPerFrame ts2.passenger.HeightVariationMinHeight ts2.dbg.AudioOcclusionTraceLength ts2.passenger.HeightVariationXYScale ts2.dbg.PassengerSeated.MaxDrawDistanceStart ts2.dbg.PassengerSeated.MaxDrawDistanceEnd ts2.dbg.PassengerSeated.ViewDistanceScaleInfluence ts2.dbg.AIOverrideTargetVelocity ts2.dbg.AITargetVelocity ts2.dbg.AISetDrivable ts2.dbg.ShowEngineAudioControlDebug ts2.passengers.Navigation.StateUpdatePeriod ts2.passengers.Navigation.MaxCameraDistance ts2.passengers.DrawDebugInfo ts2.passenger.kill.AreaTimer ts2.passenger.MaxDrawDistanceVariation ts2.passenger.MaxDrawDistance ts2.passenger.SpawnLimitScaleFactor ts2.dbg.RecreateViewActors ts2.dbg.ForceLoadViewAssets ts2.dbg.Camera.BoomCameraSpeed ts2.dbg.Camera.BoomCameraAlternateControls ts2.dbg.Camera.BoomCameraInvertMouse ts2.dbg.Camera.BoomCameraMouseWheelLength ts2.HeadTracking.Enabled ts2.HeadTracking.Strength ts2.HeadTracking.TranslationStrength ts2.CameraMotionSway.Enabled ts2.CameraMotionSway.EnableUprightCompensation ts2.CameraMotionSway.KSitting.X ts2.CameraMotionSway.KSitting.Y ts2.CameraMotionSway.KSitting.Z ts2.CameraMotionSway.LSitting.X ts2.CameraMotionSway.LSitting.Y ts2.CameraMotionSway.LSitting.Z ts2.CameraMotionSway.SittingPivotOffset ts2.CameraMotionSway.KStanding.X ts2.CameraMotionSway.KStanding.Y ts2.CameraMotionSway.KStanding.Z ts2.CameraMotionSway.LStanding.X ts2.CameraMotionSway.LStanding.Y ts2.CameraMotionSway.LStanding.Z ts2.CameraMotionSway.StandingPivotOffset ts2.CameraMotionSway.SittingAngularCompensation ts2.CameraMotionSway.StandingAngularCompensation ts2.CameraMotionSway.AngularCompensationMinSpeed ts2.CameraMotionSway.AngularCompensationMaxSpeed ts2.CameraMotionSway.HeadAdjustmentSpeed ts2.CameraMotionSway.MaxTimesteps ts2.CameraMotionSway.Timestep ts2.CameraMotionSway.MinimumBaseSpeed ts2.CameraMotionSway.AlphaFadeSpeed ts2.CameraMotionSway.AlphaMultiplier ts2.dbg.SetEnvironmentLights ts2.dbg.EnableAIDriverSpawning ts2.dbg.ForceDispatcherClass ts2.dbg.ForceYardManagerClass ts2.dbg.ForcePathfinderFlags ts2.dbg.ShowRouteMapAncillaries ts2.dbg.AllowRouteMapSignalToggling ts2.dbg.CorrectTODToClampedSimTime ts2.dbg.StatPhysics ts2.dbg.StatSleepables ts2.ui.LoadSaveGame ts2.ui.SaveGame ts2.ui.DeleteSaveGame ts2.dbg.AllowAllVehiclesInScenarioDesigner ts2.dbg.LevelCrossingDeadzoneThreshold ts2.dbg.VideoPlayback.DisableVideoPlayback ts2.MaxTurntableAccelerationRate ts2.ClampedTurntableMaxAngularSpeed ts2.dbg.TestSignalTablesMatchGetNextTrackSection ts2.dbg.ShowMeshBuilderConstructionLines ts2.dbg.ShowSleeperConstructionLine ts2.dbg.SimPhysics.MaximumTimeStep ts2.dbg.SimPhysics.SimulationTimeStep ts2.dbg.SimPhysics.Draw ts2.dbg.SimPhysics.DoAsynchronous ts2.dbg.DoConcurrentSimPhysicsTick ts2.dbg.SimPhysics.ReestimateAsyncTime ts2.dbg.AsyncComponentTransformDispatch ts2.dbg.EnableSimulationTaskGroups ts2.dbg.SortSimPhysicsInterfaces ts2.dbg.AsynchronousSimPhysicsOnNamedThread ts2.SimulationNodeMaxAcceleration ts2.SimulationNodeMinResistance ts2.SimulationNodeMaxFlowRootedMagnitude ts2.EnableHeatDebug ts2.dbg.LzbExtraSearchMode ts2.dbg.TVM.ForceValid ts2.dbg.TVM.MaxSpeedOverrideKph ts2.RewardMonitor.ShowLowImpactNotificationsAsFull ts2.RewardMonitor.EnableRepeatingRewards ts2.dbg.DebugPrintSimulationRuntimeEvents ts2.dbg.playerprofile.SaveActivePlayerProfile ts2.dbg.playerprofile.SetDriverLevel ts2.dbg.playerprofile.SetRouteLevel ts2.dbg.playerprofile.SetRailVehicleLevel ts2.dbg.collectables.ResetAllCollectablesForRoute ts2.dbg.collectables.ShowDebugMarkers ts2.dbg.playerprofile.SetDriverFloatStat ts2.dbg.playerprofile.SetDriverBoolStat ts2.dbg.playerprofile.SetDriverIntStat ts2.dbg.playerprofile.SetRouteFloatStat ts2.dbg.playerprofile.SetRouteBoolStat ts2.dbg.playerprofile.SetRouteIntStat ts2.dbg.playerprofile.SetRailVehicleFloatStat ts2.dbg.playerprofile.SetRailVehicleBoolStat ts2.dbg.playerprofile.SetRailVehicleIntStat ts2.dbg.playerprofile.PrintDriverStat ts2.dbg.playerprofile.PrintRouteStat ts2.dbg.playerprofile.PrintRailVehicleStat ts2.dbg.playerprofile.ResetProgressBasedSteamAchievements ts2.dbg.Route.ForceCoreCharacterCollection ts2.dbg.SkipSaveGameAssetChecks ts2.dbg.Autosave ts2.dbg.LoadAutosave ts2.dbg.ClearAutosave ts2.save.WriteCheckpointsToDisk ts2.save.CheckpointsEnabled ts2.dbg.LogDispatcherServiceStatus ts2.dispatcher.ForceLevelCrossingOccupation ts2.dispatcher.ApproachReleaseSectionToleranceCM ts2.dispatcher.PathingTimeLimit ts2.dbg.AllowDispatcherEnterYardRequests ts2.dbg.DispatcherExtendedErrorInfo ts2.dbg.ForceDirtyDispatcherDependencies ts2.dbg.ShowObjectiveUI ts2.dbg.CompleteCurrentObjective ts2.dbg.CompleteScenario ts2.dbg.StartObjectiveChecking ts2.dbg.ToggleDriverPermission ts2.gameplay.IgnoreDerailmentGameOver ts2.gameplay.IgnoreSPADGameOver ts2.dbg.ExportRecordedServiceData ts2.gameplay.RuntimeValidateScenarioDesignAssets ts2.ScenarioDesigner.NPCCSPassengerobjectives ts2.dbg.ForceTimetableStartWithIncompleteData ts2.dbg.DoAsynchronousPathRequests ts2.dbg.MaxReskinsPerTimetable ts2.SubstitutionAndLayerMinBudget ts2.ExpectedGameMemoryUsage ts2.dbg.TogglePath ts2.dbg.TrackDebugViewExtent ts2.timetable.ServiceInMotionTimeThreshold ts2.rtt.SpawnFormation ts2.rtt.FindRoutability ts2.rtt.FindRoutabilityActiveTrain ts2.rtt.RouteMeTo ts2.dbg.TrySetAndLockJunctionsForService ts2.dbg.AllowYardManagerEnterDispatchedNetworkRequests ts2.passenger.DensityScale ts2.passenger.DensityScaleNew ts2.passenger.HotSpawningDistancePadding ts2.passenger.AdjacentStationsSearchDistance ts2.platform.MaxStationPassengerSpawnDistance ts2.platform.MaxSpawnInterval ts2.platform.MinSpawnInterval ts2.platform.MaxSpawnRequirement ts2.platform.MaxPlatformPassengerSpawnDistance ts2.platform.ExpectedPassengerSpawns ts2.passengers.ForceStationSpawningOverride ts2.platform.CharacterDioramaPassengerCountScale ts2.dbg.SkipFirstTimeExperience ts2.dbg.SaveRailDriverDeviceConfiguration ts2.dbg.ListObjectReferences ts2.dbg.LoadTimetable ts2.perf.ShowNetworkRenderProxies ts2.perf.ShowStaticMeshes ts2.perf.ShowSkeletalMeshes ts2.perf.ShowSkeletalActors ts2.perf.ShowCharacters ts2.perf.ShowLandscape ts2.perf.ShowSplineMeshes ts2.perf.ShowFoliage ts2.perf.ShowISM ts2.perf.ShowHISM ts2.perf.ShowProcedural ts2.perf.ShowCables ts2.perf.ShowPointLights ts2.perf.ShowSpotLights ts2.perf.OverrideMaterialNetworkRenderProxies ts2.perf.OverrideMaterialStaticMeshes ts2.perf.OverrideMaterialSkeletalMeshes ts2.dbg.SetTrainSpeed ts2.dbg.BitmapTextRenderer.EnableTextureUpdates ts2.dbg.BitmapTextRenderer.DisableRenderThreadCommands ts2.dbg.BitmapTextRenderer.RegionsAlwaysDirty ts2.dbg.BitmapTextRenderer.ForceFullTextureUpdates ts2.dbg.CompleteCurrentServiceInstruction ts2.dbg.RemoveTrainFromTrack ts2.perf.OverrideMaterialLandscape ts2.perf.OverrideMaterialSplineMeshes ts2.dbg.GetGameResolution ts2.perf.OverrideMaterialFoliage ts2.perf.OverrideMaterialISM ts2.perf.OverrideMaterialHISM ts2.perf.StartStreamingProfile ts2.dbg.CopyDebugInfoToClipboard ts2.perf.StopStreamingProfile ts2.dbg.PrintDebugInfo ts2.perf.ListRenderedSceneProxies ts2.dbg.JumpToTile ts2.dbg.JumpToService ts2.dbg.JumpToRailVehicle ts2.dbg.JumpToSignal ts2.dbg.EnableCursorPositionManipulation ts2.dbg.MaxFreeCameraDistance ts2.dbg.FixBoomCameraDopplerEffect ts2.dbg.SetWorldDateTime ts2.dbg.SetLocalDateTime ts2.dbg.SetWorldLocation ts2.dbg.SetGmtOffset ts2.dbg.SetTemperature ts2.dbg.SetCloudiness ts2.dbg.SetFogDensity ts2.dbg.SetPrecipitation ts2.dbg.SetWetness ts2.dbg.SetGroundSnow ts2.dbg.SetPiledSnow ts2.dbg.SetWindStrength ts2.dbg.SetWindAngle ts2.dbg.RestartScenario ts2.dbg.NextScenario ts2.dbg.ResetWeatherVariables ts2.dbg.StrikeBolt ts2.dbg.SetUIPalette ts2.dbg.ToggleUI ts2.passenger.DensityScaleForceNew ts2.dbg.Camera.MaxLinearDistance ts2.dbg.Camera.MaxHorizontalDistance ts2.dbg.Camera.MaxVerticalHeight ts2.dbg.Camera.MaxVerticalDepth ts2.dbg.Camera.ObstacleAvoidanceDebugDisplay ts2.dbg.Camera.CameraReturnSpeed ts2.dbg.Camera.CameraReturnWait ts2.dbg.Camera.CameraBoomMaxLength ts2.dbg.Camera.MaxDeflectionChangesBeforeReset ts2.dbg.SelectActivatesTransitions ts2.dbg.ExitSeatInAnyCamera ts2.dbg.RVVUpdatePrimitiveBounds ts2.dbg.Camera.CameraBoomClearance ts2.dbg.RelinquishPromptWaitTime ts2.dbg.PlatformDetectorDebugDisplay ts2.dbg.PlatformStepUpHeightFudgeFactor ts2.dbg.MaxWalkSpeed ts2.dbg.MaxRunSpeed ts2.dbg.MaxFlySpeed ts2.dbg.MaxWalkSpeedCrouched ts2.dbg.MaxRunSpeedCrouched ts2.dbg.MaxAcceleration ts2.dbg.JumpToLatLong ts2.dbg.AudioDisplayParametersStats ts2.signals.TestPerformance ts2.signals.SetRoute ts2.signals.SetPathedRoute ts2.signals.OccupySection ts2.signals.ClearSection ts2.signals.ClearAllSections ts2.signals.SetPassRequestStatus ts2.signals.SetOverriddenAspect ts2.signals.ClearOverriddenAspect ts2.dispatcher.RequestEnterDispatchedNetwork ts2.dispatcher.RequestPassSignalAtDanger ts2.gameplay.DisableJctDerail ts2.dbg.UseNewAirMassFlowEquations ts2.dbg.ConnectionDebug ts2.dbg.BulkCargo.ShowInformation ts2.dbg.UseCapsulesForWheels ts2.dbg.FixWheelslipOscillation ts2.dbg.GlobalRailAdhesion ts2.dbg.BaseFollowerNoiseIntensityX ts2.dbg.BaseFollowerNoiseIntensityY ts2.dbg.BaseFollowerNoiseScale ts2.dbg.DerailDistanceThreshold ts2.AxleMaxHeatEnergy ts2.AxleHeatEnergyDissipationRate ts2.dbg.TestFriction ts2.dbg.CurrentCollectorSupplyAvailability ts2.SetOutsideTemperature ts2.ForceWheelSparksEnabled ts2.ForceArcingSparksEnabled ts2.dbg.ShowCouplerDistance ts2.dbg.CouplerProximityInfo ts2.dbg.RailVehiclePhysicsEnabled ts2.dbg.RailVehicleSimplePhysicsEnabled ts2.dbg.SetSimplePhysicsPowerOrBrake ts2.dbg.DisableTickInVault ts2.dbg.UseCachedFormationRanges ts2.dbg.AllVehiclesIncludeCargoMass ts2.dbg.DisableDerailment ts2.dbg.ForceLZBValidity ts2.dbg.ForceSignalCapabilities ts2.dbg.EnableAirResistance ts2.dbg.RailVehicleMassMultiplier ts2.dbg.AverageAccelerationUpdateTimeout ts2.dbg.TrainSpawnerForceStreamTextures ts2.dbg.DisableToolTips ts2.dbg.MultiVirtualHIDInteractionComponentDebug ts2.dbg.InteractionDirectionIdx ts2.dbg.FormationSubstitutionSeed ts2.dbg.UseFixedBodyAxles ts2.dbg.VirtualHIDInteractionComponentDebug ts2.dbg.RotatingInteractionComponent.DrawBasis ts2.dbg.RotatingInteractionComponent.RenderLifetime ts2.dbg.RotatingInteractionComponent.IntersectionAxisLengthMultiplier ts2.dbg.Windscreen.SaveTextureValues ts2.dbg.Windscreen.ClearGrids
https://train-sim-world.fandom.com/wiki/Console_Commands Then when you scroll down in the comments https://pastebin.com/raw/0gJdQDf5
No I decompiled/reverse engineered the main executable/TSW. The Pastebin is outdated that's why I did it There's some really interesting stuff lol
Is there anything else which is new weather wise/atmospheric conditions visuals? If not, what other interesting commands would you recommend, which are new/weren’t there before? Thanks.
It's all available to view with a hex editor. A little sanitation will give you the output you want. Cheers
For a true rush hour experience without waiting 10 years for one route that has their parameter for spawning changed while getting charged 30€, use PassengerDensityScaleNew and ForceStationSpawningOverride. I'll probably get on a internal DTG kill list for this and they will probably patch it, but I don't care.
Yeah. No biggie, though I used a disassembler so most of the other interesting stuff I found aren't commands or variables or something
No need to be dramatic. DTG moves like a sloth because they must ensure that enabling features like the new Rush Hour passengers won't overload player systems, particularly memory-limited ones like the 8th generation consoles. Modders hold no such responsibility. By modding, we shortcut the need to vigorously test changes with QA. DTG isn't going to "patch" this because it's the way it's intended to function; in fact, DTG are very open to modding (and have openly praised the work being done on the unofficial editor). Cheers
I am just very sarcastic. I can understand on consoles, of course. But tweaking with the spawning did not have a significant higher memory usage for me, it never went over 8 GB, thanks to Unreal Engine's optimization and GC. They really don't have to move like a sloth. For example, I am still really p*ssed about TSW 2020 routes having simple yet disappointing and thus fun-killing bugs like on German routes, don't get me started on NEW ones like the Hamburg-Lübeck shenanigans. Good example is Ruhr-Sieg-Nord, like having to open the doors on the wrong side, or stations just switching to the next one instantly. Or the annoying PZB bugs, which kills my fun instantly. Or wrong speed limits/broken speed limit signs. They aren't 1000 lines of code, they are mostly variables and constants with wrong values, otherwise the game must be coded like ****, which I don't believe really. They did an amazing job honestly, it's not easy to pull up such a simulator from nowhere, but mostly the issues are those pesky but simple ones, just in a metric ton spread over the game. Instead of pushing out DLCs, I'd recommend them to polish the game. It would benefit them a TON, because the game already has so damn much potential.
I believe in earlier excursion into the bowels of DTG's TS series, one could find evidence of how certain devs thought about the player, the consumer of his efforts, and the language used wasn't very flattering.
There is a reason why Dovetail Games' Train Simulator became a huge meme in the PC gaming community (10.000€ for all DLCs)
Yeah, a bucket of LOVE instead of a nice easter egg ... but then, perhaps that particular dev was frustrated with his employer. anyway, browsing dll files with a hex editor can give you some clues
Does this mean that a modder could fix those GWE Reigate to Redhill services that get stuck waiting for a call-on signal that never arrives?
dxltagxmma (or anyone who's good at coding) I am useless at coding, but i need to learn or find someone who can do this kind of thing. I'm making a mostly 3D printed 'Euro RailDriver' controller for driving the German trains in TSW2, and i'm beginning to get to the point where i'm connecting it all up to the computer, and here's where i'm gonna struggle. ATM i'm using the replacement 'PieHid64.dll' that Micheal Huggins made: https://forums.dovetailgames.com/threads/xinput-game-controller-raildriver-dll.45793/ This allows an arduino to send lever positions via serial and be seen as a raildriver to the sim (TSW2 thinks a raildriver is always connected with this .DLL) So that's how i got my levers working with TSW2. But it does not allow button presses to be sent. How would i go about creating something similar... either a .DLL that can accept analog and digital inputs from an arduino over serial. Or ideally, something that uses the standard 'PieHid64.dll' thats in TSW2 that works with a real raildriver, and have an interface program that reads a standard joystick input (8 analog and ~32 - 64 digital inputs) and sends it onto TSW2 in the format a raildriver does, i.e. replicate a raildriver's output in software, if that makes sense.
Is there a command to set the current train weight or at least the number of passengers onboard? That would be useful
It would be nice if they added these back in: Code: ts2.gameplay.IgnoreDerailmentGameOver ts2.gameplay.IgnoreSPADGameOver The first one just for fun, but the second one would be really useful. Sometimes when you don't have enough momentum to make it up a grade and have to back down the grade to get another run at it, you roll past one of the signals you already passed, and the dispatcher isn't smart enough to clear you into that block again.
Has anyone thoroughly figured out how to manage signals on a route? I have a question, please write to the PM.
No...but sorta. Signals are managed by the dispatcher AI; by default, the dispatcher's authority is absolute and cannot be overridden. The only way to get around this is to set the time to nearly midnight, as the dispatcher will temporarily release control of the signals at 00:00; you can then set routes until the dispatcher takes back control.
Gazz992 I read your post on your proposed u-beaut controller complete stepper motor notch control. Now I read you are concerned with the raildriver.dll not allowing button presses. I'm confused. The Raildriver kit has what, 32 buttons that the user can assign to any loco/train button presses. So the capability is there to assign buttons through an Arduino and then into the custom dll surely. Am I missing something here because I will be traveling down this path very shortly? If I am to use the custom raildriver dll I need to be able to assign button presses not just lever movements. Can you clarify for me please?
Is there a way we can get a list showing what each cmd does, and how to use them? Example, I want to use ts2.rtt.SpawnFormation, but I don't know what the format is. I don't know exactly what said command does.
Still waiting for DTG to open up TSW to remap any axis or button to any available Xinput device. Been years since they said they would do it.
I will update this thread later with a complete dump of TSW 4 CVars (including, if available, descriptions), objects and console commands/vars.