Creepsmash
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 EDIT: Sobald ich wieder Zeit hab schreib ich die fertig.
Inhaltsverzeichnis
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
Fehler beim Kompilieren
Compliance level
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
Euer Server versucht das Projekt mit den falschen Kompiler zu bauen, um das zu überprüfen nehmen wir:
javac -version
falls da dann nicht JDK 1.5.0.X steht,kann man mit dem folgenden Befehl auf die richtige Version wechseln ;-)
update-alternatives --config javac