FANDOM


Initiale Einrichtung

164px-Quality images logo.svg

Hier wartet noch Arbeit!
TODOs abarbeiten

Diese Anleitung wurde am Beispiel eines Ubuntu Betriebsystems entwickelt, und ist noch in Bearbeitung.

1. Die grundlegenden Komponenten wie Java, Maven, Git, MySQL, Tomcat, etc. sollten vorher schon installiert sein.

2. MySQL Datenbank anlegen. Dafür in der MySQL Konsole folgendes ausführen:

CREATE DATABASE ds2;
CREATE USER 'ds2user'@'localhost' IDENTIFIED BY 'pw';
GRANT ALL PRIVILEGES ON ds2.* TO 'ds2user'@'localhost';
FLUSH PRIVILEGES;

Damit wird die leere Datenbank 'ds2' angelegt, mit dem Nutzer 'ds2user' und dem Passwort 'pw'. Diese 3 Dinge sind frei wählbar.

Alle folgenden Pfadangaben und Befehle gehen von dem driftingsouls-Verzeichnis als Basis aus, das über Git heruntergeladen wurde. Der Link zum Git Repository ist auf der DS2 Portalseite verlinkt.

3. Das Projekt mit Maven kompilieren: 'mvn clean package' im driftingsouls Hauptverzeichnis ausführen

4. Kopiere den Ordner db nach game/src/main/db

5. Bearbeite die Datei game/src/main/db/tables/ships_insert.sql. Entferne in jeder der 5 Zeilen die letzte Spalte scriptData_id, bzw den zugehörigen NULL Wert. TODO: Gucken, warum das aktuell Probleme macht

6. Benenne den Ordner game/src/main/webapp um in game/src/main/web

7. Starte das Installationsprogramm aus dem Ordner game/src/main mit:

java -cp "../../target/driftingsouls-game-0.0.1-SNAPSHOT/WEB-INF/lib/*:../../target/driftingsouls-game-0.0.1-SNAPSHOT/WEB-INF/classes/." net.driftingsouls.ds2.server.install.Install

Das startet das Installationsprogramm, um die Konfigurationen und Datenbanktabellen anzulegen. Das Programm fragt einige Daten vom Nutzer ab. Die Werte in den eckigen Klammern sind die Defaultwerte, die mit Enter übernommen werden können. Oder man gibt eigene Werte an. Dort müssen Datenbank, Nutzer und Passwort angegeben werden, die in Schritt 2 definiert wurden.

Die am Ende der Installation noch genannten 'ant' Befehle ignorieren, da es nicht mehr über ant, sondern über maven läuft.

  • Bei meiner Installation ist immer folgender Fehler aufgetreten:

The server time zone value 'CEST' is unrecognized or represents more than one time zone.

Als Lösung einfach folgendes in der MySQL Konsole ausführen, und die Installation erneut starten:

SQL: SET GLOBAL time_zone = '+1:00';

8. Ordner game/src/main/db wieder löschen

9. Ordner game/src/main/web wieder auf game/src/main/webapp umbenennen

10. Datei game/src/main/webapp/WEB-INF/cfg/config.xml bearbeiten. Den Eintrag für ABSOLUTE_PATH anpassen, und dort auch web zu webapp umbenennen

DS2 .war Datei deployen und Spiel starten

1. Das Projekt mit Maven kompilieren: 'mvn clean package' im driftingsouls Hauptverzeichnis ausführen

2. Tomcat Manger im Browser öffnen. Default: http://localhost:8080/manager/html

3. Falls bereits vorhanden, die bestehende DS2 Instanz Undeployen

4. WAR file to deploy über Browse die gebaute Datei game/target/driftingsouls-game-0.0.1-SNAPSHOT.war auswählen und deployen

5. Ein Klick auf den Path der gerade deployten .war öffnet die ds2 Startseite

Alternativ zu diesen Schritten die .war manuell ins richtige Tomcat Verzeichnis kopieren

mvn clean package

Infos zum Befehl mvn clean package:

  • Das clean entfernt vorher gebaute Dateien, sodass alles neu gebaut werden kann. Ohne clean kann es manchmal zu unerwarteten Nebenwirkungen kommen, bei denen teilweise noch alte Konfigurationen oder Codezeilen aktiv sind.
  • Package kompiliert alles, und packt es in jar oder war Dateien.
  • Beim package mit maven werden immer die Testfälle durchlaufen. Das ist natürlich etwas Gutes, und sollte gerade vor dem Abschicken von Commits auch durchgeführt werden! Beim Entwickeln und Herumprobieren beansprucht der Schritt aber einiges an Zeit, und kann mit 'mvn clean package -Dmaven.test.skip=true' übersprungen werden.

TODOs:

  • Screenshots
  • Infos zum Entwickeln. Git, Merges, Branches, Forks, etc.
  • Code anpassen, damit Installation und Starten einfacher werden
Nutzung von Community-Inhalten gemäß CC-BY-SA , sofern nicht anders angegeben.