Overthrow.Arma4 icon indicating copy to clipboard operation
Overthrow.Arma4 copied to clipboard

Recruit (AI) ignoring commands

Open SteamNimmersatt opened this issue 5 months ago • 5 comments

Version information

  • Platform: Linux (Steam Proton)
  • Game version: 1.4.0.55
  • Overthrow version: 1.3.30

Describe the problem

This bug only occurs on a dedicated server. It does not happen in singleplayer (by starting the Overthrow scenario from the games main menu). The bug is likely caused by the "DelayedRpcAddRecruitToGroup" logic in "OVT_RecruitManagerComponent".

  • After recruiting a villager he is ignoring all of my commands.
  • The recruit will sometimes continue walking around a bit like he is still a villager.
  • The recruit follows move commands given via Game Master (so he is not stuck or anything).
  • The recruit is listed in the "Manage Recruits" menu of Overthrow.
  • Restarting the server does not help.
  • This bug happens about 4 out of 5 times when I recruit a villager. Sometimes the bug does not happen and I can command the villager after recruiting. After server restart I can't command him anymore.

To Reproduce

Steps to reproduce the problem:

  1. Recruit a villager
  2. Give him for example a move order. He will not move.

Expected behavior

After recruiting a villager he should follow commands (like "move").

Where did the issue occur?

Multiplayer. Locally hosted dedicated Reforger server.

Additional context

List of mods:

Overthrow
Enfusion Database Framework
Enfusion Persistence Framework
ACE Core Dev
ACE Carrying Dev
ACE Medical Hitzones Dev
ACE Medical Core Dev
improved reforger ragdolls
Shrapnel 2
Improved Blood Effect
Improved Blood Compatible
AI Diffculty Expert
Vehicle and Corpse Despawn
Night Vision System
BetterMuzzleFlashes 2.2
BetterTracers 2.0
BetterHitsEffects 3.3
Better Weapon Immersion 2.7
LM Suppression
Map Marker Menu Fix
Game Master Enhanced
Rock Paper Scissors
BetterInventory

Attach logs from the session the problem occurred in

I've attached the server log (console.log). I've recruited the villager at around 19:38.

console.log

SteamNimmersatt avatar Sep 13 '25 18:09 SteamNimmersatt

In the screenshot you can see that I've recruited two civilians.

  • They don't follow my commands.
  • They are both in the same group (called "Non-Combatant(s)").
Image
  • I then disconnected and reconnected to the server.

  • First I got the message that I was promoted to group leader (good) Image

  • I then got the messages that both recruits were added to my group. The still don't follow my commands unfortunately.

Image
  • After the reconnect both recruits are now in separate groups according to the symbols displayed in Game Master.
Image
  • Next I clicked on the right of the green square boxes and deleted it. The recruit on the right was then added to the group of the left recruit as you can see in the following screenshot.
  • I still can't command them unfortunately.
Image

SteamNimmersatt avatar Sep 13 '25 19:09 SteamNimmersatt

The bug is also happening with only Overthrow mod + dependencies, no additional mods.

  • In this test the first recruit (who is further away from me) does not follow orders. His state according to Game Master is "idle"
  • I recruited the second recruit (who is close to me) and he is following orders. His state according to Game Master is "followig orders".
Image

SteamNimmersatt avatar Sep 14 '25 12:09 SteamNimmersatt

Error in log after server restart

  • I had recruited 6 recruits before restarting the server and connecting.
  • I can't command any of the recruits.
  • The 6 recruits are in the same group (see screenshot below).
  • Because of the error (see log below) the function "OVT_RecruitManagerComponent.OnRecruitLoaded" is never called.
SCRIPT       : Setting up player: 80ebfb9e-0916-4df8-9cad-6a50d9af6f26 with playerId: 1
SCRIPT       : [Overthrow] Created controller entity for player 1 (80ebfb9e-0916-4df8-9cad-6a50d9af6f26)
SCRIPT       : <8240.698242, 221.533554, 4372.751465> Home status
SCRIPT       : [Overthrow] Preparing returning player: 80ebfb9e-0916-4df8-9cad-6a50d9af6f26
SCRIPT       : [Overthrow] Created group 1 for player Reforger3000 (ID: 1)
SCRIPT       : [Overthrow] Group faction: FIA, Player entity: SCR_ChimeraCharacter<0x00000000182B26B0> @"ENTITY:4611686018427393193" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <7481.618164 138.699997 4714.605957> @"{3A99A99836F6B3DC}Prefabs/Characters/Factions/INDFOR/FIA/Character_Player.et"
SCRIPT       : [Overthrow] Loading recruit from EPF: recruit_80ebfb9e-0916-4df8-9cad-6a50d9af6f26_1757853792_7296d5
SCRIPT       : [Overthrow] Successfully loaded recruit: recruit_80ebfb9e-0916-4df8-9cad-6a50d9af6f26_1757853792_7296d5
SCRIPT       : [Overthrow] Activated AI for recruit: recruit_80ebfb9e-0916-4df8-9cad-6a50d9af6f26_1757853792_7296d5
SCRIPT       : [Overthrow] Recruit has no AI group, will be handled by player group assignment
SCRIPT       : [Overthrow] Restored identity for recruit: #AR-FirstName_CZ_Jaroslav #AR-Surname_CZ_Kral
SCRIPT       : [Overthrow] Recruit recruit_80ebfb9e-0916-4df8-9cad-6a50d9af6f26_1757853792_7296d5 respawned and added to group
SCRIPT       : [Overthrow] Loading recruit from EPF: recruit_80ebfb9WORLD        : UpdateEntities
 RPL          : rpl::Pip::ProcessNetToGame
  ENTITY       : SpawnEntityPrefab @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
   ENTITY       : Create entity @"ENTITY:4611686018427393461" ('SCR_EditorModeEntity') at <0.000000 0.000000 0.000000>
    SCRIPT    (W): 'SCR_EntityCatalogManagerComponent' trying to get entity list of type 'GROUP' but there is no catalog with that type.
    SCRIPT    (W): 'SCR_EntityCatalogManagerComponent' trying to get entity list of type 'CHARACTER' but there is no catalog with that type.
    SCRIPT    (W): 'SCR_EntityCatalogManagerComponent' trying to get entity list of type 'VEHICLE' but there is no catalog with that type.
    SCRIPT    (W): 'SCR_EntityCatalogManagerComponent' trying to get entity list of type 'WEAPONS_TRIPOD' but there is no catalog with that type.
  SCRIPT    (E): Virtual Machine Exception

Reason: ScriptInvoker: Recursive call of Invoke!

Class:      'OVT_OverthrowGameMode'
Entity name:'OVT_OverthrowGameMode1' id:2305843009213693969

Function: 'Invoke'
Stack trace:
Scripts/Game/GameMode/SCR_BaseGameMode.c:1112 Function OnPlayerRoleChange
Scripts/Game/GameMode/OVT_OverthrowGameMode.c:397 Function OnPlayerRoleChange
Scripts/Game/Editor/Entities/SCR_EditorManagerEntity.c:492 Function UpdateLimited
Scripts/Game/Editor/Entities/SCR_EditorManagerEntity.c:1085 Function AddMode
Scripts/Game/Editor/Entities/SCR_EditorManagerEntity.c:822 Function CreateEditorMode
Scripts/Game/Editor/Entities/SCR_EditorManagerEntity.c:887 Function RepairEditorModes
Scripts/Game/Editor/Entities/SCR_EditorManagerEntity.c:876 Function SetEditorModes
Scripts/Game/Editor/Core/SCR_EditorManagerCore.c:445 Function OnPlayerRoleChange
Scripts/Game/GameMode/SCR_BaseGameMode.c:1112 Function OnPlayerRoleChange
Scripts/Game/GameMode/OVT_OverthrowGameMode.c:397 Function OnPlayerRoleChange
Image

SteamNimmersatt avatar Sep 14 '25 14:09 SteamNimmersatt

This is a bug in Reforger, not Overthrow

armazac avatar Sep 15 '25 05:09 armazac

Can we work around this bug? Everything is working fine in singleplayer (Overthrow scenario started from the main menu).

In my opinion we need to alter the logic in "OVT_RecruitManagerComponent.DelayedRpcAddRecruitToGroup".

SteamNimmersatt avatar Sep 15 '25 17:09 SteamNimmersatt