Recruit (AI) ignoring commands
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:
- Recruit a villager
- 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.
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)").
-
I then disconnected and reconnected to the server.
-
First I got the message that I was promoted to group leader (good)
-
I then got the messages that both recruits were added to my group. The still don't follow my commands unfortunately.
- After the reconnect both recruits are now in separate groups according to the symbols displayed in Game Master.
- 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.
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".
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
This is a bug in Reforger, not Overthrow
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".