Summary
Universal Conflict Performance is a server-side performance management framework for Arma Reforger.
Description
UCP Feature List
Core Loop · Cleanup System
Scheduler — Central scheduler that round-robins through 21 jobs, one per cycle
PerformanceController — Determines NORMAL/PRESSURE/CRITICAL state based on cycle time and tracked candidate count
EntityRegistry / EntityClassifier — Scans entities around players, classifies them by type, and registers them as cleanup candidates
CorpseManager — Automatically cleans up corpses
DestroyedVehicleManager — Automatically cleans up destroyed vehicles
DroppedItemManager — Automatically cleans up dropped items
AbandonedVehicleManager — Same mechanism, disabled by default (works once enabled)
SafeCleanupManager — Verifies lifetime/count limits/protection radius before deletion
ProtectionManager — Blocks deletion when near a player or vehicle
AI Management
InvisibleAIGuard — Detects and removes AI that has gone invisible
AIVisibilityGuard — Forces LOD re-application on persistence-restored AI
SmartAIBudgetManager — Smoothly adjusts the AI limit by combining memory/runtime/AdaptiveTick signals
AIPopulationGuard — Surveys all AI via GetAIAgents() and trims by priority once the limit is exceeded
AIActiveLimitManager — Directly caps the number of simultaneously active AI via the engine-native SetLimitOfActiveAIs()
AIGroupSerializer patch — Option to skip AI group member persistence (prevents post-restart invisibility)
SaveGame patch — Fixes the original addon's missing SHUTDOWN save bug
Automatic Performance Detection/Response
AdaptiveTickManager — Automatically adjusts scan interval/throughput/deletion rate per state, plus RECOVERY hysteresis
RuntimeMonitor — Calculates the server's overall load score
MemoryBudgetManager — Calculates memory load score + automatic reduction
InternalGCManager — Performs additional internal cache/history cleanup under heavy load
Logging/Diagnostic Tools
Metrics — Records per-cycle performance figures
Profiler — Profiles execution time per function
ServerAnalyticsManager — Logs periodic server state snapshots
LiveConsole — Live console commands (status, runtime, memory, adaptive, ai, invisibleai, aipop, aiactive, etc.)
ConfigLoader / ConfigGuide — Live config reload + admin reference guide
New Features (this session)
1. AIPopulationGuard
Surveys all AI via AIWorld.GetAIAgents() → trims by priority (far away, old, not in combat) once AIBudgetManager's state-based limit is exceeded
Safety gates: keeps at least 1 group member, checks real combat status, honors spawn grace period, protects AI near players
Default: disabled + observation-only
2. AIActiveLimitManager
Directly caps simultaneously active AI via the engine-native AIWorld.SetLimitOfActiveAIs()
Tiered by server state (Normal/Pressure/Critical); captures the engine's original value and restores it exactly when disabled
Default: disabled (lowest risk of anything built so far — worth enabling first)
3. NativeGarbageCoordinationEnabled
Skips UCP's own tracking for entities the engine's native GarbageSystem already tracks, avoiding duplicate work
Default: disabled
4. NativeGarbageFlushManager
Every 5 minutes (halved under CRITICAL), protects anything near players then asks the engine to force-clean via GarbageSystem.Flush()
Default: disabled
5. New LiveConsole Commands
aipop, aiactive, garbage — status checks for the features above
ADMIN COMMANDS
Admin chat or RCON. Output goes to the server log.
#ucp Status overview
#ucp help Full command list
#ucp frame FPS, frame time, lateness, entity density
#ucp cleanup What has been removed
#ucp invisibleai Invisible AI detection and removal
All read commands:
help status frame load runtime memory adaptive
ai invisibleai budgets loot network simulation
cleanup vehicle cache spatial queues gc
analytics metrics profiler console dump
Write commands (require LiveConsoleAllowWriteCommands: 1):
#ucp reload | #ucp frame clear | #ucp runtime clear | #ucp cache clear | #ucp aipop | #ucp ailimit.
Permissions: ADMINISTRATOR, GAME_MASTER or SESSION_ADMINISTRATOR.
License
Arma Public License No Derivatives (APL-ND)