Summary
Pub/sub event bus for mod developers. Subscribe to game events in one line — server-to-client replication built in. Custom events let mods talk to each other.
Description
LES is a lightweight publish/subscribe event system for Arma Reforger mod developers.
WHY
Reacting to game events normally means modding SCR_BaseGameMode, wiring Insert/Remove by hand, and writing your own RPC transport to get events to clients. Every mod repeats this boilerplate, and mods have no way to talk to each other.
LES does the wiring once. Subscribe in one line and receive the event on the server AND on every client — replication is already handled:
LES_EventBus.GetInstance().GetInvoker(LES_EEventType.PLAYER_KILLED).Insert(OnKill);
BUILT-IN EVENTS
- PLAYER_KILLED (killer + victim IDs)
- PLAYER_CONNECTED / PLAYER_DISCONNECTED (with cause tag)
- VEHICLE_DESTROYED (killer ID + vehicle prefab name)
All replicated to clients via reliable RPC. Any event can be kept server-side with a single flag.
CUSTOM EVENTS
Mods can register their own events and other mods can subscribe to them by name — no code dependency between them. Payloads carry IDs, a context string, replicated string tags, and server-only user data.
ZERO SETUP
No World Editor configuration. Load the mod, look for [LES] Initialised in the log, done.
OPEN SOURCE APL-SA licensed source, docs, and worked examples (kill feed, custom events):
https://github.com/US3RN2ME/LES
License
Arma Public License Share Alike (APL-SA)