This component is responsible for listening to WebSocket events received from the API and preparing the data for use in other components.
This script subscribes to events through Auraxium, which takes care of maintaining the streaming connection and handling disconnects or other API errors.
The events received from the PS2 API are generally too specific for our needs, lack important data and do not match our requirements. They are therefore processed and split up or combined into our own internal event definitions, called "Blips".
These Blips are then inserted into the separate event
schema of the database, which mostly acts as intermediate storage between components. The relevant database tables are replicated via Python data classes in the backend repository, whose definition can be found here.
The listener is currently stable and ready for development use.
PlayerBlip
-- That player is definitely here right nowRelativePlayerBlip
-- These two players are close to each otherPlayerLogout
-- This player logged out and can be purged from the population trackerBaseControl
-- A base has flipped ownership, for any reason (including unlocks or other non-capture events)
- Subscription monitoring
- Check event frequency, detect events going missing
- Dropping and recreating stale subscriptions
- Detecting API downtime and automatically restarting when it becomes available again