Companion
A Windows tray application watches Foxhole save files. It uploads only supported changed files, signs every request, links the local user to Discord, reports its installed version, and handles application updates.
Platform
Foxpile is composed of three cooperating applications.
A Windows tray application watches Foxhole save files. It uploads only supported changed files, signs every request, links the local user to Discord, reports its installed version, and handles application updates.
The NestJS API validates uploads, parses save data, enriches map and faction information, stores relational MariaDB data, serves OAuth resources, records quantity history, and publishes filtered SSE events.
The bot consumes the trusted SSE stream, applies guild access and route filters, buffers each event type for 25 seconds, then sends grouped notifications with PinMaps and paginated details.
Foxhole save
-> Companion hash + HMAC upload
-> API validation and parsing
-> transactional MariaDB merge + history
-> committed SSE event
-> Discord buffer, filters, PinMaps and notification
Stockpile updates are serialized per map and aggregate updates execute in InnoDB transactions. The current state and its history entries commit together, so readers only observe complete updates.