dmg 2a2d307f6d
CI / build (push) Successful in 1m11s
CI / build (pull_request) Successful in 1m17s
feat(enforcement): add graduated movement responses
2026-10-29 18:58:14 -04:00

Purpur Sentinel

Passive, explainable movement-pattern observation for Purpur servers.

Sentinel gives permitted operators bounded evidence of suspicious on-foot speed, unauthorized unsupported flight, unsupported boat travel, source-less elytra propulsion, and statistically implausible elytra wear. Elytra analysis correlates server-recognized gliding, equipped-item identity, observed rocket use, external propulsion, altitude conversion, wear opportunities, Unbreaking, Mending/XP repair, and unbreakable items; high speed alone is never evidence. Sentinel does not cancel movement, alter vehicles or items, consume rockets, change flight permissions, or punish players.

Each generated alert is also appended asynchronously as a CloudEvents 1.0 JSON object to plugins/PurpurSentinel/events/YYYY-MM-DD.jsonl. Dates and timestamps use UTC, files retain 30 UTC days, and durable events identify the subject by UUID without display names, coordinates, raw trajectories, inventory contents, IP addresses, or permission state. Queue or disk failures never interrupt detection or gameplay.

Development

Requires Java 25 and Node.js 20.

./gradlew clean check jar

The output JAR is written to build/libs/. Production installation and deployment are separately gated operations.

S
Description
Passive, explainable movement-pattern observation for Purpur
Readme
330 KiB
0 Stars 1 Watchers 0 Forks
v1.5.0
Latest
2026-10-29 23:02:43 +00:00
Languages
Java 89.8%
TypeScript 10%
Shell 0.2%