Vorab: Dieses Tutorial bezieht sich auf die Java Api für SA-MP (klick)
Serverteil:
Schritt 1 (Nötige Datein runterladen):
- JDK8 und JRE8 herunterladen und installieren. Wichtig ist, dass ihr die 32 Bit Version nehmt. (JDK8 , JRE8)
- Shoebillserver runterladen und an einen Ort entpacken (klick)
Schritt 2 (Java einrichten):
- JAVA_HOME Variable setzen. Wie ihr in das Menu kommt, findet ihr hier
- Im "Systemvariablen" Tab, drückt ihr auf "Neu...", und gebt beim Namen ein: "JAVA_HOME" und beim Wert den Installationspfad der JDK8 (Bild)
Schritt 3 (Server vorbereiten & starten):
- Ihr geht in den Serverordner, und ändert die server.cfg nach eurem belieben um.
- Um den Server korrekt zu starten, benutzt die "startup.bat"
- Sobald der Server gestartet wurde, solltet ihr schon joinen können.
- Das nächste wäre dann nur noch den eigenen Gamemode zu entwickeln.
Schritt 4 (Ordnerstruktur verstehen):
- Im "Shoebill" Ordner des Servers befinden sich mehrere Datein und Ordner.
- In der "resources.yml" befinden sich die wichtigsten Einstellungen.
- Dort könnt ihr den Gamemode, die Plugins, die Maven Repositorys und die Runtime Version verändern.
- Der "data" Ordner ist sozusagen euer neuer "scriptfiles" Ordner.
- Jeder Gamemode / Plugin hat dort seinen eigenen Bereich für Dateien, Logs oder sonstiges.
- Der benötige Ordner wird vom Server beim ersten Start automatisch erstellt.
- In den "libraries" Ordner könnt ihr eure benötigten Dritt-Bibliotheken einfügen wie z.B den mysql-connector.
- Wenn ihr euren Gamemode jedoch über eine Maven Repository lädt, müsst ihr euch hierbei keine Sorgen machen, da alles automatisch heruntergeladen wird.
Scriptingteil:
Schritt 1 (Eclipse herunterladen):
- Ihr ladet euch Eclipse für Java Entwickler runter (http://www.eclipse.org/downloads/)
- Die heruntergeladene Datei entpackt ihr an einen Ort eurer Wahl.
Schritt 2 (Eclipse starten und einrichten):
- Um Eclipse zu starten führt ihr die "eclipse.exe" Datei aus.
- Beim ersten Start werdet ihr gefragt, an welchen Ort er eure Workspace anlegen wollt.
- Nach dem Eclipse gestartet wurde, drückt ihr auf "Window" -> "Preferences" und gebt in das Suchfeld folgendes ein "Content Assist"
- Nach dem die drei Einträge ("Ant", "Java" und "Xml") gefunden wurden, klickt ihr bei Java auf "Content Assistent".
- Auf der rechten Seite unten, seht ihr den Bereicht "Auto Activation". Falls die Checkbox bei euch nicht angeklickt ist, drückt ihr auf den Kasten.
- Bei Auto activation delay (ms) schreibt ihr rein, wie lange es dauern soll, bis die Autocompletion angezeigt wird.
- Ich nehme 5 Millisekunden
- Bei Auto activation triggers for Java schreibt ihr rein, welche Zeichen die Autocompletion aktivieren soll.
- Da ich möchte, dass die Autocompletion immer einspringen soll, schreibe ich in das Feld ".abcdefghijklmnopqrstuvwxyz"
- Falls das nun fertig ist, sollte es bei euch so aussehen.
- Nun drücken wir auf "Apply".
- Als nächstes löschen wir den Suchbegriff aus der Textbox, und drücken auf Java, und dann auf "Installed JREs"
- Als nächstes drückt ihr auf "Add...", und wählt "Standard VM" aus, und drückt "Next >"
- Bei "JRE home" drückt ihr auf "Directory" und wählt das JDK8 Paket aus. (Meistens unter C:\Program Files (x86)\Java\jdk1.8.0"). Hier ein Bild: klick
- Drückt auf "Finish", und nimmt den Harken bei "jre7" raus und setzt ihn bei "jdk1.8.0".
- Am Ende drücken wir auf "OK" um die Einstellungen zu übernehmen.
Schritt 3 (Java 8 Patch installieren):
- Ihr drückt oben auf "Help" -> "Eclipse Marketplace", und sucht nach "Java 8".
- Ihr installiert nun "Java 8 support for Eclipse Kepler SR2", und scrollt runter und installiert ebenfalls "Java 8 support for m2e for Eclipse Kepler SR2" (Bild: klick).
- Nun ist alles soweit eingerichtet, dass ihr anfangen könnt.
Schritt 4 (Das Projekt erstellen):
- Um nun ein Shoebill Gamemode zu erstellen, drückt ihr oben links auf File -> New und dann ganz unten auf "Other".
- In dem Menü wählt ihr unter "Maven" das "Maven Project" aus, und drückt auf "Next >". Ihr drückt nun solange "Next >" bis ihr hier ankommt.
- Bei Group Id gebt ihr etwas an, was euch identifiziert. Ich z.B nehme "me.marvin"
- Bei der Artifact Id gebt ihr den Namen des Projekts an. Ich z.B nehme dafür "breadfishgm"
- Bei der Version könnt ihr euch eine aussuchen, ich jedoch belasse es bei "0.0.1-SNAPSHOT"
- Beim Package schreibt ihr eure Groupid + eure Artifactid hinein. Bei mir hieße es dann "me.marvin.breadfishgm"
- Ihr drückt nun auf "Finish" und solltet nun ein Projekt haben.
Schritt 5 (Das Projekt bearbeiten):
- Als erstes geht ihr in die pom.xml Datei, und drückt ganz unten auf "pom.xml".
- Nun sollte es bei euch so aussehen: klick
- Ihr müsst nun unter "<version>..</version>" folgendes einfügen: Pastebin
- Dort drunter, müsst ihr nun die Dependency hinzufügen: Pastebin
- Ganz unten, vor "</project>" müsst ihr nun folgendes hinzufügen: Pastebin
- Wenn ihr <outputDirectory> verwendet (was optional ist), ist es wichtig das ihr den Pfad anpasst.
- Wenn alles fertig ist, sollte es so bei euch aussehen: klick
- Ihr speichert nun alles, und macht einen Rechtsklick auf euren Gamemode -> Maven -> Update Project, und klickt OK
- Um nun richtig zu starten, geht ihr in die "App.java" und fügt hinter dem "public class App" ein "extends Gamemode".
- Nun müsst ihr die Methoden implementieren. Das ganze zieht am Ende so aus -> klick
Schritt 6 (Das Projekt zum builden vorbereiten):
- Der letzte große Schritt denn ihr machen müsst, ist dem Gamemode eine "gamemode.yml" Datei beizulegen.
- Anhand dieser Datei, weiß der Server, welche Klasse er benutzen muss, um den Gamemode zu starten.
- Ihr erstellt einen Ordner mit dem namen "resources" im "src/main/" Ordner.
- Nun macht ihr Rechtsklick auf den eben erstellten Ordner, und wählt "New" -> "File" und gebt ein: "gamemode.yml".
- In diese Datei schreibt ihr nun folgendes: Pastebin
- Am Ende sollte es so aussehen: klick
Schritt 7 (Der Buildprozess):
- Um das Projekt zu builden, drückt ihr auf den Runden grünen Playbutton -> klick und wählt "Maven build" aus.
- Am ende drückt ihr einfach auf Ok, und die .jar Datei des Gamemodes sollte dort sein, wo ihr sie in der pom.xml Datei angegeben habt.
Hier noch ein zusätzliches Video:
https://www.youtube.com/watch?v=FLlFeNXPPN8