pStats

Hier könnt ihr eure selbstgeschriebenen Plugins veröffentlichen.

pStats

Beitragvon PostCrafter » Mi 3. Jul 2013, 14:12

pStats

Funktionen:
  • Kill-/Death-Statistiken, gespeichert in MySQL
  • Extrem schnelle Zugriffe auf die Datenbank dank BoneCP
  • Komplett einstellbare Nachrichten
  • Statistik wird im Scoreboard angezeigt
  • Toplist für Kills, Deaths und Killdeathratio
  • Einstellbare Befehle

Scoreboard:
Das Aussehen des Scoreboard (die angezeigten Texte) ist frei auswählbar und kann in der Config eingestellt werden.
Code: Alles auswählen
  1. scoreboard:
  2.   title: §6§lp§7§lStats
  3.   kills: '§6Kills: '
  4.   deaths: '§6Deaths: '

Die verwendete Config führt zu folgendem Scoreboard:
Bild

Befehle:
Eine Besonderheit dieses Plugins ist, dass man die Befehle frei einstellen kann. Sollten sich die Befehle /top und /stats mit den Befehlen anderer Plugins überschneiden, so kann man diese einfach ändern - das Plugin läuft ohne Probleme auch mit anderen.
Code: Alles auswählen
  1. command:
  2.   top: top
  3.   stats: stats


Mit der Standardkonfiguration gibt es folgende Befehle:
  • /stats - Zeigt die eigenen Statistiken an
  • /stats [player] - Zeigt die Statistiken von [player] an
  • /top - Zeigt die Top 10 der Spieler an, geordnet nach KillDeathRatio
  • /top 20 - Zeigt die Spieler von Platz 11 bis 20 an, geordnet nach KillDeathRatio
  • /top deaths - Zeigt die Top 10 der Spieler an, geordnet nach Deaths
  • /top deaths 20 - Zeigt die Spieler von Platz 11 bis 20 an, geordnet nach Deaths
  • /top kills - Zeigt die Top 10 der Spieler an, geordnet nach Kills
  • /top kills 20 - Zeigt die Spieler von Platz 11 bis 20 an, geordnet nach Kills

ToDo:
  • Reload-Befehl einbauen
  • Admin-Befehle einbauen, damit man die Stats der Spieler manuell setzen kann
  • Eine API in Form von Events einbauen
  • Diese Pluginvorstellung weiter ausbauen
  • Den Code auf GitHub hochladen

Download:
Aktuelle Version: 0.1

Changelog:
  • Version 0.1
      + Konfigurable Nachrichten
      + Veränderbare Befehle
      + Scoreboard
      + Connection Pool
TeamSpeak-Server zur freien Nutzung: postcrafter.de
Benutzeravatar
PostCrafter
Administrator
 
Beiträge: 1443
Registriert: Do 6. Jun 2013, 19:16
Wohnort: Ebersberg

Re: pStats

Beitragvon Onemeter » Mi 3. Jul 2013, 16:39

Schönes Plugin ich will mir das mal genauer anschauen :)
Bei Fragen stehe ich gerne weiter zur verfügung und verbleibe mit freundlichen Grüßen,
Onemeter
Benutzeravatar
Onemeter
 
Beiträge: 131
Registriert: So 23. Jun 2013, 16:55
Wohnort: Bayern

Re: pStats

Beitragvon HighLife93 » Fr 5. Jul 2013, 13:31

Das Plugin kann einfach nur Bugfrei und perfekt sein. Leo hat es halt geschrieben. Was erwartet man auch anders von ihm ? :)
Benutzeravatar
HighLife93
 
Beiträge: 249
Registriert: Mi 19. Jun 2013, 18:10

Re: pStats

Beitragvon ReWi » So 7. Jul 2013, 11:47

GitHub wäre toll *.*
Teamspeak3 Server mit Public Channel: join.unitedblocks.net
Benutzeravatar
ReWi
 
Beiträge: 61
Registriert: Sa 22. Jun 2013, 19:29

Re: pStats

Beitragvon LordBukkit » Mo 15. Jul 2013, 21:28

Hm... sind 160 nicht etwas zu gross für ein normales Stats Plugin?
Wenn ich mir das genauer mal anschaue, sind 140 KB nur für ein paar sinnlose APIs, die nicht wirklich direkt was mit dem Plugin zu tun haben, und 20 KB sind das eigentlich Plugin.

siehe --> http://pastebin.com/qqk2eZbM

Das soll nicht beleidigend sein, ich frage mich nur, warum das Plugin so gross ist, obwohl du in der Vergangenheit schon einmal ein StatsPlugin mit der Größe von 34 KB geschrieben hast, welches auch viele eher unnötige Commands beinhaltet hat.

Falls ich mich irre, und die Größe des Plugin gerechtfertigt ist, dann nehme ich alles zurück und entschuldige mich dafür. Ich bin nur etwas neugierig :)

LG
LordBukkit
Wenn du schnell gehen willst, dann gehe allein. Doch wenn du weit gehen willst, dann gehe im Team.


Fragen zu Bukkit Plugins? Ich kann euch gerne helfen. Schreibt mich einfach an.

*Fussnote 1: Ironisch gemeint.
*Fussnote 2: Ihr wisst, was ich mein'
Benutzeravatar
LordBukkit
 
Beiträge: 51
Registriert: Mo 17. Jun 2013, 17:57

Re: pStats

Beitragvon comniemeer » Di 16. Jul 2013, 21:52

PostCrafter hat geschrieben:ToDo:
  • Reload-Befehl einbauen
  • Admin-Befehle einbauen, damit man die Stats der Spieler manuell setzen kann
  • Eine API in Form von Events einbauen
  • Diese Pluginvorstellung weiter ausbauen
  • Den Code auf GitHub hochladen

Könntest du das bitte als Tutorial machen und auf YouTube hochladen? Wäre sehr hilfreich :)
Benutzeravatar
comniemeer
 
Beiträge: 404
Registriert: Sa 15. Jun 2013, 17:56
Wohnort: Krostitz

Re: pStats

Beitragvon PostCrafter » Do 18. Jul 2013, 14:14

LordBukkit hat geschrieben:sind 140 KB nur für ein paar sinnlose APIs, die nicht wirklich direkt was mit dem Plugin zu tun haben

PostCrafter hat geschrieben:[*]Extrem schnelle Zugriffe auf die Datenbank dank BoneCP

Also als "sinnlose APIs" würde ich das nicht bezeichnen, da ein ConnectionPool sich schon ab wenigen Verbindungen lohnt.
LordBukkit hat geschrieben:Hm... sind 160 nicht etwas zu gross für ein normales Stats Plugin?

Wieso normal? Es soll ein schnelles und effizientes Plugin sein, die Größe spielt hierbei keine Rolle.

comniemeer hat geschrieben:Könntest du das bitte als Tutorial machen und auf YouTube hochladen? Wäre sehr hilfreich :)

Dafür müsste ich mich vorher nochmal richtig einlesen, bisher habe ich das immer nur so mehr oder weniger intuitiv gemacht. :D
TeamSpeak-Server zur freien Nutzung: postcrafter.de
Benutzeravatar
PostCrafter
Administrator
 
Beiträge: 1443
Registriert: Do 6. Jun 2013, 19:16
Wohnort: Ebersberg

Re: pStats

Beitragvon kingjan1999 » Do 18. Jul 2013, 16:02

PostCrafter hat geschrieben:
LordBukkit hat geschrieben:sind 140 KB nur für ein paar sinnlose APIs, die nicht wirklich direkt was mit dem Plugin zu tun haben

PostCrafter hat geschrieben:[*]Extrem schnelle Zugriffe auf die Datenbank dank BoneCP

Also als "sinnlose APIs" würde ich das nicht bezeichnen, da ein ConnectionPool sich schon ab wenigen Verbindungen lohnt.
LordBukkit hat geschrieben:Hm... sind 160 nicht etwas zu gross für ein normales Stats Plugin?

Wieso normal? Es soll ein schnelles und effizientes Plugin sein, die Größe spielt hierbei keine Rolle.

Ich persönlich finde, man muss hier das Verhältnis betrachten.
Bild
zeigt die Performance von BoneCP für 1.000.000 PreparedStatements, singlethreaded. (Für mehr siehe http://jolbox.com/benchmarks.html) Zugegeben das ist schnell, man rechne sich mal die Performance auf eine einzige Abfrage herunter. Allerdings dürfte es jedem User so ziemlich egal sein, ob sein /Stats jetzt 1 ms oder 2 ms braucht. Die Command Verarbeitung braucht wesentlich länger, als dein Datenbankzugriff. BoneCP ist nicht für sowas gedacht. Sondern für Programme, die wirklich millionen mal Daten mit der Datenbank austauschen.

Ein weiteres Beispiel: http://javolution.org/target/site/apido ... stMap.html ist wesentlich schneller als eine normale HashMap. Ist das ein Grund, sie in Bukkit Plugins einzusetzen? Nein. Dort wird in Nanosekunden gemessen. Und hatte hier schon mal wer eine HashMap in einem Bukkit Pl mit 10.000 Einträgen? Wenn ja, sollte er sich Gedanken machen, ob man Block Abbau / Bau Operationen wirklich in Maps speichern will.

Ja, na klar kann ich mein Pl damit voll stopfen. Dann hab ich am Ende ein riesiges Plugin, dessen Geschwindigkeit aber keiner bemerkt. Ihr habt euch also unnötig viel Aufwand gemacht. Und wofür? Für ein Gigabyte großes Plugin, was sich kein Mensch runter / hochlädt, obwohl es doch abertausend Libs enthält, die es noch so schnell machen, nachdem ihr Stunden beim Compilen & Migrieren der Jars verbracht habt.
Ich habe nichts gegen sowas, aber alles in einer Relation.

P.S.: Nehmt die Google Libs, die in Bukkit drin sind. Haben ein paar schöne Klassen, die euer Pl nicht unnötig vergrößern. Siehe hier: https://code.google.com/p/guava-libraries/
Benutzeravatar
kingjan1999
 
Beiträge: 14
Registriert: Sa 6. Jul 2013, 15:35

Re: pStats

Beitragvon PostCrafter » Do 18. Jul 2013, 16:12

Mir ist bewusst, dass BoneCP auch (oder insbesondere) für große Datenmengen gedacht ist, da es aber deutlich besser/schneller und zuverlässiger als eine einzelne Connection (oder auch mehrere in einem eigenen kleinen ConnectionPool) läuft habe ich mich für diesen Weg entschieden.

Die Guava-Libs haben tatsächlich einige nette Funktionen, die ich auch teilweise nutze, einen ConnectionPool oder ähnliches ist mir dort bisher jedoch entgangen.
TeamSpeak-Server zur freien Nutzung: postcrafter.de
Benutzeravatar
PostCrafter
Administrator
 
Beiträge: 1443
Registriert: Do 6. Jun 2013, 19:16
Wohnort: Ebersberg

Re: pStats

Beitragvon kingjan1999 » Do 18. Jul 2013, 17:38

Und was bringen diese Vorteile dem Minecraft Spieler?
Benutzeravatar
kingjan1999
 
Beiträge: 14
Registriert: Sa 6. Jul 2013, 15:35

Nächste

Zurück zu Veröffentlichungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron