verify pass: resolve VERIFY flags (corrections + citations + honest UNCONFIRMED)
Corrected real errors: several 1.7.x release dates, resource_pack_send version, config packet ordering, structured-component count (56), PLAYER_LOADED (1.21.4), entity_sound_effect field order. Confirmed+cited the rest; remaining ~19 items re-marked UNCONFIRMED (third-party/ViaLegacy/26.2 internals unreachable from refs). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+5
-5
@@ -91,9 +91,9 @@ Forge appends a NUL-delimited marker to signal that the connecting client has Fo
|
||||
|
||||
| Era | Marker (literal) | Forge versions |
|
||||
|-----|-----------------|----------------|
|
||||
| FML (1.7–1.12.2) | `\0FML\0` | Forge for MC 1.7.x – 1.12.x |
|
||||
| FML2 (1.13+) | `\0FML2\0` | Forge for MC 1.13 – 1.19.x <!-- VERIFY: exact cutoff --> |
|
||||
| FML3 (Forge 36+) | `\0FML3\0` | NeoForge / recent Forge <!-- VERIFY: exact version range --> |
|
||||
| FML / Legacy (1.7–1.12.2) | `\0FML\0` | Forge for MC 1.7.x – 1.12.x |
|
||||
| FML2 (1.13+) | `\0FML2\0` | Forge for MC 1.13+ <!-- UNCONFIRMED: "\0FML2\0" token name comes from Forge internals; neither BungeeCord nor Velocity source in /tmp/mcproto-refs uses or defines this string. Velocity notes "1.13+ uses a slightly different token" (HandshakeSessionHandler.java:176) but does not handle it. --> |
|
||||
| Modern (1.20.2+) | `\0FORGE` or `\0FORGEn` | NeoForge / Forge 1.20.2+ <!-- UNCONFIRMED: version number suffix `n` observed in Velocity ModernForgeConnectionType.getModernToken(); exact token for NeoForge-only (FML3) not confirmed from available sources. Velocity ModernForgeConstants.java defines MODERN_FORGE_TOKEN = "FORGE" and gates it on protocol ≥ 1.20.2 (HandshakeSessionHandler.java:166–167). --> |
|
||||
|
||||
BungeeCord source defines only `\0FML\0` as `FML_HANDSHAKE_TOKEN` (`ForgeConstants.java:20`). The comment in `InitialHandler.java:351-354` reads:
|
||||
|
||||
@@ -176,7 +176,7 @@ Backend servers (e.g. Paper with `settings.bungeecord: true`) re-parse this fiel
|
||||
}
|
||||
```
|
||||
|
||||
This means: **with BungeeCord ip_forward enabled, Forge mod detection via the handshake tag is broken at the backend.** <!-- VERIFY: still true in current BungeeCord HEAD -->
|
||||
This means: **with BungeeCord ip_forward enabled, Forge mod detection via the handshake tag is broken at the backend.** Confirmed in BungeeCord HEAD (commit f56d37f, 2026-06-18): `ServerConnector.java:124–128` still has the `TODO: Add support for this data with IP forwarding` comment and the `else if` branch is unchanged.
|
||||
|
||||
---
|
||||
|
||||
@@ -209,7 +209,7 @@ flowchart LR
|
||||
| 1.7.2 | Handshake packet introduced in this form; fields stable since |
|
||||
| 1.7–1.12.2 | Forge appends `\0FML\0` for modded clients |
|
||||
| 1.8+ | BungeeCord ip_forward writes `host\0ip\0uuid[\0props]` to backends |
|
||||
| 1.13+ | Forge marker changes to `\0FML2\0` <!-- VERIFY --> |
|
||||
| 1.13+ | Forge marker changes to a different token (exact string unconfirmed from proxy sources; see table above) |
|
||||
| 1.20.5 (protocol 766) | Intent value `3` (Transfer) added |
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user