Pumpkin-MC/Pumpkin · error · BungeeCordError

Failed to parse UUID

Error message

Failed to parse UUID

What it means

BungeeCordError sentinel from BungeeCord IP-forwarding parsing: the UUID field of the forwarded player profile could not be parsed. The faulty input is the UUID string sent by the BungeeCord proxy in its handshake data — malformed, empty, or in an unexpected format, generally due to a misconfigured or incompatible proxy.

Solutions

  1. Reject the connection
  2. Ensure the forwarding string has the correct field order (IP|port|UUID|properties)
  3. Log the invalid UUID at debug level
Defensive patterns

Strategy: validation

When it happens

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

Common situations: See trigger scenarios.

Understand the failure class


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

Appendix: source

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

use arc_swap::ArcSwap;
use sha2::{Digest, Sha256};
use std::sync::Arc;
use std::{net::IpAddr, net::SocketAddr};
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)

View on GitHub (pinned to 8d4639e25a)