Hi everyone,
I’m working on a custom level for BeamNG.tech v0.34.2.0 to be used within the ROS2 BeamNG simulation environment. The goal is to create a track for testing autonomous driving algorithms and start the Map with the scenario starter from the ROS2 services (I modified the example_tech_ground) scenario:
ros2 service call /beamng_bridge/start_scenario beamng_msgs/srv/StartScenario "{path_to_scenario_definition: '/home/davide/ros2_ws/src/beamng-ros2-integration/beamng_ros2/config/scenarios/example_tech_ground.json'}"
So far, everything works fine when running the simulation via the API, but I’m encountering issues when launching BeamNG.tech from the terminal.
When I start BeamNG.tech from the terminal using the following command:
C:\Users\Davide\Desktop\MECCANICA_DEI_ROBOT\BeamNG.tech.v0.34.2.0\Bin64\BeamNG.tech.x64.exe -console -nosteam -tcom-listen-ip 0.0.0.0 -lua "extensions.tech_techCore.openServer(25252)"
I get these errors in the console:
003.350|W|GELua.core_levels.|info.json missing: /levels/Circuito_Prova/info.json
003.352|E|GELua.core_levels.|No entry point for level found: /levels/Circuito_Prova. Ignoring level.
003.354|W|GELua.core_levels.|info.json missing: /levels/Circuito_Prova.info.title/info.json
003.355|E|GELua.core_levels.|No entry point for level found: /levels/Circuito_Prova.info.title. Ignoring level.
However, the info.json file is present in the correct location:
levels/Circuito_Prova/info.json
Here’s the content of my info.json file. I created the level based on the vanilla SmallGrid map:
{
"title": "levels.Circuito_Prova.info.title",
"description": "levels.Circuito_Prova.info.description",
"previews": ["Circuito_Prova_preview.jpg"],
"size": [-1,-1],
"biome": "levels.Circuito_Prova.info.biome",
"roads": "levels.Circuito_Prova.info.roads",
"authors": "Davide",
"defaultSpawnPointName":"spawn_default",
"flowgraphs":[
"controls.flow.json"
]
}
Things I’ve Checked So Far:
The level works fine when loaded normally in-game via API.
The info.json file is correctly placed inside
levels/Circuito_Prova/
.
The
defaultSpawnPointName
is set to "spawn_default"
, and a spawn point exists.
No issues with JSON formatting.
The game is being launched with
-console
mode and -lua
to open the server.
I also tried using a MOD (GridMap v1), and I encountered the same issue: the level appears in the menu when using the API but does not when launching via the terminal.
No issues with vehicle mods—vehicles can be spawned and controlled without problems. This issue only affects levels.
Questions:
- Why does BeamNG.tech fail to recognize my
info.json
file when launched from the terminal? - Is there any additional setup required for BeamNG.tech to detect custom levels in this mode?
- Could this be related to the way levels are indexed or scanned during startup?
I’d really appreciate any insights or suggestions! Thanks in advance for your help.