Page MenuHomeFeedback Tracker

REPLICATION SYSTEM_FAILURE client disconnects when disabling component in prefab
Awaiting internal Testing, NormalPublic

Description

Please provide the following when creating the Ticket:

1.2.1.169 (Steam)
Modded?: Yes, but probably doesn't matter

https://reforger.armaplatform.com/workshop/5EAF2B0473DB5A99-ReforgerLobby
https://reforger.armaplatform.com/workshop/5EE9238E61637E47-PSCore

Issue Description:

Unchecking "Enabled" flag in component of some prefabs (noticed it with radio component of ural command vehicle and some others) causes client to disconnect with REPLICATION SYSTEM_FAILURE error.

Expected behavior: disabled components are properly synced between server and clients.

Details

Severity
Minor
Resolution
Open
Reproducibility
Always
Operating System
Windows 11 x64
Category
General
Steps To Reproduce
  1. Open Arma Reforger Tools
  2. Create world
  3. Add https://enfusionengine.com/api/redirect?to=enfusion://ResourceManager/$ArmaReforger:Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_command.et prefab somewhere in the world
  4. Uncheck "Enabled" flag in BaseRadioComponent of spawned prefab
  5. Add playable character somewhere near prefab
  6. Run dedicated server with this scenario
  7. Connect to server and spawn near prefab
  8. Receive REPLICATION SYSTEM_FAILURE error
Additional Information

Checking Enabled flag in the component or making custom prefab with disabled components prevents error from happening.

According to client logs there is number of items mismatch between server and client which causes disconnect:

22:19:06.356   RPL       (E): RplCreationError: Number of items mismatch. nodeId=0x80000F40, node='Assets/Vehicles/Wheeled/Ural4320/Ural_4320_base.xob'
22:19:06.356   RPL       (E):   items:
22:19:06.356   RPL       (E):    name='RplComponent', layoutName='script::Game::RplComponent'
22:19:06.356   RPL       (E):    name='BaseFuelNode', layoutName='script::Game::SCR_FuelNode'
22:19:06.356   RPL       (E):    name='BaseFuelNode', layoutName='script::Game::SCR_FuelNode'
22:19:06.356   RPL       (E):    name='Vehicle', layoutName='script::Game::Vehicle'
22:19:06.356   RPL       (E):    name='SignalsManagerComponent', layoutName='script::Game::SignalsManagerComponent'
22:19:06.356   RPL       (E):    name='BaseLightManagerComponent', layoutName='script::Game::BaseLightManagerComponent'
22:19:06.356   RPL       (E):    name='BaseRadioComponent', layoutName='script::Game::BaseRadioComponent'
22:19:06.356   RPL       (E):    name='CarControllerComponent', layoutName='script::Game::SCR_CarControllerComponent'
22:19:06.356   RPL       (E):    name='BaseCompartmentManagerComponent', layoutName='script::Game::SCR_BaseCompartmentManagerComponent'
22:19:06.356   RPL       (E):    name='ScriptComponent', layoutName='script::Game::SCR_EditableVehicleComponent'
22:19:06.356   RPL       (E):    name='ScriptComponent', layoutName='script::Game::SCR_ImpactEffectComponent'
22:19:06.356   RPL       (E):    name='UniversalInventoryStorageComponent', layoutName='script::Game::SCR_UniversalInventoryStorageComponent'
22:19:06.356   RPL       (E):    name='FactionAffiliationComponent', layoutName='script::Game::SCR_VehicleFactionAffiliationComponent'
22:19:06.356   RPL       (E):    name='ScriptComponent', layoutName='script::Game::SCR_VehicleSpawnProtectionComponent'
22:19:06.356   RPL       (E):    name='DamageManagerComponent', layoutName='script::Game::SCR_WheeledDamageManagerComponent'
22:19:06.356   RPL       (E):    name='VehicleWheeledSimulation', layoutName='script::Game::VehicleWheeledSimulation'
22:19:06.356   RPL       (E):    name='SlotManagerComponent', layoutName='script::Game::SlotManagerComponent'
22:19:06.356   RPL       (E):    name='InventoryStorageManagerComponent', layoutName='script::Game::SCR_VehicleInventoryStorageManagerComponent'
22:19:06.356   RPL       (E):    name='ActionsManagerComponent', layoutName='script::Game::ActionsManagerComponent'
22:19:06.356   RPL       (E):    name='NwkCarMovementComponent', layoutName='script::Game::NwkCarMovementComponent'

We also observed similar behavior with ak74 prefab with component disabled to prevent players from picking it up:

22:53:14.805   RPL       (E): RplCreationError: Number of items mismatch. nodeId=0x8000248D, node='Assets/Weapons/Rifles/AK74/AK74_body.xob'
22:53:14.805   RPL       (E):   items:
22:53:14.805   RPL       (E):    name='RplComponent', layoutName='script::Game::RplComponent'
22:53:14.805   RPL       (E):    name='SignalsManagerComponent', layoutName='script::Game::SignalsManagerComponent'
22:53:14.805   RPL       (E):    name='WeaponAttachmentsStorageComponent', layoutName='script::Game::SCR_WeaponAttachmentsStorageComponent'
22:53:14.805   RPL       (E):    name='BaseWeaponStatsManagerComponent', layoutName='script::Game::SCR_WeaponStatsManagerComponent'
22:53:14.805   RPL       (E):    name='WeaponComponent', layoutName='script::Game::WeaponComponent'
22:53:14.805   RPL       (E):    name='AttachmentSlotComponent', layoutName='script::Game::AttachmentSlotComponent'
22:53:14.805   RPL       (E):    name='AttachmentSlotComponent', layoutName='script::Game::AttachmentSlotComponent'
22:53:14.805   RPL       (E):    name='BaseSightsComponent', layoutName='script::Game::SightsComponent'
22:53:14.805   RPL       (E):    name='MuzzleComponent', layoutName='script::Game::MuzzleComponent'
22:53:14.805   RPL       (E):    name='AttachmentSlotComponent', layoutName='script::Game::AttachmentSlotComponent'
22:53:14.805   RPL       (E):    name='ActionsManagerComponent', layoutName='script::Game::ActionsManagerComponent'
22:53:14.805   RPL       (E):    name='NwkPhysicsMovementComponent', layoutName='script::Game::NwkPhysicsMovementComponent'

Server logs just mention that player was kicked with replication system_failure error.

Event Timeline

tweedyyonklu edited Steps To Reproduce. (Show Details)
tweedyyonklu changed Severity from None to Minor.Thu, Dec 19, 9:50 PM
tweedyyonklu edited Additional Information. (Show Details)
Geez changed the task status from New to Awaiting internal Testing.Fri, Dec 20, 9:49 AM