RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

server/commands - Camera & Input Commandsge_utils - Game Engine Utility Functionsmain.lua - GE Lua Entry Point & Game Loopmap.lua - Navigation Graph (AI Road Map)screenshot.lua - Screenshot Systemserver/server - Level Loading & Game ServerserverConnection - Client-Server Connection Manager`setSpawnpoint` - Default Spawn Point Persistence`simTimeAuthority` - Simulation Time & Bullet Time Control`spawn` - Vehicle Spawning & Safe Placement`suspensionFrequencyTester` - Suspension Natural Frequency Analysis
`adasUltrasonic.lua``cameraPreview.lua``capturePlayer.lua``license.lua``lidarTest.lua``multiscreen.lua``openDriveExporter.lua``openStreetMapExporter.lua``partAnnotations.lua``platoonFunctions.lua``pythonExport.lua``rawLidar.lua``rawLidarEmpty.lua``sensors.lua``sumoExporter.lua``techCore.lua``terrainImporter.lua``ultrasonicTest.lua``utils.lua`

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API ReferenceGE Extensionstech

`techCore.lua`

> This Source Code Form is subject to the terms of the bCDDL, v. 1.1.

This Source Code Form is subject to the terms of the bCDDL, v. 1.1. If a copy of the bCDDL was not distributed with this file, You can obtain one at http://beamng.com/bCDDL-1.1.txt

Module variable: M

Dependencies

  • tcom ← tech/techCommunication
  • scenariosLoader ← scenario/scenariosLoader
  • procPrimitives ← util/trackBuilder/proceduralPrimitives
  • jbeamIO ← jbeam/io
  • techUtils ← tech/techUtils
  • jbeamLoader ← jbeam/loader

Hooks

  • onAnyMissionChanged
  • onDrawDebug
  • onFilesChanged
  • onSerialize
  • onDeserialized
  • onInit
  • onLoadingScreenFadeout
  • onRequestMissionScreenData
  • onPreRender
  • onScenarioLoaded
  • onScenarioRestarted
  • onVehicleConnectionReady
  • onVehicleInfoReady
  • onVehicleSpawned
  • onSensorCreated
  • onSensorRemoved

Exported Functions

M.notifyUI()

Line 346

Exported functions

Returns: server ~= nil

M.onAnyMissionChanged(state)

Line 359

Hooks

Returns: server ~= nil

M.onDrawDebug(dtReal, lastFocus)

Line 368

Returns: server ~= nil

M.onFilesChanged(files)

Line 402

Returns: server ~= nil

M.onSerialize()

Line 413

Returns: server ~= nil

M.onDeserialized(data)

Line 428

Returns: server ~= nil

M.isServerRunning()

Line 440

Returns: server ~= nil

M.openServer(port)

Line 444

M.closeServer()

Line 482

M.onInit()

Line 502

M.onLoadingScreenFadeout()

Line 539

M.onRequestMissionScreenData(mode)

Line 550

M.onPreRender(dt)

Line 554

M.onScenarioLoaded()

Line 626

M.onScenarioRestarted(scenario)

Line 633

Returns: false

M.onVehicleConnectionReady(vehicleID, port)

Line 649

Returns: false

M.onVehicleInfoReady(vehicleID, info)

Line 666

Returns: false end

M.onVehicleSpawned(vID)

Line 676

Returns: false -- keep false here -> do not process any more commands in this frame after loadscenario to avoid bugs

M.handleHello(request)

Line 693

Handlers

Returns: false

M.handleEcho(request)

Line 702

Returns: true

M.handleQuit(request)

Line 716

Returns: false end

M.handleLoadScenario(request)

Line 722

Returns: false end

M.handleStartScenario(request)

Line 773

Returns: false end

M.handleRestartScenario(request)

Line 799

Returns: true

M.handleStopScenario(request)

Line 813

Returns: true

M.handleGetScenarioName(request)

Line 818

Returns: true

M.handleHideHUD(request)

Line 830

Returns: true

M.handleShowHUD(request)

Line 834

Returns: true

M.handleSetPhysicsDeterministic(request)

Line 838

Returns: true

M.handleSetPhysicsNonDeterministic(request)

Line 847

Returns: true

M.handleFPSLimit(request)

Line 852

Returns: false end

M.handleRemoveFPSLimit(request)

Line 859

Returns: true

M.handlePause(request)

Line 864

Returns: block('spawnVehicle', request, name)

M.handleResume(request)

Line 869

Returns: block('spawnVehicle', request, name)

M.handleStep(request)

Line 874

Returns: false

M.handleTeleport(request)

Line 883

Returns: false

M.handleTeleportScenarioObject(request)

Line 914

Returns: false end

M.handleStartVehicleConnection(request)

Line 926

Returns: false

M.handleWaitForSpawn(request)

Line 959

Returns: false

M.handleSpawnVehicle(request)

Line 964

Returns: true

M.handleDespawnVehicle(request)

Line 1035

Returns: true

M.handleSensorRequest(request)

Line 1044

Returns: true

M.handleGetDecalRoadVertices(request)

Line 1062

M.handleGetDecalRoadData(request)

Line 1069

TODO: DEPRECATED, USE handleGetRoadNetwork

M.handleGetRoadNetwork(request)

Line 1086

M.handleGetDecalRoadEdges(request)

Line 1121

M.handleGetTimeOfDay(request)

Line 1150

Returns: false

M.handleTimeOfDayChange(request)

Line 1156

Returns: false

M.handleGetAdvancedImuId(request)

Line 1187

Returns: false

M.handleGetGPSId(request)

Line 1193

Returns: false

M.handleGetPowertrainId(request)

Line 1199

Returns: false

M.handleGetMeshId(request)

Line 1205

Returns: false

M.handleGetIdealRADARId(request)

Line 1211

Returns: false

M.handleGetRoadsSensorId(request)

Line 1217

Returns: false

M.handleOpenCamera(request)

Line 1223

Returns: false

M.handleCloseCamera(request)

Line 1283

Returns: true

M.handlePollCamera(request)

Line 1295

Returns: true

M.handleSendAdHocRequestCamera(request)

Line 1323

Returns: true

M.handleIsAdHocPollRequestReadyCamera(request)

Line 1329

Returns: true

M.handleCollectAdHocPollRequestCamera(request)

Line 1335

Returns: false

M.handleGetFullCameraRequest(request)

Line 1342

TODO Should be replaced when GE-2170 is complete.

Returns: false

M.handleCameraWorldPointToPixel(request)

Line 1362

Returns: false

M.handleGetCameraSensorPosition(request)

Line 1369

Returns: false

M.handleGetCameraSensorDirection(request)

Line 1375

Returns: false

M.handleGetCameraSensorUp(request)

Line 1381

Returns: false

M.handleGetCameraMaxPendingGpuRequests(request)

Line 1387

Returns: false

M.handleGetCameraRequestedUpdateTime(request)

Line 1393

Returns: false

M.handleGetCameraUpdatePriority(request)

Line 1399

Returns: false

M.handleSetCameraSensorPosition(request)

Line 1405

Returns: false

M.handleSetCameraSensorDirection(request)

Line 1410

Returns: false

M.handleSetCameraMaxPendingGpuRequests(request)

Line 1415

Returns: false

M.handleSetCameraRequestedUpdateTime(request)

Line 1420

Returns: false

M.handleSetCameraUpdatePriority(request)

Line 1425

Returns: false

M.handleOpenLidar(request)

Line 1430

Returns: false

M.handleCloseLidar(request)

Line 1482

M.handlePollLidar(request)

Line 1493

M.handleSendAdHocRequestLidar(request)

Line 1519

M.handleIsAdHocPollRequestReadyLidar(request)

Line 1525

M.handleCollectAdHocPollRequestLidar(request)

Line 1531

M.handleGetLidarSensorPosition(request)

Line 1537

M.handleGetLidarSensorDirection(request)

Line 1543

Returns: false

M.handleGetLidarMaxPendingGpuRequests(request)

Line 1549

Returns: false

M.handleGetLidarRequestedUpdateTime(request)

Line 1555

Returns: false

M.handleGetLidarUpdatePriority(request)

Line 1561

Returns: false

M.handleGetLidarVerticalResolution(request)

Line 1567

Returns: false

M.handleGetLidarFrequency(request)

Line 1573

Returns: false

M.handleGetLidarMaxDistance(request)

Line 1579

Returns: false

M.handleGetLidarIsVisualised(request)

Line 1585

Returns: false

M.handleGetLidarIsAnnotated(request)

Line 1591

Returns: false

M.handleSetLidarVerticalResolution(request)

Line 1597

Returns: false

M.handleSetLidarFrequency(request)

Line 1602

Returns: false

M.handleSetLidarMaxDistance(request)

Line 1607

Returns: false

M.handleSetLidarIsVisualised(request)

Line 1612

Returns: false

M.handleSetLidarIsAnnotated(request)

Line 1617

Returns: false

M.handleSetLidarMaxPendingGpuRequests(request)

Line 1622

Returns: false

M.handleSetLidarRequestedUpdateTime(request)

Line 1627

Returns: false

M.handleSetLidarUpdatePriority(request)

Line 1632

Returns: false

M.handleOpenUltrasonic(request)

Line 1637

Returns: false

M.handleCloseUltrasonic(request)

Line 1684

M.handlePollUltrasonic(request)

Line 1696

Returns: false

M.handleSendAdHocRequestUltrasonic(request)

Line 1711

Returns: false

M.handleIsAdHocPollRequestReadyUltrasonic(request)

Line 1717

Returns: false

M.handleCollectAdHocPollRequestUltrasonic(request)

Line 1723

Returns: false

M.handleGetUltrasonicSensorPosition(request)

Line 1729

Returns: false

M.handleGetUltrasonicSensorDirection(request)

Line 1735

Returns: false

M.handleGetUltrasonicMaxPendingGpuRequests(request)

Line 1741

Returns: false

M.handleGetUltrasonicRequestedUpdateTime(request)

Line 1747

Returns: false

M.handleGetUltrasonicUpdatePriority(request)

Line 1753

Returns: false

M.handleGetUltrasonicIsVisualised(request)

Line 1759

Returns: false

M.handleSetUltrasonicMaxPendingGpuRequests(request)

Line 1765

Returns: false

M.handleSetUltrasonicRequestedUpdateTime(request)

Line 1770

Returns: false

M.handleSetUltrasonicUpdatePriority(request)

Line 1775

Returns: false

M.handleSetUltrasonicIsVisualised(request)

Line 1780

Returns: false

M.handleOpenRadar(request)

Line 1785

Returns: false

M.handleCloseRadar(request)

Line 1839

M.handlePollRadar(request)

Line 1851

M.handleGetPPIRadar(request)

Line 1866

Returns: false

M.handleGetRangeDopplerRadar(request)

Line 1881

Returns: false

M.handleSendAdHocRequestRadar(request)

Line 1896

Returns: false

M.handleIsAdHocPollRequestReadyRadar(request)

Line 1902

Returns: false

M.handleCollectAdHocPollRequestRadar(request)

Line 1908

Returns: false

M.handleGetRadarSensorPosition(request)

Line 1914

Returns: true

M.handleGetRadarSensorDirection(request)

Line 1920

Returns: true

M.handleGetRadarMaxPendingGpuRequests(request)

Line 1926

Returns: true

M.handleGetRadarRequestedUpdateTime(request)

Line 1932

Returns: true

M.handleGetRadarUpdatePriority(request)

Line 1938

Returns: true

M.handleSetRadarMaxPendingGpuRequests(request)

Line 1944

Returns: true

M.handleSetRadarRequestedUpdateTime(request)

Line 1949

Returns: true

M.handleSetRadarUpdatePriority(request)

Line 1954

Returns: true

M.handleOpenAdvancedIMU(request)

Line 1959

Returns: false

M.handleCloseAdvancedIMU(request)

Line 1989

Returns: false

M.handlePollAdvancedImuGE(request)

Line 2002

Returns: false

M.handleSendAdHocRequestAdvancedIMU(request)

Line 2020

Returns: true

M.handleIsAdHocPollRequestReadyAdvancedIMU(request)

Line 2026

Returns: true

M.handleCollectAdHocPollRequestAdvancedIMU(request)

Line 2032

Returns: true

M.handleSetAdvancedIMURequestedUpdateTime(request)

Line 2038

Returns: true

M.handleSetAdvancedIMUIsUsingGravity(request)

Line 2043

Returns: true

M.handleSetAdvancedIMUIsVisualised(request)

Line 2048

Returns: false

M.handleOpenGPS(request)

Line 2053

Returns: false

M.handleCloseGPS(request)

Line 2081

Returns: false

M.handlePollGPSGE(request)

Line 2094

Returns: true

M.handleSendAdHocRequestGPS(request)

Line 2112

Returns: true

M.handleIsAdHocPollRequestReadyGPS(request)

Line 2118

Returns: true

M.handleCollectAdHocPollRequestGPS(request)

Line 2124

Returns: false

M.handleSetGPSRequestedUpdateTime(request)

Line 2130

Returns: false

M.handleSetGPSIsVisualised(request)

Line 2135

Returns: false

M.handleOpenPowertrain(request)

Line 2140

Returns: false

M.handleClosePowertrain(request)

Line 2161

Returns: false

M.handlePollPowertrainGE(request)

Line 2174

Returns: false

M.handleSendAdHocRequestPowertrain(request)

Line 2192

Returns: false

M.handleIsAdHocPollRequestReadyPowertrain(request)

Line 2198

Returns: false

M.handleCollectAdHocPollRequestPowertrain(request)

Line 2204

Returns: false

M.handleSetPowertrainRequestedUpdateTime(request)

Line 2210

Returns: false

M.handleOpenMesh(request)

Line 2215

Returns: true

M.handleCloseMesh(request)

Line 2235

Returns: true

M.handleSendAdHocRequestMesh(request)

Line 2248

Returns: true

M.handleIsAdHocPollRequestReadyMesh(request)

Line 2254

Returns: false

M.handleCollectAdHocPollRequestMesh(request)

Line 2260

Returns: false

M.handleSetMeshRequestedUpdateTime(request)

Line 2266

Returns: false

M.handleOpenIdealRADAR(request)

Line 2271

Returns: false

M.handleCloseIdealRADAR(request)

Line 2291

Returns: true

M.handlePollIdealRADARGE(request)

Line 2304

Returns: true

M.handleSendAdHocRequestIdealRADAR(request)

Line 2322

Returns: true

M.handleIsAdHocPollRequestReadyIdealRADAR(request)

Line 2328

Returns: false

M.handleCollectAdHocPollRequestIdealRADAR(request)

Line 2334

Returns: false

M.handleSetIdealRADARRequestedUpdateTime(request)

Line 2340

Returns: false

M.handleOpenRoadsSensor(request)

Line 2345

Returns: false

M.handleCloseRoadsSensor(request)

Line 2366

Returns: false

M.handlePollRoadsSensorGE(request)

Line 2379

Returns: false

M.handleSendAdHocRequestRoadsSensor(request)

Line 2397

Returns: false

M.handleIsAdHocPollRequestReadyRoadsSensor(request)

Line 2403

Returns: false

M.handleCollectAdHocPollRequestRoadsSensor(request)

Line 2409

Returns: false

M.handleSetRoadsSensorRequestedUpdateTime(request)

Line 2415

Returns: false

M.handleOpenVehicleFeeder(request)

Line 2420

Returns: false

M.handleCloseVehicleFeeder(request)

Line 2435

M.handleIsTimeEvolutionComplete(request)

Line 2448

M.handleGetRoadGraph(request)

Line 2455

M.handleExportOpenDrive(request)

Line 2461

M.handleExportOpenStreetMap(request)

Line 2468

M.handleExportSumo(request)

Line 2474

M.handleResetNavgraph(request)

Line 2482

M.handleGetBeamData(request)

Line 2488

M.handleGetFullTriangleData(request)

Line 2494

M.handleGetWheelTriangleData(request)

Line 2500

Returns: false

M.handleGetNodePositions(request)

Line 2506

Returns: false

M.handleGetClosestMeshPointToGivenPoint(request)

Line 2512

Returns: false

M.handleGetClosestTriangle(request)

Line 2518

Returns: false

M.handleSetWeatherPreset(request)

Line 2524

Returns: false

M.handleDisplayGuiMessage(request)

Line 2531

Returns: false

M.handleSwitchVehicle(request)

Line 2537

Returns: false

M.handleSetFreeCamera(request)

Line 2544

Returns: false

M.handleParticlesEnabled(request)

Line 2554

Returns: false

M.handleAnnotateParts(request)

Line 2560

Returns: false

M.handleRevertAnnotations(request)

Line 2566

Returns: false

M.handleGetPartAnnotations(request)

Line 2572

Returns: false

M.handleGetPartAnnotation(request)

Line 2582

Returns: false

M.handleGetAnnotations(request)

Line 2591

Returns: false

M.handleFindObjectsClass(request)

Line 2605

M.handleCreateCylinder(request)

Line 2646

Returns: false

M.handleCreateBump(request)

Line 2661

Returns: false

M.handleCreateCone(request)

Line 2679

Returns: false

M.handleCreateCube(request)

Line 2694

Returns: false

M.handleCreateRing(request)

Line 2708

Returns: false

M.handleRemoveObject(request)

Line 2723

Returns: false

M.handleGetBBoxCorners(request)

Line 2735

M.handleGetGravity(request)

Line 2749

M.handleSetGravity(request)

Line 2753

M.handleGetAvailableVehicles(request)

Line 2759

M.handleSpawnTraffic(request)

Line 2791

Returns: false

M.handleStartTraffic(request)

Line 2802

Returns: false

M.handleResetTraffic(request)

Line 2820

Returns: false

M.handleStopTraffic(request)

Line 2825

Returns: false

M.handleChangeSetting(request)

Line 2831

Returns: false

M.handleApplyGraphicsSetting(request)

Line 2838

Returns: false

M.handleSetRelativeCam(request)

Line 2843

Returns: false

M.handleAddDebugSpheres(request)

Line 2865

M.handleRemoveDebugObjects(request)

Line 2880

M.handleAddDebugPolyline(request)

Line 2887

M.handleAddDebugCylinder(request)

Line 2903

Returns: false

M.handleAddDebugTriangle(request)

Line 2914

Returns: false

M.handleAddDebugRectangle(request)

Line 2926

Returns: false

M.handleAddDebugText(request)

Line 2939

Returns: false

M.handleAddDebugSquarePrism(request)

Line 2950

Returns: false

M.handleQueueLuaCommandGE(request)

Line 2964

Returns: false

M.handleGetLevels(request)

Line 2986

Returns: false

M.handleGetScenarios(request)

Line 2992

Returns: false

M.handleGetCurrentScenario(request)

Line 3018

Returns: false

M.handleCreateScenario(request)

Line 3062

Returns: false

M.handleDeleteScenario(request)

Line 3153

Returns: block('vehicleInfo', request, {

M.handleGameStateRequest(request)

Line 3166

Returns: node

M.handleGetPlayerVehicleID(request)

Line 3183

Returns: string.split(t)

M.handleGetCurrentVehicles(request)

Line 3197

Returns: string.split(t)

M.handleGetSceneTree(request)

Line 3263

TODO: DEPRECATED, USE handleSyncScene

Returns: string.split(t)

M.handleSyncScene(request)

Line 3453

M.handleGetObject(request)

Line 3460

M.handleGetPartConfig(request)

Line 3472

M.handleGetPartConfigForConfig(request)

Line 3492

M.handleGetPartOptions(request)

Line 3509

TODO: DEPRECATED, USE GetPartConfig

Returns: false

M.handleSetPartConfig(request)

Line 3524

Returns: false

M.handleSetPlayerCameraMode(request)

Line 3544

Returns: false

M.handleGetPlayerCameraMode(request)

Line 3577

Returns: false

M.handleLoadTrackBuilderTrack(request)

Line 3588

Returns: false

M.handleSetLicensePlate(request)

Line 3611

Returns: false

M.handleGetSystemInfo(request)

Line 3626

Returns: false

M.handleImportHeightmap(request)

Line 3648

Imports a heightmap from beamngpy (the old way). THIS IS DEPRECATED AS OF 08/08/2024.

Returns: false

M.handleTerrainAndRoadImport(request)

Line 3656

Imports a terrain and lays a collection of roads on it along with some terraforming. The path of the terrain .png is provided. Roads are provided as a table/dictionary.

Returns: false

M.handlePeaksAndRoadImport(request)

Line 3664

Creates a a terrain from a collection of peaks and troughs on a grid, and lays a collection of roads on them, along with some terraforming. The peaks and roads are provided as table/dictionaries.

Returns: false

M.handleResetTerrain(request)

Line 3671

Resets the terrain and roads created by a call to the terrain+roads or peaks+roads importer functions (see above).

Returns: false

M.handleOpenCloseWorldEditor(request)

Line 3678

Opens/closes the world editor, by call.

Returns: false

M.handleUnpackVehicleSensorConfiguration(request)

Line 3704

Returns: false

M.handleUnpackMapSensorConfiguration(request)

Line 3730

Returns: false

M.handleGetEnvironmentPaths(request)

Line 3742

M.handleLoadPlatoon(request)

Line 3751

platoon handler

M.handlePlatoonSpeed(request)

Line 3795

M.handleJoinPlatoon(request)

Line 3818

M.handleJoinMiddlePlatoon(request)

Line 3841

Returns: tcomParams

M.handleLeavePlatoon(request)

Line 3866

Returns: M

M.handleLoadUltrasonicADAS(request)

Line 3889

ultrasonic adas handler

Returns: M

M.handleUnloadUltrasonicADAS(request)

Line 3905

Returns: M

M.onSensorCreated(sensorType, sensorId)

Line 3910

Returns: M

M.onSensorRemoved(sensorType, sensorId)

Line 3918

Returns: M

M.setTcomParams(ip, port)

Line 3929

Returns: M

M.getTcomParams()

Line 3938

Returns: M

M.isScenarioUnrestricted()

Line 3942

Returns: M

Internal Functions

Show internal functions
  • addFrameDelayFunc(func, delay) (line 87)

    Helper functions

  • block(reason, request, data) (line 91)
  • isBlocking(reason) (line 103)
  • stopBlocking() (line 110)
  • checkVehicleInfoPending() (line 118)
  • getRunningFlowgraphManager() (line 135)
  • getCurrentMissionMainButton() (line 144)
  • translateNested(name) (line 169)
  • missionPathFromId(missionId) (line 180)
  • refreshScenarioList() (line 187)
  • reportMissingLicenseFeature(request) (line 208)
  • reportRendererNotAvailableFeature(request) (line 214)
  • reportMissingLinuxFeature(request) (line 220)
  • setup() (line 226)
  • getSensorData(request, callback) (line 242)
  • getNextSensorData(requests, response, callback) (line 253)
  • placeObject(name, mesh, pos, rot, annotation) (line 277)
  • tableToVec3(point, cling, offset) (line 306)
  • setScenarioRestrictions(enabled) (line 315)
  • getSceneTreeNode(obj) (line 3246)

    TODO: DEPRECATED, USE getSceneTreeNodeFull

  • serializeGenericObject(obj) (line 3282)
  • getSerializedObject(obj) (line 3419)
  • getSceneTreeNodeFull(root) (line 3431)
  • coeffs2PosVS(c, veh) (line 3686)

    Compute the vehicle space position of a sensor, given the local reference frame coefficients. [This is used with the ADAS Sensor Configuration tool].

  • sensor2VS(dirLoc, upLoc, veh) (line 3696)

    Compute the vehicle space/world space frame of a sensor, given the local reference frame. [This is used with the ADAS Sensor Configuration tool].

`sumoExporter.lua`

> This Source Code Form is subject to the terms of the bCDDL, v. 1.1.

`terrainImporter.lua`

> This Source Code Form is subject to the terms of the bCDDL, v. 1.1.

On this page

DependenciesHooksExported FunctionsM.notifyUI()M.onAnyMissionChanged(state)M.onDrawDebug(dtReal, lastFocus)M.onFilesChanged(files)M.onSerialize()M.onDeserialized(data)M.isServerRunning()M.openServer(port)M.closeServer()M.onInit()M.onLoadingScreenFadeout()M.onRequestMissionScreenData(mode)M.onPreRender(dt)M.onScenarioLoaded()M.onScenarioRestarted(scenario)M.onVehicleConnectionReady(vehicleID, port)M.onVehicleInfoReady(vehicleID, info)M.onVehicleSpawned(vID)M.handleHello(request)M.handleEcho(request)M.handleQuit(request)M.handleLoadScenario(request)M.handleStartScenario(request)M.handleRestartScenario(request)M.handleStopScenario(request)M.handleGetScenarioName(request)M.handleHideHUD(request)M.handleShowHUD(request)M.handleSetPhysicsDeterministic(request)M.handleSetPhysicsNonDeterministic(request)M.handleFPSLimit(request)M.handleRemoveFPSLimit(request)M.handlePause(request)M.handleResume(request)M.handleStep(request)M.handleTeleport(request)M.handleTeleportScenarioObject(request)M.handleStartVehicleConnection(request)M.handleWaitForSpawn(request)M.handleSpawnVehicle(request)M.handleDespawnVehicle(request)M.handleSensorRequest(request)M.handleGetDecalRoadVertices(request)M.handleGetDecalRoadData(request)M.handleGetRoadNetwork(request)M.handleGetDecalRoadEdges(request)M.handleGetTimeOfDay(request)M.handleTimeOfDayChange(request)M.handleGetAdvancedImuId(request)M.handleGetGPSId(request)M.handleGetPowertrainId(request)M.handleGetMeshId(request)M.handleGetIdealRADARId(request)M.handleGetRoadsSensorId(request)M.handleOpenCamera(request)M.handleCloseCamera(request)M.handlePollCamera(request)M.handleSendAdHocRequestCamera(request)M.handleIsAdHocPollRequestReadyCamera(request)M.handleCollectAdHocPollRequestCamera(request)M.handleGetFullCameraRequest(request)M.handleCameraWorldPointToPixel(request)M.handleGetCameraSensorPosition(request)M.handleGetCameraSensorDirection(request)M.handleGetCameraSensorUp(request)M.handleGetCameraMaxPendingGpuRequests(request)M.handleGetCameraRequestedUpdateTime(request)M.handleGetCameraUpdatePriority(request)M.handleSetCameraSensorPosition(request)M.handleSetCameraSensorDirection(request)M.handleSetCameraMaxPendingGpuRequests(request)M.handleSetCameraRequestedUpdateTime(request)M.handleSetCameraUpdatePriority(request)M.handleOpenLidar(request)M.handleCloseLidar(request)M.handlePollLidar(request)M.handleSendAdHocRequestLidar(request)M.handleIsAdHocPollRequestReadyLidar(request)M.handleCollectAdHocPollRequestLidar(request)M.handleGetLidarSensorPosition(request)M.handleGetLidarSensorDirection(request)M.handleGetLidarMaxPendingGpuRequests(request)M.handleGetLidarRequestedUpdateTime(request)M.handleGetLidarUpdatePriority(request)M.handleGetLidarVerticalResolution(request)M.handleGetLidarFrequency(request)M.handleGetLidarMaxDistance(request)M.handleGetLidarIsVisualised(request)M.handleGetLidarIsAnnotated(request)M.handleSetLidarVerticalResolution(request)M.handleSetLidarFrequency(request)M.handleSetLidarMaxDistance(request)M.handleSetLidarIsVisualised(request)M.handleSetLidarIsAnnotated(request)M.handleSetLidarMaxPendingGpuRequests(request)M.handleSetLidarRequestedUpdateTime(request)M.handleSetLidarUpdatePriority(request)M.handleOpenUltrasonic(request)M.handleCloseUltrasonic(request)M.handlePollUltrasonic(request)M.handleSendAdHocRequestUltrasonic(request)M.handleIsAdHocPollRequestReadyUltrasonic(request)M.handleCollectAdHocPollRequestUltrasonic(request)M.handleGetUltrasonicSensorPosition(request)M.handleGetUltrasonicSensorDirection(request)M.handleGetUltrasonicMaxPendingGpuRequests(request)M.handleGetUltrasonicRequestedUpdateTime(request)M.handleGetUltrasonicUpdatePriority(request)M.handleGetUltrasonicIsVisualised(request)M.handleSetUltrasonicMaxPendingGpuRequests(request)M.handleSetUltrasonicRequestedUpdateTime(request)M.handleSetUltrasonicUpdatePriority(request)M.handleSetUltrasonicIsVisualised(request)M.handleOpenRadar(request)M.handleCloseRadar(request)M.handlePollRadar(request)M.handleGetPPIRadar(request)M.handleGetRangeDopplerRadar(request)M.handleSendAdHocRequestRadar(request)M.handleIsAdHocPollRequestReadyRadar(request)M.handleCollectAdHocPollRequestRadar(request)M.handleGetRadarSensorPosition(request)M.handleGetRadarSensorDirection(request)M.handleGetRadarMaxPendingGpuRequests(request)M.handleGetRadarRequestedUpdateTime(request)M.handleGetRadarUpdatePriority(request)M.handleSetRadarMaxPendingGpuRequests(request)M.handleSetRadarRequestedUpdateTime(request)M.handleSetRadarUpdatePriority(request)M.handleOpenAdvancedIMU(request)M.handleCloseAdvancedIMU(request)M.handlePollAdvancedImuGE(request)M.handleSendAdHocRequestAdvancedIMU(request)M.handleIsAdHocPollRequestReadyAdvancedIMU(request)M.handleCollectAdHocPollRequestAdvancedIMU(request)M.handleSetAdvancedIMURequestedUpdateTime(request)M.handleSetAdvancedIMUIsUsingGravity(request)M.handleSetAdvancedIMUIsVisualised(request)M.handleOpenGPS(request)M.handleCloseGPS(request)M.handlePollGPSGE(request)M.handleSendAdHocRequestGPS(request)M.handleIsAdHocPollRequestReadyGPS(request)M.handleCollectAdHocPollRequestGPS(request)M.handleSetGPSRequestedUpdateTime(request)M.handleSetGPSIsVisualised(request)M.handleOpenPowertrain(request)M.handleClosePowertrain(request)M.handlePollPowertrainGE(request)M.handleSendAdHocRequestPowertrain(request)M.handleIsAdHocPollRequestReadyPowertrain(request)M.handleCollectAdHocPollRequestPowertrain(request)M.handleSetPowertrainRequestedUpdateTime(request)M.handleOpenMesh(request)M.handleCloseMesh(request)M.handleSendAdHocRequestMesh(request)M.handleIsAdHocPollRequestReadyMesh(request)M.handleCollectAdHocPollRequestMesh(request)M.handleSetMeshRequestedUpdateTime(request)M.handleOpenIdealRADAR(request)M.handleCloseIdealRADAR(request)M.handlePollIdealRADARGE(request)M.handleSendAdHocRequestIdealRADAR(request)M.handleIsAdHocPollRequestReadyIdealRADAR(request)M.handleCollectAdHocPollRequestIdealRADAR(request)M.handleSetIdealRADARRequestedUpdateTime(request)M.handleOpenRoadsSensor(request)M.handleCloseRoadsSensor(request)M.handlePollRoadsSensorGE(request)M.handleSendAdHocRequestRoadsSensor(request)M.handleIsAdHocPollRequestReadyRoadsSensor(request)M.handleCollectAdHocPollRequestRoadsSensor(request)M.handleSetRoadsSensorRequestedUpdateTime(request)M.handleOpenVehicleFeeder(request)M.handleCloseVehicleFeeder(request)M.handleIsTimeEvolutionComplete(request)M.handleGetRoadGraph(request)M.handleExportOpenDrive(request)M.handleExportOpenStreetMap(request)M.handleExportSumo(request)M.handleResetNavgraph(request)M.handleGetBeamData(request)M.handleGetFullTriangleData(request)M.handleGetWheelTriangleData(request)M.handleGetNodePositions(request)M.handleGetClosestMeshPointToGivenPoint(request)M.handleGetClosestTriangle(request)M.handleSetWeatherPreset(request)M.handleDisplayGuiMessage(request)M.handleSwitchVehicle(request)M.handleSetFreeCamera(request)M.handleParticlesEnabled(request)M.handleAnnotateParts(request)M.handleRevertAnnotations(request)M.handleGetPartAnnotations(request)M.handleGetPartAnnotation(request)M.handleGetAnnotations(request)M.handleFindObjectsClass(request)M.handleCreateCylinder(request)M.handleCreateBump(request)M.handleCreateCone(request)M.handleCreateCube(request)M.handleCreateRing(request)M.handleRemoveObject(request)M.handleGetBBoxCorners(request)M.handleGetGravity(request)M.handleSetGravity(request)M.handleGetAvailableVehicles(request)M.handleSpawnTraffic(request)M.handleStartTraffic(request)M.handleResetTraffic(request)M.handleStopTraffic(request)M.handleChangeSetting(request)M.handleApplyGraphicsSetting(request)M.handleSetRelativeCam(request)M.handleAddDebugSpheres(request)M.handleRemoveDebugObjects(request)M.handleAddDebugPolyline(request)M.handleAddDebugCylinder(request)M.handleAddDebugTriangle(request)M.handleAddDebugRectangle(request)M.handleAddDebugText(request)M.handleAddDebugSquarePrism(request)M.handleQueueLuaCommandGE(request)M.handleGetLevels(request)M.handleGetScenarios(request)M.handleGetCurrentScenario(request)M.handleCreateScenario(request)M.handleDeleteScenario(request)M.handleGameStateRequest(request)M.handleGetPlayerVehicleID(request)M.handleGetCurrentVehicles(request)M.handleGetSceneTree(request)M.handleSyncScene(request)M.handleGetObject(request)M.handleGetPartConfig(request)M.handleGetPartConfigForConfig(request)M.handleGetPartOptions(request)M.handleSetPartConfig(request)M.handleSetPlayerCameraMode(request)M.handleGetPlayerCameraMode(request)M.handleLoadTrackBuilderTrack(request)M.handleSetLicensePlate(request)M.handleGetSystemInfo(request)M.handleImportHeightmap(request)M.handleTerrainAndRoadImport(request)M.handlePeaksAndRoadImport(request)M.handleResetTerrain(request)M.handleOpenCloseWorldEditor(request)M.handleUnpackVehicleSensorConfiguration(request)M.handleUnpackMapSensorConfiguration(request)M.handleGetEnvironmentPaths(request)M.handleLoadPlatoon(request)M.handlePlatoonSpeed(request)M.handleJoinPlatoon(request)M.handleJoinMiddlePlatoon(request)M.handleLeavePlatoon(request)M.handleLoadUltrasonicADAS(request)M.handleUnloadUltrasonicADAS(request)M.onSensorCreated(sensorType, sensorId)M.onSensorRemoved(sensorType, sensorId)M.setTcomParams(ip, port)M.getTcomParams()M.isScenarioUnrestricted()Internal Functions