Wie geht Rising World mit 2 Spielern um, die den gleichen Namen haben

Trello update: We've added some basic phyiscs / gravity for objects and also started working on a proper sky
  • Hallo Leute,

    Hallo red51 ,


    da ich auch jetzt an der Arbeit von neuen Plugins bin, ist mir heute ein interessanter Gedanke gekommen.


    Folgende Situation:


    Ein Spieler mit dem Namen "GoodGamer" (nur als Beispiel) kommt auf ein Server.

    Auf diesem Server gibt es aber bereits ein Spieler der "GoodGamer" heißt.


    Ich weiß, dass die beiden sich mit den UIDs unterscheiden.

    ABER: Es gibt ja auch Serverbefehle, die einen Spielernamen brauchen. (Beispiel: teleport <Player1> <Player2> oder goto <Player>.


    Was würde passieren, wenn der 1. "GoodGamer" den Befehl goto GoodGamer ODER ein Admin schreiben würde teleport GoodGamer GoodGamer?
    Unterscheidet Rising World auch in diesem Punkt beide Spieler? Und wenn ja, wie?

  • Also ich würde Mal darauf tippen das der der als erstes jointe dann teleportiert wird.


    Finde die Frage Ansicht aber auch interessant, selbst wenn es die Probleme wenn, erst gar nicht geben würde, kann es zu Verwechslung kommen.


    Hier wäre evtl ein Zwang der Namensänderung für den zweiten der Joint das richtige. Aber weiter gesponnen, jetzt geht ein anderer lenko auf meinen Server, dann blockiert mich mein eigener Server.


    Hm schön verzwickt;)

  • Ich nutze als Admin den Befehl //tp2 1 um den Spieler an meine Position zu "beamen". (1 ist die Zahl unter Tab, also wer als erste Person auf dem Server war).

    Ich würde freiwillig keinen Namen ausschreiben. :D

    Im Singleplayer funktioniert das Ganze auch ohne Namen.


    Gesetz den Fall,, es gibt wirklich zwei gleichnamige Spieler, wäre ein kurzer Spiel/Hinweis "der Name ist bereits vergeben" sicher hilfreich. Aber wie lenko bereits sagte, wenn ein Spieler sich unbedingt Lenko nennen wollte, müsste er sich auf seinem eigenen Server umbenennen. :thumbdown:Das geht mal gar nicht.

    Das Thema ist wirklich sehr interessant. Möglicherweise vergibt das Spiel beim Joinen auf einem Server, auf dem der Name bereits existiert, eine Zahl hinter dem Namen. Damit bräuchte sich niemand von seinem Lieblingsnamen zu trennen. Aber dann würde vielleicht aus Lenko1 Lenko2 und wer ist dann der richtige, wenn kein Admintag zu sehen ist. :thinking:

  • Hatte ich mal als Antwort von Red bekommen:


    Auf einem Server werden niemals 2x die selben Spieler sein - wenn also "Smoka" online ist und ein weiterer User tritt bei mit demselben Namen, wird er "Smoka (1)" heißen usw.


    MFG

    Smoka

  • Ich hatte über dieses Problem auch schonmal nachgedacht.

    Abhilfe soll bei mir eine Datenbank-Abfrage schaffen. Meine Überlegung ist:


    Will ein Spieler auf den Server, dann wird geprüft, ob der Spielername auf dem Server bereits vorhanden ist. Ist er unter einer abweichenden UUID bereits registriert, gibts nen Kick mit entsprechendem Hinweis, einen anderen Namen zu wählen. Ebenso der Kick, wenn ein unerwünschter Name gewählt wurde. Ist der Name noch nicht vergeben, wird er der UUID des Spielers zugeordnet und so für Andere gesperrt.

  • Grundsätzlich ist es so, wie Smoka geschrieben hat: Wenn ein zweiter Spieler mit dem gleichen Namen connected, wird eine 1 hinten dran gehängt usw. Mit manchen Commands ist es aber trotzdem etwas heikel: Der teleport bzw. goto Befehl kann in solchen Fällen nicht richtig mit dem Spielernamen umgehen... das ist leider noch ein Überbleibsel aus der Zeit, als Spielernamen einmalig waren.

    Das betrifft aber nur die Konsolen-Befehle, alle anderen Befehle, die über den Chat eingegeben werden, werden von Plugins oder Lua-Skripten verarbeitet.


    Die neue Version kann mit sowas bereits besser umgehen, aber ich versuche, diese Änderungen auch noch in die alte Version einzupflegen.


    Wenn man übrigens nicht möchte, dass Spieler bestimmte Namen benutzen (zB den Namen des Admins), dann kann man diese Namen auf seinem Server reservieren. Dazu muss in der "server.properties" Datei der Wert settings_reserved_names auf true geändert und eine Datei reservednames im Serververzeichnis angelegt werden (das kann ruhig eine einfache Textdatei sein). Nun kann pro Zeile ein Name sowie eine UID eingetragen werden (getrennt mit :, ohne Leerzeichen dazwischen) - das bedeutet dann, dass dieser Name nur vom Spieler mit dieser UID benutzt werden kann, zB:

    Code
    red51:76561197970685866
    nobody:76561197570685000
    admin:12345


    Wenn keine UID angegeben wird, also nur der Name, wird dieser Name effektiv geblacklisted (d.h. niemand kann diesen Namen benutzen).


    Dieses Feature ist schon etwas angestaubt, sollte aber eigentlich funktionieren :thinking:

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!