{"record":{"id":"760820a8ab5e5f39","repo":"Pumpkin-MC/Pumpkin","slug":"failed-to-make-offline-uuid","errorCode":null,"errorMessage":"Failed to make offline UUID","messagePattern":"Failed to make offline UUID","errorType":"exception","errorClass":"BungeeCordError","httpStatus":null,"severity":"error","filePath":"crates/pumpkin/src/net/proxy/bungeecord.rs","lineNumber":23,"sourceCode":"use thiserror::Error;\nuse tracing::warn;\n\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","sourceCodeStart":5,"sourceCodeEnd":41,"githubUrl":"https://github.com/Pumpkin-MC/Pumpkin/blob/8d4639e25a57c15e47448ec327c780d41bbf2356/crates/pumpkin/src/net/proxy/bungeecord.rs#L5-L41","documentation":"BungeeCordError sentinel raised while reconstructing the player's offline-mode UUID from the forwarded profile data. The offline_uuid derivation failed for the forwarded player name — the input at fault is the player name string carried in the BungeeCord forwarding data (e.g. empty or invalid for offline UUID computation).","triggerScenarios":"Thrown at crates/pumpkin/src/net/proxy/bungeecord.rs:23 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reject the connection","Validate the player name characters before UUID derivation","Log the failure at debug 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"}