ServerPlugin [Beta] Advanced Warns

Dieses Thema im Forum "Selbstgeschriebene Plugins | Mods | Programme" wurde erstellt von Crafter6432, 10. Dezember 2012.

  1. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Warn - advanced warnings
    Warn gibt dir die Möglichkeit Spieler mit Angabe eines Grundes, Position und der "Härte" des vergehens zu verwarnen.Wenn ein Spieler verwarnt wird kann dies Events auslöschen, die frei in der Config definiert werden können. z.B Wenn ein Spieler einen 3. Warn bekommst wird er getimebant und es wird "xyz wurde wegen xyz verwarnt" gebroadcastet¹².Die Warn-Daten können wahlweise in einer MySQL oder H2 Datenbank gespeichert werden.

    Was Funktioniert

    • Einen Spieler verwarnen(Grund,Punkte,Position)
    • Verwarungen Akzeptieren
    • Warns auflisten
    • Deinen Warnstatus abrufen
    • Zu einer Verwarnung Teleportieren
    • Verwarungen löschen
    • Punkte löschen
    Was Funktioniert nicht

    • Event System
    • Verfall von Verwarungen
    Features

    • Speichert viele Info über die Verwarung
    • Events zu bestrafung des Spielers¹
    • Automatisches löschen von Verwarungen¹²
    • Alle Datenbank operationen laufen in einem extra Thread
    ¹nicht implementiert/idee
    ²nicht fertig

    dev.Bukkit: http://dev.bukkit.org/server-mods/warnings/
    Github: https://github.com/Crafter6432/warn/

    Ich würde mich über Feedback freuen und werde mich beeilen, die angekündigten Features fertig zu stellen.
     
    #1
  2. ##Aktiviert##
     
    #2
  3. Nacktschicht
    Offline

    Nacktschicht

    Hopp, testen, drauf auf den Server :)
     
    #3
  4. Nacktschicht
    Offline

    Nacktschicht

    /warn geht - sonst nix.
     
    #4
  5. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Server.log?

    EDIT: Die Default Config ist auf MySQL eingestellt entweder Daten eintragen oder auf H2DB stellen.
     
    #5
  6. DerHolzhacker
    Offline

    DerHolzhacker

    Registriert seit:
    24. April 2012
    Beiträge:
    360
    Ort:
    Bayern
    Minecraft:
    DerHolzhacker
    WÄR ein sehr geiles Plugin :/

    Hey Crafter,
    Habe mir als ich das Plugin gesehen hab: "Holly Shit, das muss ich haben!" :)
    Dann kam aber leider die Enttäuschung...
    Der befehl "/warn" funktioniert, "/warn version" auch, aber sonst nix!
    Hab Datenbank eig. alles richtig eingestellt...Habe Mysql.
    Im Log zeigt der nur an das ich den Player Command gemacht habe, aber keine Reaktion...
    Außerdem finde ich ist Config etwas durcheinander und teilweise unverständlich. Was man aber glaube ich durch ein Info-Video beheben könnte :)
    Würde mich sehr freuen wenn du dich nochmal ransetzen würdest :)

    Mfg DerHolzhacker
     
    #6
  7. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Die Grundfunktionen gehen auf jedenfall,sachen wie verfall der Warns oder Events sind noch nicht fertig, da ich momentan wenig Zeit habe.
    Bei /warn werde dir nur Commands, für die du rechte hast angezeigt.Versuch mal:
    Code (Text):
    1. /warn give DerHolzhacker 10 hat das haus von xyz gegrieft
     
    #7
  8. Cabraca
    Offline

    Cabraca

    Code (Text):
    1.  
    2.   //Timeout for DB 200ms
    3.  
    4.   while (!(pl.isDone() || time == 200)) {
    5.  
    6.     try {
    7.  
    8.         Thread.sleep(1);
    9.  
    10.         time++;
    11.  
    12.     } catch (InterruptedException e1) {
    13.  
    14.     }
    15.  
    16.   }
    17.  
    18.  
    https://github.com/Crafter6432/warn...uildhive/crafter6432/warn/Playerlistener.java

    Den Hauptthread, egal wie lange, schlafen zu legen ist eine Todsünde.
    Möge dein Compiler dir die Festplatte formatieren ... ungläubiger !!!
     
    #8
  9. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Das ist mir klar allerdings sorgt es für maximal 200ms Laggs und es ist die einigste Datenbank abfrage im Mainthread, nicht so wie es viele andere Plugins machen und alle Abfragen im Mainthread ausführen.
     
    #9
  10. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Warum zu hölle legst du ihn 200MS schlafen, dafür gibt es keine entschuldigung.
    Mach das in einem Thread und bau eine callback function oder sowas in die main-class ein.
     
    #10
  11. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Ich lege ihn nicht 200ms schlafen sondern maximal 200ms aber bei meinen Tests waren es 1-3ms also kein Grund zur Aufregung.
     
    #11
  12. Cabraca
    Offline

    Cabraca

    Solches Vorgehen sorgt dann dafür, dass Fehler geworfen werden von denen kein Schwein weiß warum und woher sie kommen.
    Es gibt mittlerweile Klassen und Libraries, die einem dabei die meiste Arbeit abnehmen um solche Probleme zu
    Bei einem 10Slot Server fällt deine Vorgehensweise im Normalfall nicht auf. Sobald es aber in Bereiche 60+ geht ist dein Plugin eines der
    ersten was entfernt wird. Ganz ehrlich, überall wird Gepredigt, dass man den Main-Thread nicht still legen darf (egal ob 200ms oder 2ms).
    Es werden Wege aufgezeigt um sicher Threadübergreifend zu arbeiten. Und trotzdem bekommen es einige nicht hin sowas zu verwenden.
    Tut mir leid aber das ist ganz eindeutig nen Grund zum Aufregen!
     
    #12