Einige Fragen zu Regionen...

Dieses Thema im Forum "Server Plugins" wurde erstellt von xS1L3nTx, 21. Januar 2013.

  1. xS1L3nTx
    Offline

    xS1L3nTx

    Registriert seit:
    12. August 2012
    Beiträge:
    31
    Ort:
    Hier und Da und nirgendwo, hauptsache im Universum
    Minecraft:
    xS1L3nTx
    Hallo, ich habe da ein "kleines" Problem...

    - Eine Kleine Überlegung vorweg - (Wenns falsch ist, bitte ich um Korrektur ;) )
    Ich bin gerade dabei ein Tool zu programmieren welches mit Regionen arbeitet und bin zu der folgenden Überlegung gekommen:
    Jedes Plugin (mit Regionen) überprüft ob ein Spieler irgendeine (ob worldguard, oder auch nichtworldguard) Regionen betreten hat, indem jedes mal bei einer Spielerbewegung abgefragt wird wo sich ein Spieler befindet. -> Dies resultiert in einer gewissen Auslastung des Servers.
    Zudem muss ja auch beachtet werden, je mehr regionen es insgesamt gibt, desto mehr Auslastung liegt vor, da durch alle locations aller Regionen gegangen werden muss...

    Der Punkt ist: Je mehr Plugins mit Regionen arbeiten, desto mehr wird manchmal mehrfach abgefragt wo sich ein Spieler befindet und somit auch gleich mehrere Regionslistenabfragen (je Plugin eine/mehrere Regionliste/n) durchgeführt.

    Was wäre also sinnvoller, als das Bukkit eine Art Regionssystem schon von sich aus bereitstellt auf denen alle Plugins Zugriff haben? so das zumindest die Abfragen der Regionen weniger Belastend wirkt, da nicht mehrfach abgefragt werden muss?

    1. Frage: Gibt es eine Art Bukkitnative-Regionserkennung (und ich hab dazu bisher nie was gefunden) oder ist das Wunschdenken und wird sogar niemals implementiert? Wenn ja, Wie?

    2. Frage: Wenn es das nicht von Bukkit aus gibt, Ist es möglich sich ins Worldguard Regionserkennungsystem zu hooken, so das bei jedem mal wenn der Spieler eine Region betritt/verlässt, der name der region an das eigene Plugin übermittelt wird und man dann mit dem eigenen Plugin entsprechende Aktionen ausführen kann (ich meine nicht per flags)? Wenn ja, Wie ?

    3. Frage:
    Gibt es eine Möglichkeit aus Worldguard eine Liste aller Spieler zu bekommen, die sich momentan in einer Region befinden? Wenn ja, Wie?

    4. Frage: Wenn es keinerlei Weg gibt die oberen Fragen mit Ja zu beantworten: Was ist der beste und effizienteste weg um zu ermitteln ob ein Spieler eine Region betritt oder nicht?

    Ich bedanke mich,
    xS1L3nTx
     
    #1
  2. Calenria
    Offline

    Calenria

    Registriert seit:
    28. Juli 2012
    Beiträge:
    387
    Minecraft:
    Calenria
  3. xS1L3nTx
    Offline

    xS1L3nTx

    Registriert seit:
    12. August 2012
    Beiträge:
    31
    Ort:
    Hier und Da und nirgendwo, hauptsache im Universum
    Minecraft:
    xS1L3nTx
    Aber eine Art Listener für Worldguard, der jedesmal darauf reagiert wenn ein Spieler eine Region betritt gibt es nicht?
     
    #3
  4. Calenria
    Offline

    Calenria

    Registriert seit:
    28. Juli 2012
    Beiträge:
    387
    Minecraft:
    Calenria
    Nicht das ich wüsste.

    Du hast zwei Möglichkeiten das zu Checken, entweder bei PlayerMove oder du baust nen Task der alle 3 Sek checkt ob jemand in einer bestimmten Region ist, je nachdem was du machen willst.

    Alternativ baust ein weiteres Event in WorldGuard an was genau das Checkt und ein PlayerEnteredRegionEvent wirft.
     
    #4
  5. TimBone
    Offline

    TimBone

    Einfach mal in der World Guard Api gucken. Es gibt dort ein Event beim Betreten einer Region. Dieses kann man sich mit einer Flag anzeigen lassen (ich glaube entry-notice).
     
    #5
  6. xS1L3nTx
    Offline

    xS1L3nTx

    Registriert seit:
    12. August 2012
    Beiträge:
    31
    Ort:
    Hier und Da und nirgendwo, hauptsache im Universum
    Minecraft:
    xS1L3nTx
    Du meinst Praktisch gesehen: Die Meldung im Chat abfangen und anhand dessen die betretene Region ablesen/ermitteln und entsprechend darauf reagieren?

    Irgendwie klingt mir das sehr Abenteuerlich :eek:
     
    #6
  7. TimBone
    Offline

    TimBone

    Ne -.- Die Api integrieren. Die Nachricht wird nur an Admins gesendet. Dazu müssen diese online sein, d.h. Einfach viel zu kompliziziert die Nachricht abzufangen.
     
    #7
  8. Catzoteles
    Offline

    Catzoteles

    Registriert seit:
    14. Januar 2013
    Beiträge:
    74
    Ort:
    Oberbayern, Voralpenland
    Minecraft:
    Catzoteles
    Warum kompliziert, wenn´s einfach auch geht? o_O

    Wenn du Worlddurad verwendest, hast du Möglichkeit über Notify-Flags schon...
    notify-enter Sends a message to players with the worldguard.notify permission when a player enters a region.
    notify-leave Sends a message to players with the worldguard.notify permission when a player leaves a region.

    Funktioniert wunderbar, wir nutzen es um bestimmte Grundstücke zu "überwachen".
    Jedes Mal wenn jemand (egal wer) eine dieser Regionen betritt, bekommen alle Teammitglieder mit entsprechender Permission (Owner, Admin, Mod) die online sind eine entsprechende Meldung im Chat.

    "Player XY entered/left notified region NAME"

    Den grundlegenden Sinn deines Tools hab ich nicht ganz verstanden... :ugly:
    Wozu willst du permanent wissen, welcher Spieler welche Region betritt? Versieh einfach die wichtigen Regions mit einer Flag und gut is ;)

    Zu 2: Welche Aktionen willst du ausführen?
    Zu 3: Auch hier erschließt sich mir der Sinn/Nutzen nicht ganz...

    So long!
    Cat
     
    #8
  9. xS1L3nTx
    Offline

    xS1L3nTx

    Registriert seit:
    12. August 2012
    Beiträge:
    31
    Ort:
    Hier und Da und nirgendwo, hauptsache im Universum
    Minecraft:
    xS1L3nTx
    Das es die Flags gibt is klar, aber ich will zb. bei eintritt/austritt in/aus einer Region commands ausführen lassen/Inventare wechseln usw... - Ideen gibt es reichlich ;)
    Dazu will ich aber nicht immer eine Abfrage der Regionen ausführen sobald sich ein Spieler bewegt, das wäre zu unperformant, genau wie die abfrage nach Zeit zu ungenau ist!

    Wenn du eine gute Idee hast wie ich das bewerkstellige, kannst du mir auch auf Frage 4 antworten ;)

    Danke für eure Hilfe soweit :)
    xS1L3nTx
     
    #9
  10. Catzoteles
    Offline

    Catzoteles

    Registriert seit:
    14. Januar 2013
    Beiträge:
    74
    Ort:
    Oberbayern, Voralpenland
    Minecraft:
    Catzoteles
    Da muss ich heute abend erst mal nachsehen, welche aktuellen flags es gibt, da inzwischen sehr viele DInge darüber definierbar sind(Fly, Hunger, Sterben, etc.). Eine aktuelle Liste gibts leider nicht, aber vll. funzt es auch mit den Custom Flags???

    Sterni könnte dir da sicher am besten weiterhelfen ;)
     
    #10
  11. xS1L3nTx
    Offline

    xS1L3nTx

    Registriert seit:
    12. August 2012
    Beiträge:
    31
    Ort:
    Hier und Da und nirgendwo, hauptsache im Universum
    Minecraft:
    xS1L3nTx
    Ist es mit CustomFlags überhaupt möglich größere Listeneinträge wie Befehls-Ketten, Inventarchanges etc. etc. zu verändern?

    Wer ist Sterni o_O

    Vielen Dank das ihr meine Fragen soweit beantwortet habt :)
    xS1L3nTx
     
    #11
  12. Catzoteles
    Offline

    Catzoteles

    Registriert seit:
    14. Januar 2013
    Beiträge:
    74
    Ort:
    Oberbayern, Voralpenland
    Minecraft:
    Catzoteles
    Die aktuellen Grenzen kenn ich leider nicht, ebensowenig wie alle zur Zeit möglichen Flags.

    Das müsste dir aber Sternenwandererin aka Sterni beantworten können ;)
     
    #12
  13. xS1L3nTx
    Offline

    xS1L3nTx

    Registriert seit:
    12. August 2012
    Beiträge:
    31
    Ort:
    Hier und Da und nirgendwo, hauptsache im Universum
    Minecraft:
    xS1L3nTx
    Also: Ich habe mal sk98 gefragt (bzw auf seiner Ticketseite), Sie meinten sowas wie ein OnRegionEnter/OnRegionLeave-Event wird es ab 6.x geben.

    Wird wohl nochn weilchen dauern,
    na mal sehen :D
     
    #13