Skip to content

docs(login-plugin-integration): name the packet-level conflict and the Spigot ordering - #174

Merged
minekube-ai-engineer[bot] merged 1 commit into
mainfrom
docs/login-plugin-packet-ordering
Sep 28, 2026
Merged

minekube-ai-engineer[bot] merged 1 commit into
mainfrom
docs/login-plugin-packet-ordering

Conversation

@minekube-ai-engineer

Copy link
Copy Markdown

Docs-only companion to minekube/connect#176, which lands the same two facts on the public page
(guide/login-plugin-integration.md + guide/login-plugins.md there). The public page states the two
copies are kept in step ("Change one, change the other"), and this copy is the one plugin authors read
in the connector repository, so it carries the same contract.

Verification behind the wording (cards t_cd42bbf7 / t_25fd50e8): live pipeline dump + a control/cancel
pair on Paper 26.3-49 with connect-spigot 0.15.15 and packetevents 2.14.0, differing only by a cancel
flag. PacketEvents' decoder sits upstream of connect-spigot's connect_data_handler
(SpigotDataAddon.onInject(), inserted before packet_handler), and cancelling a server-bound packet
clears the frame buffer, so the connector's data handler never receives the login start packet, its own
login path never runs, and the login stays pending until the server's own login timeout drops the
player with a cause-blind Took too long to log in.

What changes

One bullet added to Checking a login plugin for compatibility: a plugin that hooks the login
packet and runs its own authentication handshake conflicts with Connect, the re-assert cannot help
(it restores a decision, and there is no decision to restore), the connector's own login is triggered
by the login start packet arriving at its data handler while a packet-level listener observes that
packet first, and the stall is ended only by the backend's login timeout.

Docs only — no code, no config, no version bump. docs: does not cut a release.

minekube-ai-engineer Bot added a commit to minekube/connect that referenced this pull request Sep 28, 2026
… Spigot packet ordering (#176)

Docs-only accuracy upgrade to two statements from the live spigot login-floor verification, landed
before the (manual, authorization-gated) docs deploy so the first deploy carries the corrected wording
instead of needing a second cycle.

Evidence: card t_cd42bbf7 (docs handover) / t_25fd50e8 (verification) - Paper 26.3-49 + connect-spigot
0.15.15 + packetevents 2.14.0, disposable pod, control/cancel pair differing only by a cancel flag,
pipeline dump included.

- guide/login-plugins.md: the packet-level row no longer says "no kick message and nothing in the
  server log"; the measured stall is bounded by the backend's own login timeout and surfaces as a
  cause-blind "Took too long to log in". A new paragraph keeps the bound honest (that timeout belongs
  to the backend; it only exists while the handshake reaches the server - the swallow-half case is
  stated as a conditional and is NOT asserted as measured).
- guide/login-plugin-integration.md: adds the ordering fact behind the row - the connector completes
  its own login only when its data handler receives the login start packet, a packet-level listener
  runs upstream of that handler, and a re-assert cannot help because there is no login decision to
  restore.
- .web/scripts/check-docs.mjs: every new sentence guard-pinned, plus a retired-phrasing assertion so
  "nothing in the server log" cannot return. Mutation matrix: 12 mutations, 11 CAUGHT, 1 SURVIVED
  (H1 retitle, equivalent-on-corpus), 0 no-ops.

Local CI parity on the PR head: yarn 4.17.1 install --immutable + check-docs GREEN + build green
(check-llms passed). Companion: minekube/connect-java#174 mirrors the two facts into the
connector-repository copy.

Merge is NOT a deploy: connect.minekube.com still 404s /guide/login-plugin-integration.md and still
lacks the packet-level row until t_c4b9534b's Worker deploy runs (needs a Cloudflare credential and
Robin's authorization). Post-deploy markers for the sentences added here are on that card.
@minekube-ai-engineer
minekube-ai-engineer Bot merged commit 2394fb3 into main Sep 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants