Jump to content

[Tutorial] Eigene Plugins direkt aus Eclipse starten


Bedrock
 Share

Recommended Posts

Die Meisten, die ein eigenes Plugin programmieren, exportieren es und fügen es dann in ihren Server ein, um es zu testen.

Nun, Eclipse ist in der Lage, das Plugin direkt aus dem Programm heraus in einem selbst gesetzten Server zu starten. Heißt, man muss bei Änderungen am Code nicht jedes Mal das Plugin neu exportieren.

 

Wie das funktioniert, fasse ich hier mal kurz zusammen.

 

In diesem Tutorial erklärte ich, wie man in seinem Projekt einen lokalen Minecraft-Server hinzufügt und damit dann sein Plugin über den "Run"-Button starten kann.

Dazu benötigt ihr natürlich ein Plugin – falls ihr gerade bei 0 anfangt, schaut in dieses Tutorial, um zu erfahren, wie ihr euer erstes Plugin aufsetzt:

https://minecraftforum.de/topic/10358-how-to-spigot-plugins-programmieren-20/

 

In diesem Tutorial heißt mein Projekt "SpigotPlugin".

 

  • Im Package-Explorer, macht Rechtsklick auf euer Projekt – "New" – "Folder"
  • Bei "Folder name" schreibt ihr "server" hinein.

917073398_Bild1.png.52da217a635fec5d29f4675701cdf768.png

 

Wenn der server-Odner erstellt ist, sollte es wie im Bild oben aussehen.

 

  • Macht erneut Rechtsklick auf euer Projekt und klickt unten auf "Properties".
  • Klickt auf "Java Build Path" und ändert unten den "Default output folder" zu
<dein_projektname>/target/classes

In meinem Beispiel wäre das:

SpigotPlugin/target/classes

Anschließend klickt links in der Liste auf "Run/Debug Settings".

 

  • Klickt rechts auf "New" – "Java Application"
  • Als "name:" nehmt ihr "SpigotServer"
  • Bei "Main class" schreibt ihr "org.bukkit.craftbukkit.Main" hinein.

1463163899_Bild2.png.efc78374a6286ed3c9e1dd0497c8c3be.png

Klickt anschließend auf den Tab "(x)= Arguments". Im unteren Fenster bei "VM arguments" tragt ihr Folgendes ein:

-XX:MaxMetaspaceSize=512M

Nutzt ihr eine ältere Minecraft-Version, fügt Folgendes hinzu:

-DIReallyKnowWhatIAmDoingISwear

Darunter bei "Work directory:"

 

  • Auf "Other" setzen und "${workspace_loc:<dein_projektname>/server}" eintragen.
  • In meinem Beispiel: ${workspace_loc:SpigotPlugin/server}

693590953_Bild3.thumb.png.00710bd35ddcf5dd64a65cae40edcbdf.png

 

  • Klickt dann auf den Tab "classpath" und entfernt alles unter "User Entries"
  • Auch "maven dependencies" entfernen.
  • Klickt dann auf "User Entries"- "Add External Jars..." und wählt die Spigot-Server.jar aus, die ihr bereits für euer Plugin verwendet habt.

1421822023_Bild4.png.a5c86bb4a84d33199277c5b7fcc02301.png

 

  • Klickt dann auf "Ok" – "Apply and Close" bis ihr wieder auf der Eclipse-Oberfläche seid.
  • Oben in der Leiste klickt ihr neben den Grünen Käfer auf den Drop Down-Pfeil und wählt "Organize Favorites" aus.
  • Klickt auf "Add..." und setzt den Haken bei den eben erstellten "SpigotServer" und schließt es wieder mit "Ok"

Nun könnt ihr neben den Grünen Käfer den "Run"-Button anklicken. Dabei wird der Server das erste Mal gestartet. Dazu sollte die bekannte Server-Console direkt im Eclipse erscheinen.

Sollte keine Console erscheinen, klickt oben auf "Window" – Show View" – "Console".

Da man nach dem ersten Start des Servers erst die Eula akzeptieren muss, sollte in der Console die entsprechende Meldung da sein:

failed to load eula.txt

Macht erneut Rechtsklick auf euer Projekt und klickt auf "Refresh". Im server-Ordner solltet ihr nun die eula.txt finden. Öffnet diese mit Doppelklick und setzt

eula=false auf eula=true

und speichert diese oben über das Disketten-Symbol. Startet erneut den Server über den "Run"-Button, wartet einen kleinen Moment bis er komplett gestartet ist und klickt erneut über das Projekt auf "Refresh".

Nun sollten alle relevanten Server-Dateien vorhanden sein.

 

Damit habt ihr schonmal einen eigenen Server in eurem Eclipse-Projekt. Damit auch das Plugin mit gestartet wird, geht wie folgt vor:

 

Wieder Rechtsklick auf euer Projekt – "New" – "File" und nennt diese "builder.xml"

Öffnet diese und kopiert Folgendes hinein:

<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file -->
<project name="SpigotPlugin" default="CreateJar">
<target name="CreateJar" description="Create Jar file">
<jar jarfile="./server/plugins/Plugin.jar" basedir="./target/classes/" includes="**/*" />
</target>
</project>

Ändert dabei:

<project name="dein_projektname"

Speichert diese Datei wieder über das Disketten-Symbol.

 

  • Macht wieder Rechtsklick auf euer Projekt und geht auf "Properties" – "Builders"
  • Dort auf "New" – "Ant Builder"

 

Bei "Name:" schreibt ihr "AutoBuilder" hinein, bei "Buildfile:" schreibt ihr

${workspace_loc:/<dein_projektname>/builder.xml}

In meinem Beispiel:

${workspace_loc:/SpigotPlugin/builder.xml}

1108918479_Bild5.png.722bc3375ef80c691239c33a08d4be80.png

 

  • Klickt anschließend auf den Tab "Targets".
  • Bei "Auto Build" klickt ihr auf "Set Targets...", prüft, ob der Haken bei "CreateJar" gesetzt ist und klickt auf "Ok" – "Apply and Close"

 

Das war es dann auch schon – wenn ihr nun auf den "Run"-Button klickt, startet der Server inklusive Plugin.

 

Startet euer Minecraft in der Version, in dem ihr euer Plugin programmiert, fügt einen Server unter der IP "localhost" hinzu und joint dem Server.

In der Console von Eclipse könnt ihr euch OP-Perms mit

op NAME

geben.

 

Wenn ihr euer Plugin verändert habt, startet den Server neu – das könnt ihr ingame mit /stop oder direkt in der Eclipse-Console mit stop machen.

Bei der Veränderung des Plugins ist es notwendig, den Server neuzustarten. Klickt ihr auf den "Run"-Button, während der Server bereits läuft, bekommt ihr die Meldung:

**** FAILED TO BIND TO PORT!

Dazu müsst ihr wieder ingame gehen und den Server via /stop beenden.

 

Viel Spaß beim Programmieren 🙂

 

Edited by Bedrock
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B