1. 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!

PlugIn Sind UUIDFetcher unperformant

Dieses Thema im Forum "Programmierung" wurde erstellt von GermanDev, 22. November 2016.


  1. GermanDev
    Offline

    GermanDev

    Registriert seit:
    14. September 2015
    Beiträge:
    17
    Geschlecht:
    männlich
    Guten Tag,

    ich schreibe gerade mein Freundesystem neu und möchte nun vollständig auf UUID umsteigen, ich speicher in mysql nur die UUIDs der Spieler und benutze um die aktuellen Namen herauszufinden einen UUIDReader, nun stelle ich mir die Frage ob es unperformant ist, wenn ich das z.B bei einem /friend list Befehl mache und die Namen der UUIDs auslesen möchte.

    Sollte das zu viel performance nehmen, würde mich zudem eine Idee Interessieren, wie ihr das machen würdet

    Mit freundlichen Grüßen

    Fabi | GermanDev
     
  2. TheSimufreak
    Offline

    TheSimufreak

    Registriert seit:
    28. Juni 2012
    Beiträge:
    78
    Wenn du einen Namen mit dem Fetcher ausliest, kannst du ihn bis zum nächsten Server-Neustart zwischenspeichern (also puffern). So musst du nicht jedes mal wenn du zu einer UUID den Namen wissen willst was übers Netz schicken und hast (in den meisten Fällen) den aktullen Namen parat. Dafür würde sich z.B. eine HashMap anbieten.
     
  3. Baba43
    Offline

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    654
    Das ist eine gute Frage und ich weiß aktuell gar nicht, wie Bukkit/Spigot das handhaben, aber wir haben uns ganz am Anfang schon ein eigenes System gebastelt, welches Spielernamen zu UUIDs zuordnet. Ich würde das an deiner Stelle einfach mal ausprobieren. Kann mir nicht vorstellen, dass es keine Lösung gibt, welche die Daten zwischenspeichert.

    Vom "Zwischenspeichern" bis zum Serverneustart halte ich allerdings ziemlich wenig, denn sobald dein Plugin mal mit mehr Spielern arbeiten möchte, als denen, die gerade online sind, hast du in jedem Fall ein Problem, wenn die Namen online aufgelöst werden.
     
    Zuletzt bearbeitet: 22. November 2016
  4. BlackHole
    Offline

    BlackHole

    Registriert seit:
    1. Juli 2012
    Beiträge:
    265
    Geschlecht:
    männlich
    Minecraft:
    BlackHole
    Bei Bukkit kann man Bukkit.getOfflinePlayer(UUID) verwenden und nach einer Null-Prüfung über .getName() den zuletzt bekannten Namen des Spieler heraus bekommen.
     
    • Gefällt mir Gefällt mir x 2
  5. TheSimufreak
    Offline

    TheSimufreak

    Registriert seit:
    28. Juni 2012
    Beiträge:
    78
    Die Idee klingt ziemlich niiiiice. Man bräuchte den Fetcher dann nur wenn man den Namen eines Spielers haben möchte, der noch nie auf dem Server war (Falls das überhaupt im Sinne des Plugins ist)
     
    • Gefällt mir Gefällt mir x 1