Summary
ORCA_STO_ReplicationSafeRespawn
Description
ORCA_STO_ReplicationSafeRespawn
================================
Purpose
-------
Fixes the STO stuck-group recovery path so a replicated AI group is not deleted
and replaced in the same server frame.
Observed source path
--------------------
STO Conflict PvE Dev 1.0.97:
Scripts/Game/PvEMode/STO_BaseAttackComponent.c
Original sequence:
STO_GroupUtils.DeleteGroup(g);
RespawnAfterStuckDeletion(groupType);
The server log showed:
[STO] BaseAttack [Relay] ground group spawned ...
[STO] BaseAttack [Relay] stuck-group replacement spawned successfully.
...
RPL: ServerImpl event: disconnected ...
This patch:
1. Leaves STO's DeleteRplEntity-based cleanup unchanged.
2. Delays the replacement by 1000 ms.
3. Re-runs PurgeAndCount(..., false) on the four STO group arrays.
4. Refreshes m_iAliveAITotal.
5. Calls the original RespawnAfterStuckDeletion().
Important
---------
This patch does NOT directly modify STO's data.pak and does NOT replace
Group_USSR_Team_AT.et. That avoids creating a modified Workshop package and
reduces checksum-mismatch risk.
Group_USSR_Team_AT.et in the supplied STO 1.0.97 archive is only:
Group_USSR_Base.et + Character_USSR_AAT.et
Therefore, if disconnects remain specifically correlated with Team_AT after this
fix, inspect Character_USSR_AAT.et and its weapon/loadout overrides from the
other loaded addons.
Recommended load order
----------------------
69E72A9FFBD6DDF7 STO Conflict PvE Dev
69E901B4E5C427F8 STO Linear Conflict PvE Dev
... map / other normal mods ...
AB3C9104B449911D ORCA_STO_ReplicationSafeRespawn
Workbench
---------
Open addon.gproj as a normal addon project with STO Conflict PvE Dev available.
Build/publish the addon normally. Do not overwrite the Workshop STO data.pak.
Expected debug lines
--------------------
[STO] BaseAttack [...] ORCA RPL fix: delaying stuck-group replacement by 1000ms.
[STO] BaseAttack [...] ORCA RPL fix: replication settle complete; spawning replacement ...
Validation
----------
After deploying, reproduce a stuck-group replacement and check whether players
remain connected. If the disconnect persists and the last spawned prefab is
Group_USSR_Team_AT.et, the next target is Character_USSR_AAT.et / its loadout,
not the STO group wrapper itself.
License
Arma Public License (APL)