ReksikPerformance
Equal-pillar FPS and Session Reliability for ROUNDS: adaptive local VFX, bounded disconnect diagnostics, fail-closed guards, and opt-in experimental next-point rejoin.
| Date uploaded | 6 days ago |
| Version | 0.1.0 |
| Download link | CultOfTea-ReksikPerformance-0.1.0.zip |
| Downloads | 21 |
| Dependency string | CultOfTea-ReksikPerformance-0.1.0 |
This mod requires the following mods to function
BepInEx-BepInExPack_ROUNDS
BepInEx pack for ROUNDS. Preconfigured and ready to use.
Preferred version: 5.4.1901willis81808-UnboundLib
This is a helpful utility for ROUNDS modders aimed at simplifying common tasks.
Preferred version: 3.2.14README
ReksikPerformance
ReksikPerformance treats Session Reliability and FPS as equal pillars.
FPS and frame pacing
- Reversible local profiles for frame pacing, graphics, particles, and trails.
- Configurable VSync, target frame rate, shadows, lights, textures, and LOD.
- Adaptive VFX tiers react only after sustained frame pressure and recover gradually when headroom returns.
- Compact optional overlay for FPS, frame time, 1% low, managed memory, active VFX, and adaptive status.
- Compatibility mode defers overlapping VFX control when the established
Performance Improvementsmod is detected.
Session Reliability
- Passive, bounded snapshots and privacy-safe disconnect diagnostics under
BepInEx/config/ReksikPerformance. - Plugin/version inventory, network/object counts, and recent exception-rate fingerprints.
- Fail-closed guards for exact known stale-object and invalid-callback signatures. A guard is skipped when its runtime contract does not match.
- Optional background execution to reduce Alt-Tab stalls.
Experimental rejoin
Experimental rejoin is OFF by default. When explicitly enabled for the room, it makes one bounded retry for a non-host client after a narrow set of transport failures.
It is not seamless recovery:
- no host migration;
- no mid-point deck, coroutine, spawned-object, or world-state reconstruction;
- kicks, authentication failures, explicit disconnects, and unknown causes keep vanilla behavior;
- successful transport rejoin enters a warm-state-pending status and must continue only from a safe next-point boundary after higher-level state restoration.
If the exact Photon/ROUNDS hooks are unavailable, the module fails closed and leaves vanilla disconnect handling unchanged.
Dependencies
BepInExPack_ROUNDSUnboundLib
Local performance settings restore captured Unity values when disabled or unloaded. Multiplayer reliability features require the same compatible package version across the lobby.
CHANGELOG
Changelog
0.3.1
- Added explicit warm-receipt admission diagnostics for host, no-room, no-owned-player, stale-receipt and narrower invalid-state cases.
- Added one privacy-safe log entry when the first fresh, room-bound, locally owned non-host receipt arms.
- Added three exact session-transition guards for the live RWF disconnect cascade: sprite-layer initialization, orphaned RWF spotlight UI and ModdingUtils cleanup of an already-destroyed Player.
- Extended the exact
ProjectileHit.RPCA_DoHitfail-closed guard toviewID == 0and the audited indexed map-collider path. Valid resolved targets and the exact targetless sentinel pair remain vanilla; missing, invalid or throwing runtime targets receive best-effort vanillaDestroyMecleanup before the unsafe RPC is suppressed.
0.3.0
Session Reliability
- Upgraded bounded disconnect records to
reksik-session-reliability-v2. - Added explicit Photon probe health/issues, room-capacity state, compatibility inventory, recent samples and recent error fingerprints to diagnostics.
- Kept diagnostics privacy-minimized: no player names, raw room names, addresses, authentication data, raw exception messages, stack traces or filesystem paths.
- Retained fixed in-memory queues and five-file / 2 MiB-per-file default disk bounds.
- Added exact-contract, fail-closed counters and menu status for six audited reliability guards.
Experimental rejoin
- Tightened automatic attempts to previously observed non-host room context and the exact recoverable causes
Exception,ServerTimeoutandClientTimeout. - Required a fresh, locally owned, room-bound warm-state receipt before intercepting a recoverable disconnect.
- Kept the transport path bounded to one initial
ReconnectAndRejoincall and one retry, followed by the audited vanillaNetworkRestartfallback. - Added next-
PointStartvalidation of room, player ID, Photon actor, local ownership, finite positive health and exact deck multiset. - Added point-boundary ammo normalization after successful validation.
- Re-armed future receipt capture after a rejected safe-point validation instead of poisoning rejoin for the rest of a long session.
- Continued to reject host migration, arbitrary mid-point restoration and unknown runtime contracts.
Performance and documentation
- Documented the exact built-in profile values and all 28 config entries.
- Documented the actual adaptive T0-T3 particle, emission, trail and light budgets.
- Clarified Performance Improvements compatibility ownership.
- Added honest quick presets, paths, FAQ and manual testing checklists.
0.2.0
- Fixed every settings toggle so the current state remains visibly
[ON]or[OFF]. - Preserved the dark settings theme and synchronized labels with real config values.
- Kept Session Reliability and Squeeze FPS as equal top-level sections.
- Retained fail-closed experimental rejoin and bounded diagnostics.
0.1.0
- Added reversible graphics and frame-pacing profiles, adaptive VFX budgets and metrics.
- Added bounded disconnect diagnostics and fail-closed stale-object guards.
- Added opt-in experimental non-host rejoin.
- Added strict validation and flat Thunderstore packaging.