Capture current mission, AI, map and administration development

Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
2026-10-13 22:52:53 +02:00
parent a951a96edc
commit 6a667d8deb
8104 changed files with 2124945 additions and 2061 deletions
@@ -0,0 +1,28 @@
{
"cleanup_confirmed": true,
"idle_verified": true,
"errors": [],
"orphan_cleanup": {
"attempted": true,
"report": {
"scope": "/tmp/erri-headless-compat/pfx",
"candidates": [
{
"pid": 2215614,
"ppid": 2369,
"state": "S",
"exebasename": "wine64-preloader",
"start_ticks": 94525639,
"role": "adopted-winedevice"
}
],
"term_sent": [
2215614
],
"kill_sent": [
2215614
],
"cleared": true
}
}
}
@@ -0,0 +1,36 @@
[
"gamescope",
"--backend",
"headless",
"-W",
"1280",
"-H",
"720",
"-w",
"1280",
"-h",
"720",
"-r",
"30",
"--",
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
"run",
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteamDiag.exe",
"-server",
"-config",
"Z:/tmp/erri-terrain-header-probe1/server.json",
"-addonsDir",
"Z:/tmp/erri-terrain-header-probe1/addons",
"-addons",
"2528466DE220D91C,70C981A53E02B64F",
"-profile",
"Z:/tmp/erri-terrain-header-probe1",
"-noBackend",
"-maxFPS",
"30",
"-logconsole",
"-noSound",
"-noSplash",
"-noThrow",
"-disableCrashReporter"
]
@@ -0,0 +1,201 @@
---------------------------------------------
Log Z:\tmp\erri-terrain-header-probe1\logs\logs_2026-10-01_11-29-19\console.log started at 2026-10-01 11:29:19 (2026-10-01 09:29:19 UTC)
11:29:19.516 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe1\logs\logs_2026-10-01_11-29-19' to filesystem under name logs
11:29:19.516 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe1\profile' to filesystem under name profile
11:29:19.516 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger\'
11:29:19.517 ENGINE : Initializing engine, version 192142
11:29:19.518 ENGINE : CLI Params: -server -config Z:/tmp/erri-terrain-header-probe1/server.json -addonsDir Z:/tmp/erri-terrain-header-probe1/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile Z:/tmp/erri-terrain-header-probe1 -noBackend -maxFPS 30 -logconsole -noSound -noSplash -noThrow -disableCrashReporter
11:29:19.530 ENGINE : Addon dirs:
11:29:19.530 ENGINE : dir: './addons'
11:29:19.530 ENGINE : dir: 'Z:/tmp/erri-terrain-header-probe1/addons'
11:29:19.530 ENGINE : Available addons:
11:29:19.530 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
11:29:19.530 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
11:29:19.530 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
11:29:19.530 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe1\addons\Nogova' to filesystem under name NogovaReforger
11:29:19.531 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe1\addons\ERR_Core' to filesystem under name ERR_Core
11:29:19.532 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
11:29:19.534 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
11:29:19.535 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
11:29:19.537 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
11:29:19.544 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
11:29:19.546 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
11:29:19.554 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
11:29:19.690 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
11:29:19.695 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
11:29:19.695 ENGINE : CPU vendor : AuthenticAMD
11:29:19.695 ENGINE : CPU type : 2
11:29:19.695 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
11:29:19.695 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
11:29:19.695 ENGINE : CPU count logical : 16
11:29:19.695 ENGINE : CPU count physical : 8
11:29:19.695 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
11:29:19.695 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=Z:\tmp\erri-terrain-header-probe1\addons\Nogova/resourceDatabase.rdb)
11:29:19.707 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=Z:\tmp\erri-terrain-header-probe1\addons\ERR_Core/resourceDatabase.rdb)
11:29:19.708 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=Z:/tmp/erri-terrain-header-probe1/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
11:29:19.708 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
11:29:19.709 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
11:29:19.710 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=Z:/tmp/erri-terrain-header-probe1/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
11:29:19.712 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=Z:/tmp/erri-terrain-header-probe1/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
11:29:19.723 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=Z:/tmp/erri-terrain-header-probe1/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
11:29:19.724 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=Z:/tmp/erri-terrain-header-probe1/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
11:29:19.732 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
11:29:19.878 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
11:29:19.880 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=Z:\tmp\erri-terrain-header-probe1\profile/resourceDatabase.rdb)
11:29:19.880 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=Z:\tmp\erri-terrain-header-probe1\logs\logs_2026-10-01_11-29-19/resourceDatabase.rdb)
11:29:20.076 ENGINE : GameProject load
11:29:20.076 ENGINE : Loaded addons:
11:29:20.076 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
11:29:20.076 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
11:29:20.076 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe1/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
11:29:20.079 ENGINE : GameProject load
11:29:20.079 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe1/addons/ERRI_595F2BF2F44836FB/addon.gproj"
11:29:20.079 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
11:29:20.079 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe1/addons/ERRI_629B2BA37EFFD577/addon.gproj"
11:29:20.079 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
11:29:20.079 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
11:29:20.079 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
11:29:20.080 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe1/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
11:29:20.080 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
11:29:20.081 ENGINE : Loading custom engine user config '$profile:.save/app1874880_user76561198020202999/settings/ReforgerEngineSettings.conf'
11:29:20.081 ENGINE : No Enfusion settings file loaded. Continuing with defaults
11:29:20.081 ENGINE : Locale info: system en-US (English), user en-US (English)
11:29:20.220 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
11:29:20.222 RENDER : Basic screen setup:
11:29:20.222 RENDER : Back buffer width x height: 1280x720
11:29:20.222 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
11:29:20.222 RENDER : MSAA : none
11:29:20.235 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
11:29:20.235 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
11:29:20.235 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
11:29:20.235 RENDER : * core clocks 2720 MHz, memory 1124 MHz
11:29:20.235 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s)
11:29:20.235 RENDER : AMD AGS correctly initialized
11:29:20.235 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition
11:29:20.235 RENDER : Detected output devices:
11:29:20.235 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
11:29:20.235 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
11:29:20.235 RENDER : Concurrent frames limit 2
11:29:20.314 RENDER : DX12 device successfully created by AMD AGS library
11:29:20.314 RENDER : * user markers not supported in this version AMD SW
11:29:20.314 RENDER : Graphics device features
11:29:20.314 RENDER : Needed:
11:29:20.314 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
11:29:20.314 RENDER : Optional:
11:29:20.314 RENDER : * Allow tearing (VSYNC) : 1
11:29:20.314 RENDER : * 16 bits : 1
11:29:20.314 RENDER : * Resource heap tier : 3
11:29:20.314 RENDER : * Persistent heaps (DRED) : 1
11:29:20.314 RENDER : * DRED 1.2 is supported by compiler
11:29:20.336 RENDER : Main RT format setup.
11:29:20.336 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
11:29:20.336 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
11:29:20.348 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
11:29:20.385 PROFILING : Settings changed took: 1.320300 ms
11:29:20.392 RENDER : RENDER : Reload shaders
11:29:20.393 RENDER : Enfusion shader version 13
11:29:20.393 INIT : INIT : ShaderListReload
11:29:20.393 PROFILING : ShaderListReload took: 0.000400 ms
11:29:20.756 RENDER : Loaded 3752 newer shader binaries
11:29:20.756 PROFILING : Reload shaders took: 364.084500 ms
11:29:20.761 ENGINE : Initializing inputs.
11:29:20.774 NETWORK : Initializing networking.
11:29:20.774 NETWORK : Using new GameRplScheduler.
11:29:20.774 SCRIPT : SCRIPT : Initializing scripts
11:29:20.774 SCRIPT : SCRIPT : ScriptProjectManager init
11:29:20.774 PROFILING : ScriptProjectManager init took: 0.009200 ms
11:29:20.826 PROFILING : Initializing scripts took: 51.644300 ms
11:29:20.826 BACKEND : Backend Services are disabled.
11:29:20.826 ENGINE : Enfusion engine successfully created.
11:29:20.871 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
11:29:20.895 GUI : Using default language (en_us)
11:29:20.895 GUI : Loading 'en_us' localization file.
11:29:20.895 INIT : INIT : Loading StringTable
11:29:20.924 PROFILING : Loading StringTable took: 29.481200 ms
11:29:20.925 SCRIPT : SCRIPT : Compiling GameLib scripts
11:29:20.971 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 776K of static memory; defines: "ENF_WB,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
11:29:20.972 PROFILING : Compiling GameLib scripts took: 47.193500 ms
11:29:20.972 RESOURCES : GetResourceObject @"{1C71B463B3B66BAB}UI/layouts/Menus/MainMenu/IntroSplashScreen.layout"
11:29:20.972 GUI : Layout load @"{1C71B463B3B66BAB}UI/layouts/Menus/MainMenu/IntroSplashScreen.layout"
11:29:20.972 GUI (E): Unknown class 'SCR_WidgetExportRuleRoot' at offset 282(0x11a)
11:29:21.088 SCRIPT : SCRIPT : Compiling Game scripts
11:29:21.988 SCRIPT : Compiling Game scripts
11:29:21.988 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
11:29:22.477 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
11:29:22.477 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
11:29:22.810 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,311": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:29:22.823 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
11:29:22.860 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
11:29:23.011 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
11:29:23.011 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
11:29:23.011 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
11:29:23.011 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
11:29:23.045 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
11:29:23.100 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
11:29:23.111 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
11:29:23.111 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
11:29:23.113 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
11:29:23.159 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:29:23.159 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:29:23.161 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
11:29:23.161 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
11:29:23.216 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
11:29:23.444 SCRIPT : Module: Game; loaded 6601x files; 13192x classes; used 38869K of static memory; defines: "ENF_WB,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS"; CRC32: 7b4de8ee
11:29:23.489 PROFILING : Compiling Game scripts took: 2400.235300 ms
11:29:23.492 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
11:29:23.541 BACKEND : Loading dedicated server config.
11:29:23.541 BACKEND : Server config loaded.
11:29:23.541 BACKEND : JSON Schema Validation:
11:29:23.541 BACKEND : JSON is Valid
11:29:23.556 ENGINE : Game successfully created.
11:29:23.623 PLATFORM : Save data from container 'settings' have been loaded
11:29:23.718 PLATFORM : Save data from container 'sessions' have been loaded
11:29:24.121 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
11:29:24.121 PLATFORM : Save data transaction to 'settings' started.
11:29:24.123 NETWORK : Starting local multiplayer server using command line args.
11:29:24.219 WORLD (E): Nothing to load
11:29:24.417 ENGINE (E): Unable to initialize the game
11:29:24.450 ENGINE : Game destroyed.
11:29:24.483 RESOURCES (E): ==== Resource leaks ====
11:29:24.483 RESOURCES (E): UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Icons/icons_wrapperUI-100_atlas.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_place_geometry_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_transform_geometry_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/cursors_atlas.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_objective_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_waypoint_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_rotate_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_transform_snap_disabled_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_transform_snap_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_move_camera_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_wait_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_transform_disabled_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_transform_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_place_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_select_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/Cursor/arrow_raw_uiuc.edds 1
11:29:24.483 RESOURCES (E): UI/Imagesets/Panels/Shadow/panels_fadedBackground-16-100_atlas.edds 1
11:29:24.483 RESOURCES (E): UI/Imagesets/Panels/Outline/panels_roundedOutline_atlas.edds 1
11:29:24.483 RESOURCES (E): UI/Imagesets/Panels/panels_roundedCorners_atlas.edds 1
11:29:24.483 RESOURCES (E): UI/Imagesets/WeaponInfo/panel_style_magazines.edds 1
11:29:24.483 RESOURCES (E): UI/Imagesets/debugUI.edds 1
11:29:24.483 RESOURCES (E): UI/Textures/WidgetLibrary/ScrollBarRectangles.edds 1
11:29:24.483 RESOURCES (E): UI/Imagesets/default.edds 1
11:29:24.483 RESOURCES (E): ui/fonts/robotomono_msdf_28.edds 1
@@ -0,0 +1,32 @@
from pathlib import Path
import sys,os,json,subprocess,time,fcntl,shutil
ROOT=Path('/home/jakub/devel/escapistsrereintroduced');sys.path.insert(0,str(ROOT/'tools'))
from headless_game import assert_prefix_idle,cleanup_owned_run
from external_addons import policy,prepare_profile
steam=Path.home()/'.local/share/Steam';compat=Path('/tmp/erri-headless-compat');profile=Path('/tmp/erri-terrain-header-probe1');profile.mkdir()
lock=(compat/'.erri-workbench.lock').open('a');fcntl.flock(lock,fcntl.LOCK_EX|fcntl.LOCK_NB);assert_prefix_idle(compat)
addons=profile/'addons';addons.mkdir()
external=steam/'steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons'
prepare_profile(addons,external,policy(ROOT),profile/'external-cache.json')
for name,target in [('ArmaReforger',steam/'steamapps/common/Arma Reforger/addons/data'),('ERR_Core',Path('/tmp/erri-universal-source1/core')),('Nogova',Path('/home/jakub/devel/gabreta/addons/NogovaReforger'))]:
(addons/name).symlink_to(target,target_is_directory=True)
config={'bindAddress':'127.0.0.1','bindPort':22991,'game':{'name':'Private terrain header probe','password':'private-local-probe','scenarioId':'{C1E20667DCE324ED}Missions/ERR_Everon.conf','maxPlayers':1,'visible':False,'supportedPlatforms':['PLATFORM_PC'],'gameProperties':{'battlEye':False,'missionHeader':{'World':'{52BA23DC05308E33}Worlds/Nogova/Nogova.ent'}}}}
(profile/'server.json').write_text(json.dumps(config,indent=2))
proton=steam/'steamapps/common/Proton - Experimental/proton';game=steam/'steamapps/common/Arma Reforger'
cmd=['gamescope','--backend','headless','-W','1280','-H','720','-w','1280','-h','720','-r','30','--',str(proton),'run',str(game/'ArmaReforgerSteamDiag.exe'),'-server','-config','Z:'+str(profile/'server.json'),'-addonsDir','Z:'+str(addons),'-addons','2528466DE220D91C,70C981A53E02B64F','-profile','Z:'+str(profile),'-noBackend','-maxFPS','30','-logconsole','-noSound','-noSplash','-noThrow','-disableCrashReporter']
env=os.environ.copy();env.update(STEAM_COMPAT_DATA_PATH=str(compat),STEAM_COMPAT_CLIENT_INSTALL_PATH=str(steam),WINEPREFIX=str(compat/'pfx'),PULSE_SINK='erri_tests_silent')
(profile/'command.json').write_text(json.dumps(cmd,indent=2))
child=None;started=time.time()
with (profile/'launch.log').open('w') as log:
try:
child=subprocess.Popen(cmd,cwd=game,env=env,stdout=log,stderr=subprocess.STDOUT,start_new_session=True)
while time.time()-started<110 and child.poll() is None:
sessions=sorted((profile/'logs').glob('logs_*/console.log'))
if sessions:
text=sessions[-1].read_text(errors='replace')
if 'WORLD : Entities load' in text or 'Unable to initialize the game' in text:break
time.sleep(1)
finally:
if child:
report=cleanup_owned_run(child,proton,env,compat);(profile/'cleanup.json').write_text(json.dumps(report,indent=2));print(report)
print(profile)
@@ -0,0 +1,20 @@
{
"bindAddress": "127.0.0.1",
"bindPort": 22991,
"game": {
"name": "Private terrain header probe",
"password": "private-local-probe",
"scenarioId": "{C1E20667DCE324ED}Missions/ERR_Everon.conf",
"maxPlayers": 1,
"visible": false,
"supportedPlatforms": [
"PLATFORM_PC"
],
"gameProperties": {
"battlEye": false,
"missionHeader": {
"World": "{52BA23DC05308E33}Worlds/Nogova/Nogova.ent"
}
}
}
}
@@ -0,0 +1,15 @@
{
"cleanup_confirmed": true,
"idle_verified": true,
"errors": [],
"orphan_cleanup": {
"attempted": true,
"report": {
"scope": "/tmp/erri-headless-compat/pfx",
"candidates": [],
"term_sent": [],
"kill_sent": [],
"cleared": true
}
}
}
@@ -0,0 +1,37 @@
[
"gamescope",
"--backend",
"headless",
"-W",
"1280",
"-H",
"720",
"-w",
"1280",
"-h",
"720",
"-r",
"30",
"--",
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
"run",
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteamDiag.exe",
"-server",
"{C1E20667DCE324ED}Missions/ERR_Everon.conf",
"-config",
"Z:/tmp/erri-terrain-header-probe2/server.json",
"-addonsDir",
"Z:/tmp/erri-terrain-header-probe2/addons",
"-addons",
"2528466DE220D91C,70C981A53E02B64F",
"-profile",
"Z:/tmp/erri-terrain-header-probe2",
"-noBackend",
"-maxFPS",
"30",
"-logconsole",
"-noSound",
"-noSplash",
"-noThrow",
"-disableCrashReporter"
]
@@ -0,0 +1,174 @@
---------------------------------------------
Log Z:\tmp\erri-terrain-header-probe2\logs\logs_2026-10-01_11-30-05\console.log started at 2026-10-01 11:30:05 (2026-10-01 09:30:05 UTC)
11:30:05.819 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe2\logs\logs_2026-10-01_11-30-05' to filesystem under name logs
11:30:05.819 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe2\profile' to filesystem under name profile
11:30:05.819 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger\'
11:30:05.821 ENGINE : Initializing engine, version 192142
11:30:05.821 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -config Z:/tmp/erri-terrain-header-probe2/server.json -addonsDir Z:/tmp/erri-terrain-header-probe2/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile Z:/tmp/erri-terrain-header-probe2 -noBackend -maxFPS 30 -logconsole -noSound -noSplash -noThrow -disableCrashReporter
11:30:05.836 ENGINE : Addon dirs:
11:30:05.836 ENGINE : dir: './addons'
11:30:05.836 ENGINE : dir: 'Z:/tmp/erri-terrain-header-probe2/addons'
11:30:05.836 ENGINE : Available addons:
11:30:05.836 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
11:30:05.836 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
11:30:05.836 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
11:30:05.837 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe2\addons\Nogova' to filesystem under name NogovaReforger
11:30:05.837 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe2\addons\ERR_Core' to filesystem under name ERR_Core
11:30:05.838 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
11:30:05.840 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
11:30:05.842 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
11:30:05.844 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
11:30:05.850 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
11:30:05.854 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
11:30:05.863 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
11:30:05.996 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
11:30:06.001 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
11:30:06.001 ENGINE : CPU vendor : AuthenticAMD
11:30:06.001 ENGINE : CPU type : 2
11:30:06.001 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
11:30:06.001 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
11:30:06.001 ENGINE : CPU count logical : 16
11:30:06.001 ENGINE : CPU count physical : 8
11:30:06.001 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
11:30:06.001 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=Z:\tmp\erri-terrain-header-probe2\addons\Nogova/resourceDatabase.rdb)
11:30:06.014 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=Z:\tmp\erri-terrain-header-probe2\addons\ERR_Core/resourceDatabase.rdb)
11:30:06.015 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=Z:/tmp/erri-terrain-header-probe2/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
11:30:06.016 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
11:30:06.016 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
11:30:06.018 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=Z:/tmp/erri-terrain-header-probe2/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
11:30:06.020 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=Z:/tmp/erri-terrain-header-probe2/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
11:30:06.034 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=Z:/tmp/erri-terrain-header-probe2/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
11:30:06.036 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=Z:/tmp/erri-terrain-header-probe2/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
11:30:06.045 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
11:30:06.209 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
11:30:06.210 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=Z:\tmp\erri-terrain-header-probe2\profile/resourceDatabase.rdb)
11:30:06.210 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=Z:\tmp\erri-terrain-header-probe2\logs\logs_2026-10-01_11-30-05/resourceDatabase.rdb)
11:30:06.408 ENGINE : GameProject load
11:30:06.408 ENGINE : Loaded addons:
11:30:06.408 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
11:30:06.408 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
11:30:06.408 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe2/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
11:30:06.411 ENGINE : GameProject load
11:30:06.411 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe2/addons/ERRI_595F2BF2F44836FB/addon.gproj"
11:30:06.411 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
11:30:06.411 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe2/addons/ERRI_629B2BA37EFFD577/addon.gproj"
11:30:06.411 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
11:30:06.412 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
11:30:06.412 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
11:30:06.412 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe2/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
11:30:06.412 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
11:30:06.413 ENGINE : Loading custom engine user config '$profile:.save/app1874880_user76561198020202999/settings/ReforgerEngineSettings.conf'
11:30:06.413 ENGINE : No Enfusion settings file loaded. Continuing with defaults
11:30:06.413 ENGINE : Locale info: system en-US (English), user en-US (English)
11:30:06.549 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
11:30:06.550 RENDER : Basic screen setup:
11:30:06.550 RENDER : Back buffer width x height: 1280x720
11:30:06.550 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
11:30:06.550 RENDER : MSAA : none
11:30:06.559 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
11:30:06.559 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
11:30:06.559 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
11:30:06.559 RENDER : * core clocks 2720 MHz, memory 1124 MHz
11:30:06.559 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s)
11:30:06.559 RENDER : AMD AGS correctly initialized
11:30:06.560 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition
11:30:06.560 RENDER : Detected output devices:
11:30:06.560 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
11:30:06.560 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
11:30:06.560 RENDER : Concurrent frames limit 2
11:30:06.638 RENDER : DX12 device successfully created by AMD AGS library
11:30:06.638 RENDER : * user markers not supported in this version AMD SW
11:30:06.638 RENDER : Graphics device features
11:30:06.638 RENDER : Needed:
11:30:06.638 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
11:30:06.638 RENDER : Optional:
11:30:06.638 RENDER : * Allow tearing (VSYNC) : 1
11:30:06.638 RENDER : * 16 bits : 1
11:30:06.638 RENDER : * Resource heap tier : 3
11:30:06.638 RENDER : * Persistent heaps (DRED) : 1
11:30:06.638 RENDER : * DRED 1.2 is supported by compiler
11:30:06.666 RENDER : Main RT format setup.
11:30:06.666 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
11:30:06.666 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
11:30:06.674 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
11:30:06.707 PROFILING : Settings changed took: 2.318200 ms
11:30:06.717 RENDER : RENDER : Reload shaders
11:30:06.718 RENDER : Enfusion shader version 13
11:30:06.718 INIT : INIT : ShaderListReload
11:30:06.718 PROFILING : ShaderListReload took: 0.001100 ms
11:30:07.094 RENDER : Loaded 3752 newer shader binaries
11:30:07.094 PROFILING : Reload shaders took: 376.773300 ms
11:30:07.099 ENGINE : Initializing inputs.
11:30:07.112 NETWORK : Initializing networking.
11:30:07.113 NETWORK : Using new GameRplScheduler.
11:30:07.113 SCRIPT : SCRIPT : Initializing scripts
11:30:07.113 SCRIPT : SCRIPT : ScriptProjectManager init
11:30:07.113 PROFILING : ScriptProjectManager init took: 0.011900 ms
11:30:07.165 PROFILING : Initializing scripts took: 51.998500 ms
11:30:07.165 BACKEND : Backend Services are disabled.
11:30:07.165 ENGINE : Enfusion engine successfully created.
11:30:07.208 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
11:30:07.231 GUI : Using default language (en_us)
11:30:07.231 GUI : Loading 'en_us' localization file.
11:30:07.231 INIT : INIT : Loading StringTable
11:30:07.259 PROFILING : Loading StringTable took: 28.525100 ms
11:30:07.259 SCRIPT : SCRIPT : Compiling GameLib scripts
11:30:07.319 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 776K of static memory; defines: "ENF_WB,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
11:30:07.320 PROFILING : Compiling GameLib scripts took: 60.017000 ms
11:30:07.320 RESOURCES : GetResourceObject @"{1C71B463B3B66BAB}UI/layouts/Menus/MainMenu/IntroSplashScreen.layout"
11:30:07.320 GUI : Layout load @"{1C71B463B3B66BAB}UI/layouts/Menus/MainMenu/IntroSplashScreen.layout"
11:30:07.320 GUI (E): Unknown class 'SCR_WidgetExportRuleRoot' at offset 282(0x11a)
11:30:07.411 SCRIPT : SCRIPT : Compiling Game scripts
11:30:08.346 SCRIPT : Compiling Game scripts
11:30:08.346 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
11:30:08.829 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
11:30:08.829 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
11:30:09.152 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,311": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:30:09.165 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
11:30:09.213 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
11:30:09.365 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
11:30:09.365 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
11:30:09.365 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
11:30:09.365 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
11:30:09.398 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
11:30:09.453 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
11:30:09.466 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
11:30:09.466 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
11:30:09.468 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
11:30:09.515 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:30:09.515 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:30:09.517 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
11:30:09.517 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
11:30:09.573 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
11:30:09.804 SCRIPT : Module: Game; loaded 6601x files; 13192x classes; used 38869K of static memory; defines: "ENF_WB,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS"; CRC32: 7b4de8ee
11:30:09.851 PROFILING : Compiling Game scripts took: 2439.420800 ms
11:30:09.856 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
11:30:09.902 BACKEND : Loading dedicated server config.
11:30:09.902 BACKEND : Server config loaded.
11:30:09.902 BACKEND : JSON Schema Validation:
11:30:09.902 BACKEND : JSON is Valid
11:30:09.918 ENGINE : Game successfully created.
11:30:09.961 PLATFORM : Save data from container 'settings' have been loaded
11:30:10.057 PLATFORM : Save data from container 'sessions' have been loaded
11:30:10.458 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
11:30:10.458 PLATFORM : Save data transaction to 'settings' started.
11:30:10.459 NETWORK : Starting local multiplayer server using command line args.
11:30:10.555 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{C1E20667DCE324ED}Missions/ERR_Everon.conf'.
11:30:10.557 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
@@ -0,0 +1,32 @@
from pathlib import Path
import sys,os,json,subprocess,time,fcntl,shutil
ROOT=Path('/home/jakub/devel/escapistsrereintroduced');sys.path.insert(0,str(ROOT/'tools'))
from headless_game import assert_prefix_idle,cleanup_owned_run
from external_addons import policy,prepare_profile
steam=Path.home()/'.local/share/Steam';compat=Path('/tmp/erri-headless-compat');profile=Path('/tmp/erri-terrain-header-probe2');profile.mkdir()
lock=(compat/'.erri-workbench.lock').open('a');fcntl.flock(lock,fcntl.LOCK_EX|fcntl.LOCK_NB);assert_prefix_idle(compat)
addons=profile/'addons';addons.mkdir()
external=steam/'steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons'
prepare_profile(addons,external,policy(ROOT),profile/'external-cache.json')
for name,target in [('ArmaReforger',steam/'steamapps/common/Arma Reforger/addons/data'),('ERR_Core',Path('/tmp/erri-universal-source1/core')),('Nogova',Path('/home/jakub/devel/gabreta/addons/NogovaReforger'))]:
(addons/name).symlink_to(target,target_is_directory=True)
config={'bindAddress':'127.0.0.1','bindPort':22991,'game':{'name':'Private terrain header probe','password':'private-local-probe','scenarioId':'{C1E20667DCE324ED}Missions/ERR_Everon.conf','maxPlayers':1,'visible':False,'supportedPlatforms':['PLATFORM_PC'],'gameProperties':{'battlEye':False,'missionHeader':{'World':'{52BA23DC05308E33}Worlds/Nogova/Nogova.ent'}}}}
(profile/'server.json').write_text(json.dumps(config,indent=2))
proton=steam/'steamapps/common/Proton - Experimental/proton';game=steam/'steamapps/common/Arma Reforger'
cmd=['gamescope','--backend','headless','-W','1280','-H','720','-w','1280','-h','720','-r','30','--',str(proton),'run',str(game/'ArmaReforgerSteamDiag.exe'),'-server','{C1E20667DCE324ED}Missions/ERR_Everon.conf','-config','Z:'+str(profile/'server.json'),'-addonsDir','Z:'+str(addons),'-addons','2528466DE220D91C,70C981A53E02B64F','-profile','Z:'+str(profile),'-noBackend','-maxFPS','30','-logconsole','-noSound','-noSplash','-noThrow','-disableCrashReporter']
env=os.environ.copy();env.update(STEAM_COMPAT_DATA_PATH=str(compat),STEAM_COMPAT_CLIENT_INSTALL_PATH=str(steam),WINEPREFIX=str(compat/'pfx'),PULSE_SINK='erri_tests_silent')
(profile/'command.json').write_text(json.dumps(cmd,indent=2))
child=None;started=time.time()
with (profile/'launch.log').open('w') as log:
try:
child=subprocess.Popen(cmd,cwd=game,env=env,stdout=log,stderr=subprocess.STDOUT,start_new_session=True)
while time.time()-started<110 and child.poll() is None:
sessions=sorted((profile/'logs').glob('logs_*/console.log'))
if sessions:
text=sessions[-1].read_text(errors='replace')
if 'WORLD : Entities load' in text or 'Unable to initialize the game' in text:break
time.sleep(1)
finally:
if child:
report=cleanup_owned_run(child,proton,env,compat);(profile/'cleanup.json').write_text(json.dumps(report,indent=2));print(report)
print(profile)
@@ -0,0 +1,20 @@
{
"bindAddress": "127.0.0.1",
"bindPort": 22991,
"game": {
"name": "Private terrain header probe",
"password": "private-local-probe",
"scenarioId": "{C1E20667DCE324ED}Missions/ERR_Everon.conf",
"maxPlayers": 1,
"visible": false,
"supportedPlatforms": [
"PLATFORM_PC"
],
"gameProperties": {
"battlEye": false,
"missionHeader": {
"World": "{52BA23DC05308E33}Worlds/Nogova/Nogova.ent"
}
}
}
}
@@ -0,0 +1,18 @@
modded class ArmaReforgerScripted
{
protected override void OnMissionSet(MissionHeader mission)
{
if (mission && mission.GetHeaderResourceName() == "{C1E20667DCE324ED}Missions/ERR_Everon.conf")
{
PrintFormat("ERR HEADER PROBE before=%1", mission.GetWorldResourceName());
BaseContainer container = BaseContainerTools.GetInstanceContainer(mission);
if (container)
{
bool changed = container.Set("World", "{52BA23DC05308E33}Worlds/Nogova/Nogova.ent");
PrintFormat("ERR HEADER PROBE changed=%1 after=%2", changed, mission.GetWorldResourceName());
}
else Print("ERR HEADER PROBE no instance container");
}
super.OnMissionSet(mission);
}
}
@@ -0,0 +1,28 @@
{
"cleanup_confirmed": true,
"idle_verified": true,
"errors": [],
"orphan_cleanup": {
"attempted": true,
"report": {
"scope": "/tmp/erri-headless-compat/pfx",
"candidates": [
{
"pid": 2223527,
"ppid": 2369,
"state": "S",
"exebasename": "wine64-preloader",
"start_ticks": 94538640,
"role": "adopted-winedevice"
}
],
"term_sent": [
2223527
],
"kill_sent": [
2223527
],
"cleared": true
}
}
}
@@ -0,0 +1,41 @@
[
"gamescope",
"--backend",
"headless",
"-W",
"1280",
"-H",
"720",
"-w",
"1280",
"-h",
"720",
"-r",
"30",
"--",
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
"run",
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteamDiag.exe",
"-server",
"{C1E20667DCE324ED}Missions/ERR_Everon.conf",
"-config",
"Z:/tmp/erri-terrain-header-probe3/server.json",
"-addonsDir",
"Z:/tmp/erri-terrain-header-probe3/addons",
"-addons",
"2528466DE220D91C,70C981A53E02B64F",
"-profile",
"Z:/tmp/erri-terrain-header-probe3",
"-noBackend",
"-bindIP",
"127.0.0.1",
"-bindPort",
"22991",
"-maxFPS",
"30",
"-logconsole",
"-noSound",
"-noSplash",
"-noThrow",
"-disableCrashReporter"
]
@@ -0,0 +1,198 @@
---------------------------------------------
Log Z:\tmp\erri-terrain-header-probe3\logs\logs_2026-10-01_11-31-29\console.log started at 2026-10-01 11:31:29 (2026-10-01 09:31:29 UTC)
11:31:29.648 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe3\logs\logs_2026-10-01_11-31-29' to filesystem under name logs
11:31:29.648 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe3\profile' to filesystem under name profile
11:31:29.648 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger\'
11:31:29.649 ENGINE : Initializing engine, version 192142
11:31:29.649 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -config Z:/tmp/erri-terrain-header-probe3/server.json -addonsDir Z:/tmp/erri-terrain-header-probe3/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile Z:/tmp/erri-terrain-header-probe3 -noBackend -bindIP 127.0.0.1 -bindPort 22991 -maxFPS 30 -logconsole -noSound -noSplash -noThrow -disableCrashReporter
11:31:29.669 ENGINE : Addon dirs:
11:31:29.669 ENGINE : dir: './addons'
11:31:29.669 ENGINE : dir: 'Z:/tmp/erri-terrain-header-probe3/addons'
11:31:29.669 ENGINE : Available addons:
11:31:29.669 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
11:31:29.669 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
11:31:29.669 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
11:31:29.669 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe3\addons\Nogova' to filesystem under name NogovaReforger
11:31:29.670 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe3\addons\ERR_Core' to filesystem under name ERR_Core
11:31:29.671 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
11:31:29.672 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
11:31:29.674 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
11:31:29.676 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
11:31:29.683 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
11:31:29.687 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
11:31:29.700 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
11:31:29.849 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
11:31:29.852 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
11:31:29.852 ENGINE : CPU vendor : AuthenticAMD
11:31:29.852 ENGINE : CPU type : 2
11:31:29.852 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
11:31:29.852 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
11:31:29.852 ENGINE : CPU count logical : 16
11:31:29.852 ENGINE : CPU count physical : 8
11:31:29.852 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
11:31:29.852 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=Z:\tmp\erri-terrain-header-probe3\addons\Nogova/resourceDatabase.rdb)
11:31:29.864 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=Z:\tmp\erri-terrain-header-probe3\addons\ERR_Core/resourceDatabase.rdb)
11:31:29.865 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=Z:/tmp/erri-terrain-header-probe3/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
11:31:29.865 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
11:31:29.866 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
11:31:29.867 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=Z:/tmp/erri-terrain-header-probe3/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
11:31:29.869 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=Z:/tmp/erri-terrain-header-probe3/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
11:31:29.884 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=Z:/tmp/erri-terrain-header-probe3/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
11:31:29.888 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=Z:/tmp/erri-terrain-header-probe3/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
11:31:29.896 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
11:31:30.057 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
11:31:30.059 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=Z:\tmp\erri-terrain-header-probe3\profile/resourceDatabase.rdb)
11:31:30.059 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=Z:\tmp\erri-terrain-header-probe3\logs\logs_2026-10-01_11-31-29/resourceDatabase.rdb)
11:31:30.250 ENGINE : GameProject load
11:31:30.250 ENGINE : Loaded addons:
11:31:30.250 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
11:31:30.250 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
11:31:30.250 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe3/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
11:31:30.252 ENGINE : GameProject load
11:31:30.252 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe3/addons/ERRI_595F2BF2F44836FB/addon.gproj"
11:31:30.252 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
11:31:30.253 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe3/addons/ERRI_629B2BA37EFFD577/addon.gproj"
11:31:30.253 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
11:31:30.253 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
11:31:30.253 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
11:31:30.253 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe3/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
11:31:30.253 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
11:31:30.254 ENGINE : Loading custom engine user config '$profile:.save/app1874880_user76561198020202999/settings/ReforgerEngineSettings.conf'
11:31:30.254 ENGINE : No Enfusion settings file loaded. Continuing with defaults
11:31:30.254 ENGINE : Locale info: system en-US (English), user en-US (English)
11:31:30.377 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
11:31:30.379 RENDER : Basic screen setup:
11:31:30.379 RENDER : Back buffer width x height: 1280x720
11:31:30.379 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
11:31:30.379 RENDER : MSAA : none
11:31:30.387 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
11:31:30.387 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
11:31:30.387 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
11:31:30.387 RENDER : * core clocks 2720 MHz, memory 1124 MHz
11:31:30.387 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s)
11:31:30.387 RENDER : AMD AGS correctly initialized
11:31:30.388 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition
11:31:30.388 RENDER : Detected output devices:
11:31:30.388 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
11:31:30.388 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
11:31:30.388 RENDER : Concurrent frames limit 2
11:31:30.461 RENDER : DX12 device successfully created by AMD AGS library
11:31:30.461 RENDER : * user markers not supported in this version AMD SW
11:31:30.461 RENDER : Graphics device features
11:31:30.461 RENDER : Needed:
11:31:30.461 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
11:31:30.461 RENDER : Optional:
11:31:30.461 RENDER : * Allow tearing (VSYNC) : 1
11:31:30.461 RENDER : * 16 bits : 1
11:31:30.461 RENDER : * Resource heap tier : 3
11:31:30.461 RENDER : * Persistent heaps (DRED) : 1
11:31:30.461 RENDER : * DRED 1.2 is supported by compiler
11:31:30.483 RENDER : Main RT format setup.
11:31:30.483 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
11:31:30.483 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
11:31:30.490 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
11:31:30.514 PROFILING : Settings changed took: 1.806200 ms
11:31:30.520 RENDER : RENDER : Reload shaders
11:31:30.521 RENDER : Enfusion shader version 13
11:31:30.521 INIT : INIT : ShaderListReload
11:31:30.521 PROFILING : ShaderListReload took: 0.000900 ms
11:31:30.841 RENDER : Loaded 3752 newer shader binaries
11:31:30.841 PROFILING : Reload shaders took: 320.937300 ms
11:31:30.844 ENGINE : Initializing inputs.
11:31:30.857 NETWORK : Initializing networking.
11:31:30.857 NETWORK : Using new GameRplScheduler.
11:31:30.858 SCRIPT : SCRIPT : Initializing scripts
11:31:30.858 SCRIPT : SCRIPT : ScriptProjectManager init
11:31:30.858 PROFILING : ScriptProjectManager init took: 0.021400 ms
11:31:30.912 PROFILING : Initializing scripts took: 53.896200 ms
11:31:30.912 BACKEND : Backend Services are disabled.
11:31:30.912 ENGINE : Enfusion engine successfully created.
11:31:30.954 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
11:31:30.977 GUI : Using default language (en_us)
11:31:30.977 GUI : Loading 'en_us' localization file.
11:31:30.977 INIT : INIT : Loading StringTable
11:31:31.007 PROFILING : Loading StringTable took: 29.899000 ms
11:31:31.007 SCRIPT : SCRIPT : Compiling GameLib scripts
11:31:31.053 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 776K of static memory; defines: "ENF_WB,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
11:31:31.053 PROFILING : Compiling GameLib scripts took: 46.340400 ms
11:31:31.054 RESOURCES : GetResourceObject @"{1C71B463B3B66BAB}UI/layouts/Menus/MainMenu/IntroSplashScreen.layout"
11:31:31.054 GUI : Layout load @"{1C71B463B3B66BAB}UI/layouts/Menus/MainMenu/IntroSplashScreen.layout"
11:31:31.054 GUI (E): Unknown class 'SCR_WidgetExportRuleRoot' at offset 282(0x11a)
11:31:31.135 SCRIPT : SCRIPT : Compiling Game scripts
11:31:32.012 SCRIPT : Compiling Game scripts
11:31:32.012 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
11:31:32.490 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
11:31:32.490 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
11:31:32.828 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,311": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:31:32.840 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
11:31:32.877 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
11:31:32.880 SCRIPT (E): @"Scripts/Game/ERR/00_Core/ERR_HeaderProbe.c,8": Undefined function 'BaseContainerTools.GetInstanceContainer'
11:31:33.038 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
11:31:33.038 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
11:31:33.038 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
11:31:33.038 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
11:31:33.075 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
11:31:33.114 SCRIPT (E): @"Scripts/Game/ScenarioFramework/Actions/ActionGetters/SCR_ScenarioFrameworkGetCountEntitiesInTrigger.c,10": Can't find class SCR_ScenarioFrameworkParam
11:31:33.129 SCRIPT (E): @"Scripts/Game/ScenarioFramework/Actions/ActionGetters/SCR_ScenarioFrameworkGetLastFinishedTaskLayer.c,11": Can't find class SCR_ScenarioFrameworkParam
11:31:33.133 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
11:31:33.146 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
11:31:33.146 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
11:31:33.148 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
11:31:33.161 SCRIPT (E): @"Scripts/Game/UI/Components/SCR_SpinningWidgetComponent.c,25": Can't find class SCR_SpinningWidgetAnimation
11:31:33.161 SCRIPT (E): @"Scripts/Game/UI/Components/SCR_SpinningWidgetComponent.c,27": Can't find class SCR_SpinningWidgetAnimation
11:31:33.199 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:31:33.199 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:31:33.201 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
11:31:33.201 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
11:31:33.258 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
11:31:33.261 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,452": Can't find class Tuple2
11:31:33.261 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,517": Can't find class Tuple2
11:31:33.271 SCRIPT (E): Can't compile "Game" script module!
Scripts/Game/ERR/00_Core/ERR_HeaderProbe.c(8): Undefined function 'BaseContainerTools.GetInstanceContainer'
11:31:33.368 SCRIPT (W): Failed to load
11:31:33.368 PROFILING : Compiling Game scripts took: 2232.296300 ms
11:31:33.405 ENGINE (E): Unable to initialize the game
11:31:33.406 ENGINE : Game destroyed.
11:31:33.433 RESOURCES (E): ==== Resource leaks ====
11:31:33.433 RESOURCES (E): UI/Textures/Icons/icons_wrapperUI-100_atlas.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_place_geometry_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_transform_geometry_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/cursors_atlas.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_objective_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_waypoint_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_rotate_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_transform_snap_disabled_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_transform_snap_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_move_camera_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_wait_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_transform_disabled_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_transform_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_place_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_select_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/Cursor/arrow_raw_uiuc.edds 1
11:31:33.433 RESOURCES (E): UI/Imagesets/Panels/Shadow/panels_fadedBackground-16-100_atlas.edds 1
11:31:33.433 RESOURCES (E): UI/Imagesets/Panels/Outline/panels_roundedOutline_atlas.edds 1
11:31:33.433 RESOURCES (E): UI/Imagesets/Panels/panels_roundedCorners_atlas.edds 1
11:31:33.433 RESOURCES (E): UI/Imagesets/WeaponInfo/panel_style_magazines.edds 1
11:31:33.433 RESOURCES (E): UI/Imagesets/debugUI.edds 1
11:31:33.433 RESOURCES (E): UI/Textures/WidgetLibrary/ScrollBarRectangles.edds 1
11:31:33.433 RESOURCES (E): UI/Imagesets/default.edds 1
11:31:33.433 RESOURCES (E): ui/fonts/robotomono_msdf_28.edds 1
@@ -0,0 +1,32 @@
from pathlib import Path
import sys,os,json,subprocess,time,fcntl,shutil
ROOT=Path('/home/jakub/devel/escapistsrereintroduced');sys.path.insert(0,str(ROOT/'tools'))
from headless_game import assert_prefix_idle,cleanup_owned_run
from external_addons import policy,prepare_profile
steam=Path.home()/'.local/share/Steam';compat=Path('/tmp/erri-headless-compat');profile=Path('/tmp/erri-terrain-header-probe3');profile.mkdir()
lock=(compat/'.erri-workbench.lock').open('a');fcntl.flock(lock,fcntl.LOCK_EX|fcntl.LOCK_NB);assert_prefix_idle(compat)
addons=profile/'addons';addons.mkdir()
external=steam/'steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons'
prepare_profile(addons,external,policy(ROOT),profile/'external-cache.json')
for name,target in [('ArmaReforger',steam/'steamapps/common/Arma Reforger/addons/data'),('ERR_Core',Path('/tmp/erri-terrain-header-source3')),('Nogova',Path('/home/jakub/devel/gabreta/addons/NogovaReforger'))]:
(addons/name).symlink_to(target,target_is_directory=True)
config={'bindAddress':'127.0.0.1','bindPort':22991,'game':{'name':'Private terrain header probe','password':'private-local-probe','scenarioId':'{C1E20667DCE324ED}Missions/ERR_Everon.conf','maxPlayers':1,'visible':False,'supportedPlatforms':['PLATFORM_PC'],'gameProperties':{'battlEye':False,'missionHeader':{'World':'{52BA23DC05308E33}Worlds/Nogova/Nogova.ent'}}}}
(profile/'server.json').write_text(json.dumps(config,indent=2))
proton=steam/'steamapps/common/Proton - Experimental/proton';game=steam/'steamapps/common/Arma Reforger'
cmd=['gamescope','--backend','headless','-W','1280','-H','720','-w','1280','-h','720','-r','30','--',str(proton),'run',str(game/'ArmaReforgerSteamDiag.exe'),'-server','{C1E20667DCE324ED}Missions/ERR_Everon.conf','-config','Z:'+str(profile/'server.json'),'-addonsDir','Z:'+str(addons),'-addons','2528466DE220D91C,70C981A53E02B64F','-profile','Z:'+str(profile),'-noBackend','-bindIP','127.0.0.1','-bindPort','22991','-maxFPS','30','-logconsole','-noSound','-noSplash','-noThrow','-disableCrashReporter']
env=os.environ.copy();env.update(STEAM_COMPAT_DATA_PATH=str(compat),STEAM_COMPAT_CLIENT_INSTALL_PATH=str(steam),WINEPREFIX=str(compat/'pfx'),PULSE_SINK='erri_tests_silent')
(profile/'command.json').write_text(json.dumps(cmd,indent=2))
child=None;started=time.time()
with (profile/'launch.log').open('w') as log:
try:
child=subprocess.Popen(cmd,cwd=game,env=env,stdout=log,stderr=subprocess.STDOUT,start_new_session=True)
while time.time()-started<110 and child.poll() is None:
sessions=sorted((profile/'logs').glob('logs_*/console.log'))
if sessions:
text=sessions[-1].read_text(errors='replace')
if 'WORLD : Entities load' in text or 'Unable to initialize the game' in text:break
time.sleep(1)
finally:
if child:
report=cleanup_owned_run(child,proton,env,compat);(profile/'cleanup.json').write_text(json.dumps(report,indent=2));print(report)
print(profile)
@@ -0,0 +1,20 @@
{
"bindAddress": "127.0.0.1",
"bindPort": 22991,
"game": {
"name": "Private terrain header probe",
"password": "private-local-probe",
"scenarioId": "{C1E20667DCE324ED}Missions/ERR_Everon.conf",
"maxPlayers": 1,
"visible": false,
"supportedPlatforms": [
"PLATFORM_PC"
],
"gameProperties": {
"battlEye": false,
"missionHeader": {
"World": "{52BA23DC05308E33}Worlds/Nogova/Nogova.ent"
}
}
}
}
@@ -0,0 +1,13 @@
modded class ArmaReforgerScripted
{
protected override void OnMissionSet(MissionHeader mission)
{
if (mission && mission.GetHeaderResourceName() == "{C1E20667DCE324ED}Missions/ERR_Everon.conf")
{
PrintFormat("ERR HEADER PROBE before=%1", mission.GetWorldResourceName());
bool changed = BaseContainerTools.WritePropertyToInstance(mission, "World", "{52BA23DC05308E33}Worlds/Nogova/Nogova.ent");
PrintFormat("ERR HEADER PROBE changed=%1 after=%2", changed, mission.GetWorldResourceName());
}
super.OnMissionSet(mission);
}
}
@@ -0,0 +1,15 @@
{
"cleanup_confirmed": true,
"idle_verified": true,
"errors": [],
"orphan_cleanup": {
"attempted": true,
"report": {
"scope": "/tmp/erri-headless-compat/pfx",
"candidates": [],
"term_sent": [],
"kill_sent": [],
"cleared": true
}
}
}
@@ -0,0 +1,41 @@
[
"gamescope",
"--backend",
"headless",
"-W",
"1280",
"-H",
"720",
"-w",
"1280",
"-h",
"720",
"-r",
"30",
"--",
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
"run",
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteamDiag.exe",
"-server",
"{C1E20667DCE324ED}Missions/ERR_Everon.conf",
"-config",
"Z:/tmp/erri-terrain-header-probe4/server.json",
"-addonsDir",
"Z:/tmp/erri-terrain-header-probe4/addons",
"-addons",
"2528466DE220D91C,70C981A53E02B64F",
"-profile",
"Z:/tmp/erri-terrain-header-probe4",
"-noBackend",
"-bindIP",
"127.0.0.1",
"-bindPort",
"22991",
"-maxFPS",
"30",
"-logconsole",
"-noSound",
"-noSplash",
"-noThrow",
"-disableCrashReporter"
]
@@ -0,0 +1,176 @@
---------------------------------------------
Log Z:\tmp\erri-terrain-header-probe4\logs\logs_2026-10-01_11-32-31\console.log started at 2026-10-01 11:32:31 (2026-10-01 09:32:31 UTC)
11:32:31.642 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe4\logs\logs_2026-10-01_11-32-31' to filesystem under name logs
11:32:31.642 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe4\profile' to filesystem under name profile
11:32:31.642 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger\'
11:32:31.643 ENGINE : Initializing engine, version 192142
11:32:31.643 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -config Z:/tmp/erri-terrain-header-probe4/server.json -addonsDir Z:/tmp/erri-terrain-header-probe4/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile Z:/tmp/erri-terrain-header-probe4 -noBackend -bindIP 127.0.0.1 -bindPort 22991 -maxFPS 30 -logconsole -noSound -noSplash -noThrow -disableCrashReporter
11:32:31.657 ENGINE : Addon dirs:
11:32:31.657 ENGINE : dir: './addons'
11:32:31.657 ENGINE : dir: 'Z:/tmp/erri-terrain-header-probe4/addons'
11:32:31.657 ENGINE : Available addons:
11:32:31.657 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
11:32:31.657 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
11:32:31.657 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
11:32:31.657 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe4\addons\Nogova' to filesystem under name NogovaReforger
11:32:31.657 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-terrain-header-probe4\addons\ERR_Core' to filesystem under name ERR_Core
11:32:31.658 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
11:32:31.660 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
11:32:31.661 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
11:32:31.663 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
11:32:31.668 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
11:32:31.670 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
11:32:31.675 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
11:32:31.783 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
11:32:31.786 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
11:32:31.786 ENGINE : CPU vendor : AuthenticAMD
11:32:31.786 ENGINE : CPU type : 2
11:32:31.786 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
11:32:31.786 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
11:32:31.786 ENGINE : CPU count logical : 16
11:32:31.786 ENGINE : CPU count physical : 8
11:32:31.786 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
11:32:31.786 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=Z:\tmp\erri-terrain-header-probe4\addons\Nogova/resourceDatabase.rdb)
11:32:31.799 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=Z:\tmp\erri-terrain-header-probe4\addons\ERR_Core/resourceDatabase.rdb)
11:32:31.799 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=Z:/tmp/erri-terrain-header-probe4/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
11:32:31.800 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
11:32:31.800 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
11:32:31.801 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=Z:/tmp/erri-terrain-header-probe4/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
11:32:31.803 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=Z:/tmp/erri-terrain-header-probe4/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
11:32:31.816 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=Z:/tmp/erri-terrain-header-probe4/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
11:32:31.817 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=Z:/tmp/erri-terrain-header-probe4/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
11:32:31.825 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
11:32:31.961 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
11:32:31.963 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=Z:\tmp\erri-terrain-header-probe4\profile/resourceDatabase.rdb)
11:32:31.963 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=Z:\tmp\erri-terrain-header-probe4\logs\logs_2026-10-01_11-32-31/resourceDatabase.rdb)
11:32:32.142 ENGINE : GameProject load
11:32:32.142 ENGINE : Loaded addons:
11:32:32.142 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
11:32:32.142 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
11:32:32.142 ENGINE : gproj: 'Z:/tmp/erri-terrain-header-probe4/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
11:32:32.144 ENGINE : GameProject load
11:32:32.144 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe4/addons/ERRI_595F2BF2F44836FB/addon.gproj"
11:32:32.144 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
11:32:32.145 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe4/addons/ERRI_629B2BA37EFFD577/addon.gproj"
11:32:32.145 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
11:32:32.145 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
11:32:32.145 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
11:32:32.146 INIT : GameProject load project data @"Z:/tmp/erri-terrain-header-probe4/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
11:32:32.146 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
11:32:32.148 ENGINE : Loading custom engine user config '$profile:.save/app1874880_user76561198020202999/settings/ReforgerEngineSettings.conf'
11:32:32.148 ENGINE : No Enfusion settings file loaded. Continuing with defaults
11:32:32.148 ENGINE : Locale info: system en-US (English), user en-US (English)
11:32:32.273 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
11:32:32.274 RENDER : Basic screen setup:
11:32:32.274 RENDER : Back buffer width x height: 1280x720
11:32:32.274 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
11:32:32.274 RENDER : MSAA : none
11:32:32.282 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
11:32:32.282 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
11:32:32.282 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
11:32:32.282 RENDER : * core clocks 2720 MHz, memory 1124 MHz
11:32:32.282 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s)
11:32:32.282 RENDER : AMD AGS correctly initialized
11:32:32.283 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition
11:32:32.283 RENDER : Detected output devices:
11:32:32.283 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
11:32:32.283 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
11:32:32.283 RENDER : Concurrent frames limit 2
11:32:32.355 RENDER : DX12 device successfully created by AMD AGS library
11:32:32.355 RENDER : * user markers not supported in this version AMD SW
11:32:32.355 RENDER : Graphics device features
11:32:32.355 RENDER : Needed:
11:32:32.355 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
11:32:32.355 RENDER : Optional:
11:32:32.355 RENDER : * Allow tearing (VSYNC) : 1
11:32:32.355 RENDER : * 16 bits : 1
11:32:32.355 RENDER : * Resource heap tier : 3
11:32:32.355 RENDER : * Persistent heaps (DRED) : 1
11:32:32.355 RENDER : * DRED 1.2 is supported by compiler
11:32:32.374 RENDER : Main RT format setup.
11:32:32.374 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
11:32:32.374 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
11:32:32.382 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
11:32:32.413 PROFILING : Settings changed took: 1.593900 ms
11:32:32.417 RENDER : RENDER : Reload shaders
11:32:32.417 RENDER : Enfusion shader version 13
11:32:32.417 INIT : INIT : ShaderListReload
11:32:32.417 PROFILING : ShaderListReload took: 0.000400 ms
11:32:32.724 RENDER : Loaded 3752 newer shader binaries
11:32:32.724 PROFILING : Reload shaders took: 307.097100 ms
11:32:32.727 ENGINE : Initializing inputs.
11:32:32.739 NETWORK : Initializing networking.
11:32:32.739 NETWORK : Using new GameRplScheduler.
11:32:32.739 SCRIPT : SCRIPT : Initializing scripts
11:32:32.740 SCRIPT : SCRIPT : ScriptProjectManager init
11:32:32.740 PROFILING : ScriptProjectManager init took: 0.011900 ms
11:32:32.787 PROFILING : Initializing scripts took: 47.694400 ms
11:32:32.787 BACKEND : Backend Services are disabled.
11:32:32.787 ENGINE : Enfusion engine successfully created.
11:32:32.829 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
11:32:32.854 GUI : Using default language (en_us)
11:32:32.854 GUI : Loading 'en_us' localization file.
11:32:32.854 INIT : INIT : Loading StringTable
11:32:32.880 PROFILING : Loading StringTable took: 25.608000 ms
11:32:32.880 SCRIPT : SCRIPT : Compiling GameLib scripts
11:32:32.923 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 776K of static memory; defines: "ENF_WB,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
11:32:32.924 PROFILING : Compiling GameLib scripts took: 43.940700 ms
11:32:32.924 RESOURCES : GetResourceObject @"{1C71B463B3B66BAB}UI/layouts/Menus/MainMenu/IntroSplashScreen.layout"
11:32:32.924 GUI : Layout load @"{1C71B463B3B66BAB}UI/layouts/Menus/MainMenu/IntroSplashScreen.layout"
11:32:32.924 GUI (E): Unknown class 'SCR_WidgetExportRuleRoot' at offset 282(0x11a)
11:32:32.989 SCRIPT : SCRIPT : Compiling Game scripts
11:32:33.778 SCRIPT : Compiling Game scripts
11:32:33.778 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
11:32:34.232 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
11:32:34.232 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
11:32:34.569 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,311": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:32:34.581 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
11:32:34.615 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
11:32:34.759 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
11:32:34.759 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
11:32:34.759 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
11:32:34.759 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
11:32:34.797 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
11:32:34.857 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
11:32:34.871 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
11:32:34.871 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
11:32:34.872 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
11:32:34.918 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:32:34.918 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
11:32:34.919 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
11:32:34.919 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
11:32:34.971 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
11:32:35.192 SCRIPT : Module: Game; loaded 6602x files; 13193x classes; used 38869K of static memory; defines: "ENF_WB,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS"; CRC32: 0592328e
11:32:35.238 PROFILING : Compiling Game scripts took: 2249.605000 ms
11:32:35.242 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
11:32:35.278 BACKEND : Loading dedicated server config.
11:32:35.278 BACKEND : Server config loaded.
11:32:35.278 BACKEND : JSON Schema Validation:
11:32:35.278 BACKEND : JSON is Valid
11:32:35.292 ENGINE : Game successfully created.
11:32:35.298 PLATFORM : Save data from container 'settings' have been loaded
11:32:35.381 PLATFORM : Save data from container 'sessions' have been loaded
11:32:35.783 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
11:32:35.783 PLATFORM : Save data transaction to 'settings' started.
11:32:35.785 NETWORK : Starting local multiplayer server using command line args.
11:32:35.785 SCRIPT : ERR HEADER PROBE before={B6C516F86302C679}Worlds/ERR_Everon.ent
11:32:35.785 SCRIPT : ERR HEADER PROBE changed=0 after={B6C516F86302C679}Worlds/ERR_Everon.ent
11:32:35.885 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{C1E20667DCE324ED}Missions/ERR_Everon.conf'.
11:32:35.886 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
@@ -0,0 +1,32 @@
from pathlib import Path
import sys,os,json,subprocess,time,fcntl,shutil
ROOT=Path('/home/jakub/devel/escapistsrereintroduced');sys.path.insert(0,str(ROOT/'tools'))
from headless_game import assert_prefix_idle,cleanup_owned_run
from external_addons import policy,prepare_profile
steam=Path.home()/'.local/share/Steam';compat=Path('/tmp/erri-headless-compat');profile=Path('/tmp/erri-terrain-header-probe4');profile.mkdir()
lock=(compat/'.erri-workbench.lock').open('a');fcntl.flock(lock,fcntl.LOCK_EX|fcntl.LOCK_NB);assert_prefix_idle(compat)
addons=profile/'addons';addons.mkdir()
external=steam/'steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons'
prepare_profile(addons,external,policy(ROOT),profile/'external-cache.json')
for name,target in [('ArmaReforger',steam/'steamapps/common/Arma Reforger/addons/data'),('ERR_Core',Path('/tmp/erri-terrain-header-source4')),('Nogova',Path('/home/jakub/devel/gabreta/addons/NogovaReforger'))]:
(addons/name).symlink_to(target,target_is_directory=True)
config={'bindAddress':'127.0.0.1','bindPort':22991,'game':{'name':'Private terrain header probe','password':'private-local-probe','scenarioId':'{C1E20667DCE324ED}Missions/ERR_Everon.conf','maxPlayers':1,'visible':False,'supportedPlatforms':['PLATFORM_PC'],'gameProperties':{'battlEye':False,'missionHeader':{'World':'{52BA23DC05308E33}Worlds/Nogova/Nogova.ent'}}}}
(profile/'server.json').write_text(json.dumps(config,indent=2))
proton=steam/'steamapps/common/Proton - Experimental/proton';game=steam/'steamapps/common/Arma Reforger'
cmd=['gamescope','--backend','headless','-W','1280','-H','720','-w','1280','-h','720','-r','30','--',str(proton),'run',str(game/'ArmaReforgerSteamDiag.exe'),'-server','{C1E20667DCE324ED}Missions/ERR_Everon.conf','-config','Z:'+str(profile/'server.json'),'-addonsDir','Z:'+str(addons),'-addons','2528466DE220D91C,70C981A53E02B64F','-profile','Z:'+str(profile),'-noBackend','-bindIP','127.0.0.1','-bindPort','22991','-maxFPS','30','-logconsole','-noSound','-noSplash','-noThrow','-disableCrashReporter']
env=os.environ.copy();env.update(STEAM_COMPAT_DATA_PATH=str(compat),STEAM_COMPAT_CLIENT_INSTALL_PATH=str(steam),WINEPREFIX=str(compat/'pfx'),PULSE_SINK='erri_tests_silent')
(profile/'command.json').write_text(json.dumps(cmd,indent=2))
child=None;started=time.time()
with (profile/'launch.log').open('w') as log:
try:
child=subprocess.Popen(cmd,cwd=game,env=env,stdout=log,stderr=subprocess.STDOUT,start_new_session=True)
while time.time()-started<110 and child.poll() is None:
sessions=sorted((profile/'logs').glob('logs_*/console.log'))
if sessions:
text=sessions[-1].read_text(errors='replace')
if 'WORLD : Entities load' in text or 'Unable to initialize the game' in text:break
time.sleep(1)
finally:
if child:
report=cleanup_owned_run(child,proton,env,compat);(profile/'cleanup.json').write_text(json.dumps(report,indent=2));print(report)
print(profile)
@@ -0,0 +1,20 @@
{
"bindAddress": "127.0.0.1",
"bindPort": 22991,
"game": {
"name": "Private terrain header probe",
"password": "private-local-probe",
"scenarioId": "{C1E20667DCE324ED}Missions/ERR_Everon.conf",
"maxPlayers": 1,
"visible": false,
"supportedPlatforms": [
"PLATFORM_PC"
],
"gameProperties": {
"battlEye": false,
"missionHeader": {
"World": "{52BA23DC05308E33}Worlds/Nogova/Nogova.ent"
}
}
}
}
@@ -0,0 +1,15 @@
{
"purpose": "Investigate terrain-author-independent world selection without changing production source or server",
"findings": {
"probe-1": "Empty -server parameter overrides config launch with nothing to load; invalid launch test, not evidence against config world override.",
"probe-2": "Explicit -server Escape header plus gameProperties.missionHeader.World pointing at Nogova loaded Escape Everon. This command-line/local-server route alone does not establish dedicated-config-only behavior.",
"probe-3": "Rejected at compile: BaseContainerTools.GetInstanceContainer is not an API. No runtime result.",
"probe-4": "Documented WritePropertyToInstance(mission, World, Nogova) in OnMissionSet returned false; original Everon world remained and loaded."
},
"conclusion": "No proven author-independent loader. These narrow probes do not prove all possible approaches impossible. Production universal prefab and prior terrain integrations unchanged.",
"sources": [
"https://community.bistudio.com/wikidata/external-data/arma-reforger/ArmaReforgerScriptAPIPublic/interfaceMissionHeader.html",
"https://community.bistudio.com/wikidata/external-data/arma-reforger/EnfusionScriptAPIPublic/interfaceBaseContainerTools.html"
],
"multiplayer_tested": false
}