feat(spigot): extended event logging framework - #25
Open
shiftySenpai wants to merge 21 commits into
Open
Conversation
Extract buildHecEnvelope() helper in SingleSplunkConnection using gson
(already a shared-mc dependency) instead of the unmaintained json-simple
1.1 library. Wire format is unchanged: {"event": <message>}. Adds unit
tests covering basic wrapping and quote escaping, and removes the
json-simple dependency from shared-mc/pom.xml and the parent pom's
dependencyManagement.
…'d deps Adds per-platform MC-version Maven profiles (spigot: 1.21.1 default plus 1.20.1/1.20.4/1.20.6), a shade-plugin build producing logtosplunk-<mc.version>-<loader>-<loader.version>.jar per module, and marks server-provided deps (log4j, spigot-api) as provided scope so they aren't shaded into the plugin jar. Pins kotlin-stdlib to 2.0.21 to clear CVE-2026-53914 pulled in transitively via splunk-library-javalogging -> okhttp3 -> kotlin-stdlib:1.6.20. Tunes the OWASP dependency-check plugin to skip provided-scope CVEs (server operator's responsibility) and not fail on Sonatype OSS Index 401s (paid-only), while still enforcing the CVSS 7.0 gate.
… + location-less event ctor
…ments writeup Adds repo-convention javadoc to all new/modified classes from the extended-logging feature (combat/item/progression/server/performance/session-detail), explaining the non-obvious bits: throttle rationale, ENABLE_* toggle gating, Paper-only API gaps (TPS/MSPT/protocol-version), and why combat kills don't duplicate DeathEventLogger. Adds a PR description and a comprehensive enhancements writeup for review.
This was referenced Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Split out of #23 (extended-logging slice). Stacked on #24 (build/deps) — this branch includes #24's commits, so the diff below will look large until #24 merges, after which GitHub will automatically shrink it to just this PR's commits.
EventThrottlehelper, and per-category enable toggles onAbstractEventLogger.CombatEventLogger,ItemEventLogger,ProgressionEventLogger,ScheduledMetricLogger/PerformanceSampler/ServerEventLogger), teleport/gamemode/bed/world-change/login session detail, and registers them all gated bysplunk.craft.enable.*toggles.splunk.properties.DeathEventLogger).Note: the original commit here also added
docs/ENHANCEMENTS-2026-06-22.mdand a PR-description doc for the old monolithic #23 — both dropped from this split since they describe scope that's now spread across 5 PRs.Test plan
mvn clean package(not verified in this environment — no local Maven install; please build-check before merging)Part of the #23 split.