• Bitte beachte, dass wir eine Serverliste sind!
    Wenn du ein Problem auf einem Server hast (z.B. Entbannantrag, etc), dann ist das Forum hier der falsche Ort.
  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

UUIDs Falsch

BuildingDave

Braumeister
Registriert
5 Juli 2012
Beiträge
333
Diamanten
5
Minecraft
BuildingDave
Hallo an alle.

Werde mich bei der Person, die das Problem löst gerne erkenntlich zeigen...

Stand:
22 Minecraft-Server sind über 1 BungeeCord miteinander verbunden.
IP-forward ist true
Bungee ist überall auf true
Wir nutzen die aktuellste Spigot 1.8.7 und die neuste Version von BungeeCord
Das Problem besteht allerdings schon etwas länger - hat also vermutlich nichts mit den Versionen zu tun.


Folgendes Problem:
Die User werden NICHT IMMER mit den richtigen UUIDs angezeigt.

Wenn ein User seit Restart des Servers offline ist, wird nur seine Offline-UUID angezeigt.
Wenn er online kommt, wird seine Online-UUID angezeigt, aber NUR auf den Servern, auf denen er schon online war.
Wenn er offline geht wird die Online-UUID auf den Servern angezeigt, auf denen er war bis diese restarten.
In den lokalen Spielerdateien werden NUR die Online-UUIDs angezeigt.
Die UUID wird über PEX abgerufen - PEX läuft über eine Datenbank und ist bereits 2,5 Jahre im Einsatz.
Wenn man jemandem per /msg von einem Server schreibt auf dem er noch nicht war wird er als GAST angezeigt, da seine Offline-UUID genutzt wird.

EDIT:

Zum besseren Verständnis für SpiritWalker und andere die diesen Umstand nicht verstehen:
Es gibt User. User sind Minecraft spielende Personen die meinen Server besuchen um dort Ihre Zeit zu verbringen. User können den Minecraftserver joinen und sind dann online - wenn Sie keine Lust mehr haben verlassen Sie den Server und sind dann offline. Das zur Definition User, online und offline.
Jetzt habe ich Server a1, b2, c3 und d4. Der User joint auf a1 und ist damit auf a1 und im Bungee online. Er wechselt auf b2, Ist dann auf a1 offline, war heute dort aber schon einmal online. Wenn ich JETZT die UUID des Spielers abfrage wird auf a1 und b2 die "richtige" UUID des User angezeigt. Auf Server c3 und d4 wird nach wie vor die "fasche", also die offline UUID angezeigt. Sobald die Server und der Proxy (Bungee) restartet wurden wird der User auf allen Servern mit der offline UUID angezeigt. Ich hoffe mit dieser Beschreibung Licht ins Dunkel gebracht zu haben.

Sollten noch Fragen aufkommen editiere ich die Antwort hier hinzu.

Danke an alle die sich den Kopf zerbrechen.
Ich persönlich vermute den Fehler bei PEX in einer der neueren Versionen, finde ihn jedoch nicht.
EDIT: Bei Pex liegt der Fehler eher nicht, denn man kann teilweise die Spieler nicht in eine Whitelist eintragen wenn sie noch nicht online waren!

Gruß
Dave
 
Zuletzt bearbeitet:

JTK222

Threadripper
Registriert
5 September 2013
Beiträge
1.150
Diamanten
323
Minecraft
JTK222
Was meinst du mit Offline- und Online-UUID? Der Witz an einer UUID ist ja, dass sie universell einzigartig ist, demnach sollte es nicht zwei Stück pro Spieler geben.
Doch gibt es eine Online UUID für nicht Cracked server und eine Offline UUID für Cracked.
Der unterschied ist das auf Offline servern immer mit der Offline UUID gearbeitet wird.
Bungee cord senden die Online UUID vom Hauptserver jedoch auch zu den anderen Servern eines Netzwerks Wodurch auch Skins geladen werden können usw.
 

ShareLock

Kuhfänger
Registriert
2 November 2011
Beiträge
66
Alter
58
Diamanten
0
Inwiefern werden diese falsch angezeigt? Wer greift darauf denn zu? Sollte Spigot die falsche UUID 'berechnen' könnte es sich um einen falschen Zugriff handeln und daher ein Fehler in Spigot / Bungeecord sein.

@JTK222 Das ist falsch. Es gibt nur eine UUID und diese ist die UUID, welche nur von Servern im Online-Modus verwendet werden kann. 'UUID's von Offline Servern sind eine eindeutige Identifizierung aufgrund des Spielernamens [Diese werden von Bukkit generiert] und dienen lediglich als Ersatz für die eigentliche UUID. Der Skin kann deswegen schon allein nicht geladen werden, da die UUID unwarscheinlich auf einen legal erworbenen Account verweist.
 

JTK222

Threadripper
Registriert
5 September 2013
Beiträge
1.150
Diamanten
323
Minecraft
JTK222
@JTK222 Das ist falsch. Es gibt nur eine UUID und diese ist die UUID, welche nur von Servern im Online-Modus verwendet werden kann. 'UUID's von Offline Servern sind eine eindeutige Identifizierung aufgrund des Spielernamens [Diese werden von Bukkit generiert] und dienen lediglich als Ersatz für die eigentliche UUID. Der Skin kann deswegen schon allein nicht geladen werden, da die UUID unwarscheinlich auf einen legal erworbenen Account verweist.
Was ist jetzt falsch an meiner Aussage? Bungee Cord kann die Online UUID an andere Server im Netzwerk senden weil die meisten großen Server MYSQL nutzen und die daten mit online UUID gespeichert wird.....
Und Mojang hat es so geregelt dass eine Offline UUID (fast) nicht mit einer online UUID übereinstimmen kann.
Das Feature wurde von Mojang eingebaut nicht von Bukkit.
 
Zuletzt bearbeitet:

Inkemann

Braumeister
Registriert
3 Mai 2015
Beiträge
339
Diamanten
301
Minecraft
Inkemann
Und Mojang hat es so geregelt dass eine Offline UUID nicht mit einer online UUID übereinstimmen kann.
Das Feature wurde von Mojang eingebaut nicht von Bukkit.

Das stimmt so überhaupt gar nicht. Die Offline UUID ist ja nur ein Konzept um die API mit irgendetwas füttern zu können. In der Theorie können sie deswegen auch übereinstimmen.
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Eine UUID muss nicht zufällig sein. Es wäre durchaus möglich beispielsweise das erste Bit zur Unterscheidung von Online/Offline zu verwenden um Kollisionen für immer zu vermeiden. Das aber nur am Rande. Die UUID im Offlinemode wird mittels md5 und ein bisschen Byteschieben realisiert: https://www.spigotmc.org/threads/offline-mode-uuid-vs-php.19624/#post-208143 Ob das absichtlich getan wird um kollisionen zu vermeiden weiß ich trozdem nicht. Wenn jemand langeweile hat kann er sichd as gerne mal ansehen. Für den eigentlichen Thread ist es aber ohnehin scheißegal und Offtopic.

Die Frage ist wesshalb der Server dieses Verhalten zeigt. Leider kann ich deiner Problembeschreibung nicht mal folgen. Du scheinst eine Kombination von Offline und Onlinemode zu verwenden. Ich habe keine Ahnung was da auf Protokollebene passiert, damit das Funktioniert. Was ich auch nicht verstehe ist, wie es überhaupt sein kann, dass ein User einmal "Offline" und dann "Online" ist. Was ist für dich ein User? Eine Person? Ein Nickname? Wieso sollte ein Onlineuser plötzlich offline spielen?

Soweit ich das verstehe funktionieren diese Systeme so: User verbindet sich und sendet Nickname. Server prüft ob der Nickname einem Minecraftnutzer gehört. Ist der Nickname bei Mojang bekannt wird ein Onlinemode Handshake durchgeführt, andernfalls ein Offlinehandshake und der Nutzer wird danach zum Login mittels Passwort aufgefordert. Mit dem UUID Quatsch wird sich da aber vielleicht auch was geändert haben, keine Ahnung.
 

ShareLock

Kuhfänger
Registriert
2 November 2011
Beiträge
66
Alter
58
Diamanten
0
Was ist jetzt falsch an meiner Aussage? Bungee Cord kann die Online UUID an andere Server im Netzwerk senden weil die meisten großen Server MYSQL nutzen und die daten mit online UUID gespeichert wird.....
RETARD ALERT
Man braucht also MySQL für Bungeecord? Ja sicher.

Und Mojang hat es so geregelt dass eine Offline UUID nicht mit einer online UUID übereinstimmen kann.
Das ist nonsense. Es geht darum, dass diese eindeutig sind. Spielername -> UUID. Das dies natürlich nicht auf den aktuellen Spieler dann zeigen kann ist klar. Schließlich wäre es dann weiterhin nicht möglich sich umzubenennen.

Das Feature wurde von Mojang eingebaut nicht von Bukkit.
Davon mal abgsehen, dass Mojang laut offiziellen aussagen im Besitz von Bukkit ist, ist das eine Haarspalterei. Die entscheidendere und Themen-relevante aussage bezieht sich auf die eigentliche Implementierung von (Craft-)Bukkit, nicht vanilla.

Wenn wir dann mal wieder zum Thema zurück kommen könnten...
 

BuildingDave

Braumeister
Registriert
5 Juli 2012
Beiträge
333
Diamanten
5
Minecraft
BuildingDave
In der Pex Datenbank stehen die richtigen drin und in den Weltenordner auch - immer die richtige UUID. Ich versteh den Mist ja selbst nicht was da passiert ^^ Es ist jetzt aber seit 4 Monaten so und ich finde einfach selbst keine Lösung. Deshalb ja auch der Hilfegesuch...
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Tritt das Problem nur bei /msg auf? Oder auch an anderen Stellen? Pex scheint ja zu funktionieren, da die DB ja laut deiner Aussage korrekt funktioniert. Wenn es nur bei msgs auftritt: Welches Plugin nutzt du für diese? Und wie genau meinst du "als Gast angezeigt"? Wird der User mit dem Rang " Gast" angezeigt oder eher "Gast -> me" als Platzhalter für unbekannter User?
 

BuildingDave

Braumeister
Registriert
5 Juli 2012
Beiträge
333
Diamanten
5
Minecraft
BuildingDave
Inkemann - kein Fehler in der Konsole.
Als Chatplugin nutzen wir aktuell noch SimpleChat. Allerdings liegt es nicht nur am Chat-Plugin. Auch wenn ich mit Worldguard Regionen abrufe gibt es damit Probleme. Und wenn ich mit Pex /pex user NAME mache steht dort dann auch die falsche UUID - aber in der Datenbank ist die richtige hinterlegt.
 
M

montbit

Guest
Hiho,
Sind folgende Parameter so eingestellt?
BungeCord: config.yml - onlinemode = true | Zentraler Ort für Premium Einstellung
Alle vernetzte Server:
- server.properties : onlinemode = false | Bungee hat den Spieler ja schon geprüft
- spigot.yml : bungeecord = true | Dies verhindert das direkte joinen auf den Server, hat aber auch Auswirkungen auf on/offline UUID

Sind überall die Parameter richtig gesetzt? Ich bekomme mit /pex user [name] überall und jederzeit die Online-UUID.
 
D

deleted122316

Guest
Kann ja immer mal passieren, dass mann eine Einstellung geändert hat oder jemand anders eventuell.
Wie ich es verstanden habe liest PEX nur die UUID falsch aus, jedoch steht die richtig in der DB oder?
 
Oben