From 79d8d291a2de33227564e3d2045e1d5b9e522a29 Mon Sep 17 00:00:00 2001 From: Hendrik Brombeer Date: Wed, 6 May 2026 23:21:30 +0200 Subject: [PATCH] fix(paper,paper-gamemode): authenticate against Mojang directly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both images shipped with online-mode=false + Velocity-modern- forwarding enabled — a config that only makes sense behind a Velocity proxy that does the auth and signs the player profile. There's no Velocity in the architecture: mc-router handles fan-out via raw TCP/SNI relay, no protocol-level auth. So Paper saw the client directly, computed an offline-mode UUID via nameUUIDFromBytes("OfflinePlayer:"), and that didn't match the Mojang-resolved UUID we whitelisted. Players got "You are not whitelisted on this server!" even though they were in the list. Flip both images to authenticate directly: - server.properties online-mode=true - paper-global.yml proxies.velocity.enabled=false If we later add Velocity for hub/queue/cross-server features, revisit — modern forwarding wants this exact reverse pair. --- paper-gamemode/config/paper-global.yml | 2 +- paper-gamemode/config/server.properties | 2 +- paper/config/paper-global.yml | 2 +- paper/config/server.properties | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/paper-gamemode/config/paper-global.yml b/paper-gamemode/config/paper-global.yml index bbc862f..e15ea50 100644 --- a/paper-gamemode/config/paper-global.yml +++ b/paper-gamemode/config/paper-global.yml @@ -113,7 +113,7 @@ proxies: online-mode: true proxy-protocol: false velocity: - enabled: true # grounds: change to true + enabled: false online-mode: true secret: '' scoreboards: diff --git a/paper-gamemode/config/server.properties b/paper-gamemode/config/server.properties index 4386d1b..3d6c901 100644 --- a/paper-gamemode/config/server.properties +++ b/paper-gamemode/config/server.properties @@ -41,7 +41,7 @@ max-tick-time=60000 max-world-size=29999984 motd=A Minecraft Server network-compression-threshold=256 -online-mode=false # grounds: change to false +online-mode=true op-permission-level=4 pause-when-empty-seconds=-1 player-idle-timeout=0 diff --git a/paper/config/paper-global.yml b/paper/config/paper-global.yml index bbc862f..e15ea50 100644 --- a/paper/config/paper-global.yml +++ b/paper/config/paper-global.yml @@ -113,7 +113,7 @@ proxies: online-mode: true proxy-protocol: false velocity: - enabled: true # grounds: change to true + enabled: false online-mode: true secret: '' scoreboards: diff --git a/paper/config/server.properties b/paper/config/server.properties index 4386d1b..3d6c901 100644 --- a/paper/config/server.properties +++ b/paper/config/server.properties @@ -41,7 +41,7 @@ max-tick-time=60000 max-world-size=29999984 motd=A Minecraft Server network-compression-threshold=256 -online-mode=false # grounds: change to false +online-mode=true op-permission-level=4 pause-when-empty-seconds=-1 player-idle-timeout=0