Shoebill - Server aufsetzen und eigenen Gamemode entwickeln

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    https://www.youtube.com/watch?v=FLlFeNXPPN8

    6 Mal editiert, zuletzt von 123marvin123 () aus folgendem Grund: Update auf 1.1

  • Schön erklärt, weiter so!

    Mittelsmann Service
    Seit 2014 agiere ich in diesem Forum als Mittelsmann. Als es Mein-Mittelsmann noch gab, zählte ich zu den vertrauenswürdigsten Mittelsmännern, welche auch hier im Forum aufgelistet waren. Seit Beginn meiner Laufbahn wickelte ich bisher schon rund 100 Transaktionen mit Erfolg ab. Wenn du also nach einem erfahrenen und vertrauenswürdigem Mittelsmann suchst, kontaktiere mich gerne.

  • Was meinst du denn mit fortgeführt @Azcaq ?
    Meiner Meinung nach ist alles perfekt, habe noch nie einen Fehler gefunden, also klappt alles prima...
    Falls du meinst, ob es ein Update gibt, wenn SAMP 0.3.7 als release erscheint, ich denke schon, 123marvin123 kennt sich da ja aus ;)

  • Achso, oh :o
    Hier der Link für Shoebill 1.1, steht auch in 123marvin123 's Signatur:
    Project Shoebill 1.1 - Schreibe Gamemodes in Java


    PS: Falls du einen Grundaufbau brauchst mit MySQL, Passwortencryption und Dialogen, kannst mich gerne PN anschreiben oder falls du Hilfe brauchst, aber Marvin macht auch top Support ;)


    //edit Hinweis
    Hier kann man für den Anfang auch noch viel abgucken, um zu sehen wie man mit maven umgehen muss. Das ist echt eine gute Hilfe:
    Autohaus System für Shoebill (Java) by 123marvin123

  • Danke dir für das nette Angebot aber ich glaube nicht, dass ich nicht alleine Zurecht kommen werde. :)
    123marvin123
    Danke für den Austausch.


    Scripte zwar nichts mehr aber ich denke, wenn mit Java dann wird es auch wieder Spaß machen.


    Man könnte also soweit ich das jetzt verstanden habe auch Spieler in einen Array packen oder per TCP eine Verbindung aufbauen um
    bspw. per App oder Server den Nutzer zu verwalten oder sowas Ähnliches, oder?