Minecraft Plugins zu localhost Server hinzufügen?
Hey,
Ich versuche seit kurzer Zeit programmieren mit Java zu lernen und dachte mir, dass ich mit simplen Plugins für das Computerspiel Minecraft anfange.
Ich habe mir bereits auf meinem Pc einen Spigot-Server für Minecraft von Bukkit erstellt der soweit auch funktioniert. Außerdem habe ich mit Eclipse ein erstes Test-Plugin erstellt. Dieses habe ich nun als Jar-Datei exportiert und anschließend in den Plugins-Ordner, der sich im Ordner meines erstellten Spigot-Server befindet. Soweit ich es verstanden habe, sollte das Plugin dadurch beim Starten des Servers geladen und nach dem Joinen auf den Server verwendbar sein.
Allerdings funktionert dies bei mir nicht. Das Plugin kann weder auf dem Server benutzt werden, noch wird es beim Starten des Servers in der Konsole angezeigt. Auch wenn ich plugins in die Konsole, bzw. in den Chat auf dem Minecraft-Server eingebe, wird angezeigt, dass kein Plugin auf dem Server vorhanden ist.
Laut dem YouTuber BiVieh, durch den ich versuche meine ersten Schritte bei der Programmierung zu machen, sollte beim Start des Servers jedoch folgende Nachricht (bzw. so ähnlich) in der Konsole auftauchen:
Dieses Bild habe ich aus einem Video, in dem er erklärt, wie man ein Plugin aus Eclipse exportiert und sie auf einem localhost Server zum Laufen bringen kann:
Außerdem habe ich das Problem, dass die exportierten Jar-Dateien, im Gegensatz zu denen, in BiViehs Tutuorials nicht das Java-Icon haben, sondern das, einer txt-Datei.
Ich weiß jedoch nicht, ob dies mit meinem obigen Problem zusammenhängt, bzw. ob es eventuell sogar egal ist, ob sie ein anderes Icon haben. Mir ist jedoch aufgefallen, dass die yml-Dateien hingegen das Java-Icon haben. Hat es damit vielleicht irgendwas zu tun?
Meine 3 Fragen sind also:
- Wie bringe ich mein Plugin auf dem Spigot-Server zum Laufen?
- Warum haben die Jar-Dateien bei mir nicht das Java-Logo und bringt das irgendwelche Nachteile?
- Was genau sind yml-Dateien? Habe das noch nicht ganz verstanden.
Ich freue mich über jede Antwort, vor allem über die, die mir bei meinem Problem weiterhelfen können. ; )
2 Antworten
- Du brauchst eine gültige plugin.yml, die richtig in der Plugin.jar eingebunden wird. Dazu wäre es hilfreich wenn du die plugin.yml und dein Fenster vor dem Exportieren des Plugins zeigen könntest. Da musst du nämlich drauf achten, dass die plugin.yml dort mitexportiert wird.
- Du hast vielleicht irgendwann mal die Einstellung "Öffnen mit:" bei .jar-Dateien auf geändert oder so. Das kannst du einfach beheben, indem du Rechtsklick auf eine Jar-Datei machst --> Eigenschaften --> und dann wählst du bei "Öffnen mit" "Andern" und dann als Programm Java(TM) Platform SE aus.
- Eine .yml Datei ist eine Textdatei für die "Sprache" YAML. Mehr Info auf Wikipedia: https://de.wikipedia.org/wiki/YAML
In der plugin.yml werden wichtige Informationen definiert, die Spigot braucht, um eine .jar-Datei überhaupt als Plugin anzuerkennen. Bei der plugin.yml musst du mindestens angeben:
- Die Main-Klasse deines Plugins. Also da von wo dein Plugin losläuft/die onEnable()-Methode ist und wo du auch "extends JavaPlugin" oben hinter den Klassennamen geschrieben hast.
- Deinen Plugin-Namen. Erklärt sich von selbst. Der Name, den du hier angibst wird auch in der Konsole angezeigt, wenn das Plugin enabled und disabled wird und auch wenn du /plugins oder /pl eingibst.
- Die Version deines Plugins. Kannst du einfach auf 1.0 lassen und später ändern.
Mehr Info über weitere Attribute/die Dokumentation für die plugin.yml gibt es hier: https://www.spigotmc.org/wiki/plugin-yml/
Die Main-Klasse ist falsch angegeben. Die Main-Klasse müsste nach dem Bild im package de.truefftendo.test.main anstatt im package de.truefftendo.main sein. Dann müsste es eigentlich klappen. Du kannst auch ganz oben in der Main-Klasse sehen in welchem package sie ist. Da müsste nämlich "package de.truefftendo.test.main" stehen.
1. ) In deiner IDE richtig exportieren. Welche benutzt du? Eclipse oder IntelliJ?
2 ) Kommt vermutlich daher das du beim exportieren etwas falsch gemacht hast oder bestimmte sachen in der plugin.yml vergessen hast wie z.B die Main anzugeben. Könnte evtl. auch durch andere sachen entsehen aber ich glaube das ist am wahrscheinlichsten.
Aber ich sehe das auch zum ersten mal bin mir relativ unsicher
3) YML Dateien sind einfach nur Textdateien die jedoch einer strikteren formatierung unterliegen. Es ist wichtig die Formatierung (z.B die Anzahl der Leerzeichen) genau zu befolgen damit sie funktioniert am ende. Das Plugin läuft nicht ohne eine plugin.yml. Jedoch sagt der Server dir das als Fehlermeldung was hier nicht so ist
Danke für die Antwort! Ich nutze Eclipse und habe die yml eben noch mal neu geschrieben:
Ja. Kann sein, dass ich da vll etwas falsch geamacht habe. Ich weiß aber nicht genau wo, da ich es eigentlich relativ genau wie im YouTube-Tutorial gemacht habe.
Ich glaube das Problem liegt in deinen Packages. Ist sehr lange her das ich eclipse verwendet habe aber ich glaube es wurde bei dir nicht erkannt das du das Main Package in das obere Package getan hast.
Ich weiß nicht mehr wirklich wie die Package Struktur bei eclipse ist aber Probier mal das Main Package zu löschen und die Main klasse vorher in das de...test Package also das obere zu tun. Wenn die packages weiß gefärbt sind, sind die glaube nicht verwendet. Und du sagst dem Plugin in der YML das es verwendet ist
Und dann natürlich das Package in der YML richtig angeben
Danke für die Antwort! Ich habe die yml noch mal neu geschrieben:
https://ibb.co/qJntfqx
Wenn ich versuche das damit zu öffnen, dann kommt folgende Fehlermeldung:
https://ibb.co/hfY0qn4
Wenn ich es richtig verstehe, dann soll das heißen, dass in der exportierten Datei im plugins-Ordner ein Fehler ist, oder?