Creepsmash: Unterschied zwischen den Versionen

Aus d0b
Zur Navigation springenZur Suche springen
 
(25 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Creepsmash ist ein nettes Multiplayer-Towerdefence Game, welches von Studenten der [http://towerdefence.hft-stuttgart.de/index_de.html 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 mit geht, es gibt zur Zeit keinen Server auf dem dieses Game läuft.  
+
[[Kategorie:Software]]
 +
Creepsmash ist ein nettes Multiplayer-Towerdefence Game, welches von Studenten der [http://towerdefence.hft-stuttgart.de/index_de.html 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
 
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 Serves zu ermöglichen gibts hier eine kleine Anleitung.
  
=== Anforderungen ===
+
== Creepsmash Server ==
* Sun JDK 5
+
=== Anforderungen IDE ===
* Apache Ant
+
* [http://www.oracle.com/technetwork/java/javase/downloads/index.html JDK]
* MYSQL
+
* [http://ant.apache.org Apache Ant]
* Quellcode  
+
* [http://www.mysql.de/ MYSQL]
 +
* [http://sourceforge.net/projects/creepsmash Quellcode]
  
=== Installation ===
+
=== Software installieren ===
Ich habe den Server auf ein Debian System aufgesetzt, hier das Kochrezept ;-)
+
Ich habe ein Debian 6.0 genommen und einfach mal angefangen.
  
Notwendige Software beschafften
+
Notwendige Software beschaffen, was ihr davon bereits habt könnt ihr natürlich weglassen.
 +
 
 +
Apache Ant
 +
<pre>
 +
aptitude install ant
 +
ant -version
 +
</pre>
 +
 
 +
Apache2 als Webserver für das Frontend, MYSQL um unter anderen Benutzer & Scores zu speichern. Subversion um den code bei Sourceforge abzuholen.
 +
<pre>
 +
apache2 mysql-server-5.0 subversion
 +
</pre>
 +
 
 +
Java 1.5 JDK (Java Development Kit)
 
<pre>
 
<pre>
aptitude install sun-java5-jdk ant apache2 mysql-server-5.0 subversion
+
aptitude install sun-java5-jdk
 
</pre>
 
</pre>
  
Quellcode besorgen, vorher natürlich in das gewünschte Verzeichnis wechseln
+
Falls noch keine Java [http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung IDE] auf dem Server läuft; prüfen ob die Java Umgebungsvariable richtig gesetzt ist.
 +
<pre>
 +
echo $JAVA_HOME
 +
</pre>
 +
 
 +
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.
 +
<pre>
 +
JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"
 +
export JAVA_HOME
 +
source /etc/profile
 +
</pre>
 +
 
 +
Quellcode besorgen, vorher natürlich in das gewünschte lokale Verzeichnis wechseln (source rev. 11)
 
<pre>
 
<pre>
 
svn co https://creepsmash.svn.sourceforge.net/svnroot/creepsmash creepsmash
 
svn co https://creepsmash.svn.sourceforge.net/svnroot/creepsmash creepsmash
 
</pre>
 
</pre>
  
=== Installationsprobleme ===
+
=== 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:
 +
<pre>
 +
ant server
 +
</pre>
  
 +
=== 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 [http://www.phpmyadmin.net phpmyadmin].
 +
<pre>
 +
<!-- 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>
 +
</pre>
 +
 +
=== Server starten ===
 +
<pre>
 +
java -jar bin\towerdefence-server.jar 4747 8080 localhost 200
 +
</pre>
 +
Wenn der Server läuft, kann man unter der Url "http://localhost:8080" eine Startseite der Hochschule für Technik Stuttgart sehen.
 +
 +
=== Client starten ===
 +
<pre>
 +
java -jar bin\towerdefence-client.jar localhost 4747
 +
</pre>
 +
 +
== Troubleshooting ==
 +
=== Compliance level Fehler ===
 
Fehler beim komplilieren "ant server"
 
Fehler beim komplilieren "ant server"
 
<pre>
 
<pre>
Zeile 32: Zeile 86:
  
 
compile:
 
compile:
     [javac] Compiling 180 source files to /home/thilo/creepsmash/creepsmash/bin/classes
+
     [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
 
     [javac] Compliance level '1.4' is incompatible with target level '1.5'. A compliance level '1.5' or better is required
  
 
BUILD FAILED
 
BUILD FAILED
 
</pre>
 
</pre>
Mögliche Lösung:
+
Der Server versucht anscheinend das Projekt mit den falschen Kompiler zu bauen, um das zu überprüfen nehmen wir:
* Falsche SDK installiert, Version prüfen ggf. wechseln
+
<pre>
* In der Build.xml das Compliance Level entsprechend anpassen
+
javac -version
 +
</pre>
 +
Wenn da nicht JDK 1.5.0.X steht, wechselt man auf die richtige Java Version.
 +
<pre>
 +
update-alternatives --config javac
 +
</pre>
 +
 
 +
== Public Server History ==
 +
* 2011 - [http://www.creeptd.com/ http://www.creeptd.com/] - Es gab ein paar Updates und es läuft wieder stabil
 +
* 2010 - [http://contex.sh/web/creepsmash.jnlp http://contex.sh/web/creepsmash.jnlp] - Aktuell, jedoch Temporär
 +
* 2009 - [http://creepsmash.de/creepsmash.jnlp http://creepsmash.de/creepsmash.jnlp]
 +
* 2008 - [http://towerdefence.hft-stuttgart.de/towerdefence.jnlp http://towerdefence.hft-stuttgart.de/towerdefence.jnlp]

Aktuelle Version vom 7. Oktober 2012, 03:14 Uhr

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