Creepsmash

Aus d0b
Zur Navigation springenZur Suche springen

Creepsmash ist ein nettes Multiplayer-Towerdefence Game, welches von Studenten der Hft Stuttgart entwickelt worden ist. Leider kümmert sich im mom aktiv keiner um dessen weiterentwicklung, was aber auch nicht unbedingt notwenig ist. Der einzige Punkt um dem es mir geht, es gibt zur Zeit keinen Server auf dem dieses Game läuft.

Und das will ich ändern, zumindest solange ich Bock & Resourcen dafür habe. Um anderen einen leichteren Einstieg zum aufsetzen eines Creepsmash Serves zu ermöglichen gibts hier eine kleine Anleitung.

Creepsmash Server

Anforderungen IDE

Software installieren

Ich habe ein Debian 6.0 genommen und einfach mal angefangen.

Notwendige Software beschaffen, was ihr davon bereits habt könnt ihr natürlich weglassen.

Apache Ant

aptitude install ant
ant -version 

Apache2 als Webserver für das Frontend, MYSQL um unter anderen Benutzer & Scores zu speichern. Subversion um den code bei Sourceforge abzuholen.

apache2 mysql-server-5.0 subversion

Java 1.5 JDK (Java Development Kit)

aptitude install sun-java5-jdk

Falls noch keine Java IDE auf dem Server läuft; prüfen ob die Java Umgebungsvariable richtig gesetzt ist.

echo $JAVA_HOME

Ist die Pfadangabe ungültig oder es erscheint gar keine Ausgabe, kann man folgende Zeilen verwenden um dieses Zustand zu ändern. Dabei ist die in der ersten Zeile angegebenen Pfadangabe an das eigene System anzupassen.

JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"
export JAVA_HOME
source /etc/profile

Quellcode besorgen, vorher natürlich in das gewünschte lokale Verzeichnis wechseln (source rev. 11)

svn co https://creepsmash.svn.sourceforge.net/svnroot/creepsmash creepsmash

Code kompilieren

Im Source Verzeichnis, in welchen sich die build.xml befindet wird folgender Befehl ausgeführt um die .jar Datei für den Server mit ant zu bauen:

ant server

Datenbank konfigurieren

Und das wird hier in der configSQL.xml erledigt welche im Quellcode Verzeichnis sowie im Unterordner "\bin" zu finden ist. Vorraussetzung ist, das bereits eine DB für Creepsmash sowie ein Benutzer in MYSQL angelegt sind z.B. mit phpmyadmin.

<!-- Config DB !!! -->
<hibernate.connection.username>MYSQL-Benutzer</hibernate.connection.username>
<hibernate.connection.password>MySQL-Passwort</hibernate.connection.password>
<hibernate.connection.url>jdbc:mysql://localhost:3306/DATENBANKNAME?autoReconnect=true</hibernate.connection.url>

Server starten

java -jar bin\towerdefence-server.jar 4747 8080 localhost 200

Wenn der Server läuft, kann man unter der Url "http://localhost:8080" eine Startseite der Hochschule für Technik Stuttgart sehen.

Client starten

java -jar bin\towerdefence-client.jar localhost 4747

Troubleshooting

Compliance level Fehler

Fehler beim komplilieren "ant server"

Buildfile: build.xml

init:

compile:
    [javac] Compiling 180 source files to /pfad/zu/creepsmash/bin/classes
    [javac] Compliance level '1.4' is incompatible with target level '1.5'. A compliance level '1.5' or better is required

BUILD FAILED

Der Server versucht anscheinend das Projekt mit den falschen Kompiler zu bauen, um das zu überprüfen nehmen wir:

javac -version

Wenn da nicht JDK 1.5.0.X steht, wechselt man auf die richtige Java Version.

update-alternatives --config javac

Public Server History