{"record":{"id":"be8eab8d1182c226","repo":"Pumpkin-MC/Pumpkin","slug":"no-bungeeguard-token-in-forwarded-data","errorCode":null,"errorMessage":"No BungeeGuard token in forwarded data","messagePattern":"No BungeeGuard token in forwarded data","errorType":"exception","errorClass":"BungeeCordError","httpStatus":null,"severity":"error","filePath":"crates/pumpkin/src/net/proxy/bungeecord.rs","lineNumber":25,"sourceCode":"\nuse crate::net::{GameProfile, offline_uuid};\nuse pumpkin_protocol::Property;\n\n/// The property name the `BungeeGuard` plugin uses to forward its shared\n/// secret inside the profile properties.\nconst BUNGEEGUARD_TOKEN_PROPERTY: &str = \"bungeeguard-token\";\n\n#[derive(Error, Debug)]\npub enum BungeeCordError {\n    #[error(\"Failed to parse address\")]\n    FailedParseAddress,\n    #[error(\"Failed to parse UUID\")]\n    FailedParseUUID,\n    #[error(\"Failed to parse properties\")]\n    FailedParseProperties,\n    #[error(\"Failed to make offline UUID\")]\n    FailedMakeOfflineUUID,\n    #[error(\"No BungeeGuard token in forwarded data\")]\n    MissingToken,\n    #[error(\"Invalid BungeeGuard token\")]\n    InvalidToken,\n}\n\n/// Attempts to login a player via `BungeeCord`.\n///\n/// This function should be called when receiving the `SLoginStart` packet.\n/// It utilizes the `server_address` received in the `SHandShake` packet,\n/// which may contain optional data about the client:\n///\n/// 1. IP address (if `ip_forward` is enabled on the `BungeeCord` server)\n/// 2. UUID (if `ip_forward` is enabled on the `BungeeCord` server)\n/// 3. Game profile properties (if `ip_forward` and `online_mode` are enabled on the `BungeeCord` server)\n///\n/// If a `secret` is configured, the properties must contain a property named\n/// `bungeeguard-token` holding the secret, as injected by the `BungeeGuard`\n/// plugin. The token property is stripped from the profile, and a missing or","sourceCodeStart":7,"sourceCodeEnd":43,"githubUrl":"https://github.com/Pumpkin-MC/Pumpkin/blob/8d4639e25a57c15e47448ec327c780d41bbf2356/crates/pumpkin/src/net/proxy/bungeecord.rs#L7-L43","documentation":"BungeeCordError variant thrown when BungeeGuard forwarding is required but no 'bungeeguard-token' property is present in the forwarded profile properties — the connection did not come through a properly configured BungeeGuard proxy.","triggerScenarios":"Thrown at crates/pumpkin/src/net/proxy/bungeecord.rs:25 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reject the connection as unauthenticated","Configure BungeeGuard on the proxy and matching token on the backend","Log the missing token at warn level"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8d4639e25a57c15e47448ec327c780d41bbf2356","analyzedAt":"2026-09-09T15:32:22.916Z","contentChangedAt":"2026-09-09T15:32:22.916Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}