• 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!

fMotd das Motd System was jeder will

C

Chrisliebaer

Guest
Naja, das Plugin ist relativ Sinnfrei, da wie schon erwähnt, viele jeden Tag eine neue IP haben werden oder zusammen über den selben Anschluss spielen. Außerdem stellt sich mir die Frage, was für ein Sinn es hat, den Spielernamen in der MotD anzuzeigen, wobei natürlich das jeder machen kann, wie er möchte.

Außerdem möchte ich mal davor warnen, dass das Plugin wirklich schlecht entwickelt ist. Das dürfte für die eigentliche Aufgabe mal locker <90% unnötige Rechenzeit fressen.

Code:
for (int in = 0; in < motd.length(); in++)
      {
        nachricht = motd;
        nachricht = nachricht.replace("[Player]", name);

        e.setMotd(nachricht);
        saveConfig();
      }

Vor allem das mehrfache aufrufen der Stringmethoden zusammen mit dem Festplattenzugriff (sofern Bukkit das nicht cached; ungeachtet der Tatsache, dass es an der Stelle nichtmal notwendig ist die Config zu speichern). Ansonsten gibts noch ein paar kleinere Ungereimtheiten, aber DAS ist wirklich alles andere als performant. Für ~100 Zeilen ganz schon viel komisches Zeugs drin. Als kleines Spaßprojekt sicherlich lustig, aber auf nem Produktivserver würde ICH das nicht ausführen, zumal das Ping Event ziemlich häufig gefeuert wird (jedes mal, wenn jemand seine Serverliste aktualisiert) da sollte man an der Stelle schon darauf achten, dass das fix geht.
 
T

TimBone

Guest
Chris, sie schreiben die Wahrheit, allerdings könnten sie Funzocker auch einen Vorschlag zur Verbesserung leisten. Sonst wird dieses Forum wieder als unfreundlich bezeichnet. Ich hoffe sie überdenken ihren Post noch einmal.
 
C

Cabraca

Guest
Chris, sie schreiben die Wahrheit, allerdings könnten sie Funzocker auch einen Vorschlag zur Verbesserung leisten. Sonst wird dieses Forum wieder als unfreundlich bezeichnet. Ich hoffe sie überdenken ihren Post noch einmal.

Ich weis nicht was du für n Problem hast.
Ich find den post vollkommen in Ordnung und gerechtfertigt.
 
G

games6471

Guest
Soweit ich weiss fängt Funzocker1 erst mit Programmieren an oder ist noch nicht lange in diesem Thema drinnen. Das ist es vollig normal, dass er noch Fehler macht. Auch ich hatte meine Programme am Anfang ziemlich Performance-lastig geschrieben, aber nach und nach verbessert man sich. Man ist auch nicht von null auf 100 professineller Programmierer. Wenn einem die Fehler nirgends wo gesagt und erklärt werden bessert sich nichts daran.
Chrisliebaer hat mit seinem Post bereits auf die Fehler hingewiesen, jedoch nur indirekt und kaum erklärt, weshalb es das und das falsch ist. Ein Tipp kannst du schon mal von mir bekommen: Wenn du es noch nicht selber gut kannst mit dem Optimieren, dann kannst du auch gerne ein automatisches Tool benutzen z.b. Proguard.
Solche Tools sind zwar nicht so stark effizient, wie wenn du es selber machst, aber wenigstens besser.
Wenn du es möglichst optimal optimieren willst, kannst du dir auch diese Seite einfach mal anschauen.
Kurze grobe Tipps:
  • Bei jeder Klasse, die nicht vererbt wird Final als zusätzlichen Modifier benutzen
  • niedrigste Sichtbarkeit benutzen
  • Soweit es geht Static benutzen
  • Exceptions vermeiden, ausser bei grossen Rechenschritten
Weitere kann ich noch gerne nennen, das würde aber die Übersich verschlechtern und es wäre auch sinvoll zu erklären, wie durch die einzelnden Punkte sich die Performance verbessert z.b. bei Final das der Compiler die Methode Inlining kann.
 
T

TimBone

Guest
Ich weis nicht was du für n Problem hast.
Ich find den post vollkommen in Ordnung und gerechtfertigt.

Cabraca, er hat auch Recht :), aber als Anfänger ist es immer nützlich wenn man erklärt bekommt wie es besser geht. Ich meine du hast mich auch zu Recht gewiesen. (Danke dafür) ich meine man muss es ja nicht erklären, ein Stichwort oder ein Link wären nur ganz nett.
 

Paulomart

Schafhirte
Registriert
3 November 2013
Beiträge
147
Diamanten
0
Minecraft
Paulomart
Okey, aber das ist zieeeemlich ot.. :D

1. Spigot runterladen.

2. Spigot statt Bukkit verweden.

3. Server starten, dann wieder stoppen.

4. spigot.yml bearbeiten.
Code:
  prevent-proxies: false
  bungeecord-addresses:
  - 127.0.0.1
  bungeecord: true


5. Server starten. Fertig ;)
 
Zuletzt bearbeitet:
Oben