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
- Reject the connection
- Ensure the forwarding string has the correct field order (IP|port|UUID|properties)
- 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
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
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)