Pumpkin-MC/Pumpkin · error · BungeeCordError

Failed to make offline UUID

Error message

Failed to make offline UUID

What it means

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).

Solutions

  1. Reject the connection
  2. Validate the player name characters before UUID derivation
  3. Log the failure at debug level
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/pumpkin/src/net/proxy/bungeecord.rs:23 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Pumpkin-MC/Pumpkin@8d4639e25a (2026-09-09). Data as JSON: /api/errors/760820a8ab5e5f39. Report an issue: GitHub.

Appendix: source

Thrown at crates/pumpkin/src/net/proxy/bungeecord.rs:23

use thiserror::Error;
use tracing::warn;

use crate::net::{GameProfile, offline_uuid};
use pumpkin_protocol::Property;

/// The property name the `BungeeGuard` plugin uses to forward its shared
/// secret inside the profile properties.
const BUNGEEGUARD_TOKEN_PROPERTY: &str = "bungeeguard-token";

#[derive(Error, Debug)]
pub enum BungeeCordError {
    #[error("Failed to parse address")]
    FailedParseAddress,
    #[error("Failed to parse UUID")]
    FailedParseUUID,
    #[error("Failed to parse properties")]
    FailedParseProperties,
    #[error("Failed to make offline UUID")]
    FailedMakeOfflineUUID,
    #[error("No BungeeGuard token in forwarded data")]
    MissingToken,
    #[error("Invalid BungeeGuard token")]
    InvalidToken,
}

/// Attempts to login a player via `BungeeCord`.
///
/// This function should be called when receiving the `SLoginStart` packet.
/// It utilizes the `server_address` received in the `SHandShake` packet,
/// which may contain optional data about the client:
///
/// 1. IP address (if `ip_forward` is enabled on the `BungeeCord` server)
/// 2. UUID (if `ip_forward` is enabled on the `BungeeCord` server)
/// 3. Game profile properties (if `ip_forward` and `online_mode` are enabled on the `BungeeCord` server)
///
/// If a `secret` is configured, the properties must contain a property named

View on GitHub (pinned to 8d4639e25a)