Summary
On dedicated servers, reload fuel consumption is authority-gated but currently only runs fully on the local controller, which can allow free reloads in rare MP scenarios. Singleplayer and co-op listen servers work correctly.
Location
DoReload() — Source/LaserRifleMod/Private/LaserRifleWeapon.cpp (the HasAuthority() branch that consumes one fuel item from inventory).
Proposed fix
Route fuel consumption through a Server RPC so the server authoritatively removes the fuel item and replicates the result, instead of relying on the local controller having authority. Ensure the client charge/portion HUD reconciles with the server outcome.
Acceptance
- On a dedicated server, reloading consumes exactly one fuel item server-side; no free reloads.
- HUD (charge / portions / spare) stays consistent with server state.
[LR] fuel diagnostics show the authoritative consume path.
Currently documented as a known limitation in the ficsit description.
Summary
On dedicated servers, reload fuel consumption is authority-gated but currently only runs fully on the local controller, which can allow free reloads in rare MP scenarios. Singleplayer and co-op listen servers work correctly.
Location
DoReload()—Source/LaserRifleMod/Private/LaserRifleWeapon.cpp(theHasAuthority()branch that consumes one fuel item from inventory).Proposed fix
Route fuel consumption through a Server RPC so the server authoritatively removes the fuel item and replicates the result, instead of relying on the local controller having authority. Ensure the client charge/portion HUD reconciles with the server outcome.
Acceptance
[LR]fuel diagnostics show the authoritative consume path.Currently documented as a known limitation in the ficsit description.