(Allgemein : Mit dem XAMPP-Paket ist die Dummie-Version gemeint) INHALT ====== 1. Installation 1.1 Installation (XAMPP-Paket) 1.2 Installation (ZIP) 1.3 Installation (ZIP als update für XAMPP) 2. Start 3. Internet 4. Modifikationen 4.1 Einheiten-/Gebäudenamen ändern 4.2 Andere Sprachen 4.3 Neue Einheiten 4.4 Neue Gebäude 5. Bots 1.1 Installation (XAMPP-Paket): =============================== Diese Version ist nur für Windows gedacht. Es wird weder auf einem Linux-Rootserver im Internet funktionieren und erst recht nicht auf normalem Webspace. Das Verzeichnis darf KEINE Leerzeichen oder Umlaute enthalten. "C:\DK-LAN Version" ist also nicht möglich und führt zu Fehlern ! Am besten einfach alles nach "C:\XAMPP" entpacken. Nach dem Entpacken die Datei "setup_xampp" ausführen, dadurch wird alles konfiguriert. Zum Starten dann die drei Dateien "apache_start", "mysql_start" und "kreuzzuege_start.bat" ausführen und schon hast du Die Kreuzzuege erfolgreich installiert. Alle DOS-Fenster müssen während des Spiels offen bleiben ! -------------------------------- -Sollte sich eins der Fenster sofort wieder schliessen ist irgendein Fehler aufgetreten. -Die Fehlermeldung kann man sehen, indem man die Datei in der Eingabeaufforderung startet - -diese schliesst sich ja nicht. (Start->Programme->Zubehör->Eingabeaufforderung) -Meistens liegt es daran, dass entweder Port 80 oder 443 von einem anderen Programm belegt sind. -Die Fehlermeldung ist dann "make_sock: could not bind to address 0.0.0.0:443 -no listening sockets available, shutting down" -Eine andere Fehlermeldung führt dann auch zur Fehlerbehebung, falls man des Englischen mächtig ist :) -Beispielsweise belegt Skype diese beiden Ports, also muss man es schliessen um den Apache starten -zu können. Wenn es ein anderes Programm ist, kann man in der Eingabeaufforderung unter WinXP -mit "netstat -ano" nach dem Port suchen und die PID (Process-ID) des Programms herausfinden, dass -den Port schon belegt. Im Taskmanager ist dann der PID das Programm zugeordnet. -Unter Win2k oder anderen Versionen ist mir keine Möglichkeit bekannt. -------------------------------- Jetzt bitte noch Kapitel 2 und 3 durchlesen. 1.2 Installation (ZIP): ======================= Diese Version eigenet sich sowohl für Linux als auch für Windows. Allerdings NICHT für einfachen Webspace ! Man muss ein laufendes System bestehend aus folgenden Komponenten haben : - Webserver (zB Apache) - MySQL Datenbank - PHP 5 - eAccelerator 0.9.3. extension für PHP Für die fauleren Leute gibt es alles zusammen bei www.apachefriends.de. eAccelerator muss man allerdings erst wieder "einkommentieren" in der php.ini (apache/bin/php.ini). Alternativ kann man sich natürlich auch alles einzeln installieren/selber compilieren. Damit ist man dann auch immer auf dem neuesten Stand. Die Installation von die-kreuzzuege besteht dann nur noch aus dem Kopieren der Dateien in den Document root (zB htdocs). Die Verbindung zur Datenbank muss noch in der config/config.inc.php eingetragen werden. Lauffähig ist es jetzt schon, allerdings muss das Kampfscript noch im Hintergrund gestartet werden. Zu finden ist es unter movementScripts/movement_script.php Unter Windows könnte eine .bat-Datei folgendermassen aussehen : :endlos pfad\zu\der\php.exe htdocs\movementScripts\movement_script.php goto endlos Unter Linux in etwa so : #!/bin/sh cd movementScripts while true; do /pfad/zu/php movement_script.php done Die Endlosschleife ist jeweils nur für den Fall, dass das Script abstürzen sollte. 1.3 Installation (ZIP als update für XAMPP): ============================================ Du hast dir nur die wenige MB große ZIP-Datei gezogen und willst sie über die dummie-version installieren ? Kein Problem. Dazu musst du nur : 1. Alle Dateien und Unterverzeichnisse nach \htdocs kopieren. 2. XAMPP starten und http://localhost/phpmyadmin aufrufen. (Datenbanken) -> kreuzzuege auswählen -> SQL (da oben neben "Struktur") -> Durchsuchen ... -> Die Datei kreuzzuege.sql im Adminverzeichnis auswählen -> OK 3. Sich freuen 2. Start ======== Ins Spiel kommst du jetzt, indem du im Browser "http://localhost" eingibst. Statt localhost geht auch deine IP (genau die müssen deine Freunde aus dem LAN eingeben). Das Admin-menü ist unter "http://localhost/admin" zu erreichen, nachdem du ein Passwort definiert hast. Das machst du, indem du die Datei "makepasswd.bat" ausführst. Nach der Eingabe eines Passworts sind alle wichtigen Verzeichnisse per htaccess geschützt. Der Username ist immer "admin", das Passwort das, was du eingegeben hast. Standardpasswort ist ebenfalls "admin" Die Geschwindigkeit des Spielst kannst du ebenso wie vieles andere im Adminmenü ändern. 3. Internet =========== Das Spiel ist automatisch auf 10 Leute aus dem Internet begrenzt. Diese Sperre lässt sich auch nicht umgehen (auch nicht, wenn man mich lieb bittet). Auch die gekaufte Version hat diese Beschränkung. Spieler aus dem LAN können natürlich ohne Beschränkung teilnehmen. Andere Leute aus dem Internet können auf dein Spiel über deine IP-Adresse zugreifen. Diese bekommst du am leichtesten über http://www.whatismyip.com Das funktioniert allerdings nur dann, wenn du nicht hinter einem Router sitzt. Sollte dies der Fall sein, so muss Port 80 vom Router auf deinen Rechner geforwarded werden. Wie man das macht ist der Anleitung vom Router sicherlich zu entnehmen. Mich braucht ihr da bitte nicht zu fragen und auch im Forum ist es sinnlos, da es von Router zu Router unterschiedlich ist. Anhaltspunkte sind : NAT, Virtual Server oder ähnliches. Der externe Port ist mit dem internen Port identisch "80". Die interne IP ist die LAN-IP des Rechners, auf dem der Server laufen soll. Es besteht die Möglichkeit, das eigene Spiel in eine von "Die-Kreuzzeuge" verwaltete Serverliste aufnehmen zu lassen. Dafür ist in der Datei config/advanced.inc.php die Variable sendServerInfo auf "true" zu setzen und der Servername anzupassen. Sobald kreuzzuege_start läuft, wird Kontakt mit dem DK-Server aufgenommen und der Server eingetragen. Alle laufenden Spiele sind unter http://www.die-kreuzzuege.de/lanlist.php zu finden. 4. Modifikationen ( ... nichts für Anfänger ) ================= Ausser den im Administrationsmenü möglichen Einstellungen und denen in den Konfigurationsdateien gibt es noch die Möglichkeit die Daten direkt in der Datenbank zu verändern oder zu erweitern. Eine genau Erklärung gebe ich hier nicht, aber die meisten Tabellen und Spaltennamen tragen selbsterklärende Namen. 4.1 Einheiten-/Gebäudenamen ändern ---------------------------------- Da es sehr häufig gefragt wird : Ist im Adminmenü unter "Einheiten/Gebäude ändern" zu finden. 4.2 Andere Sprachen ------------------- Neben den Dateien language_.inc.php und menubar_.inc.php muss auch noch die Datenbank angepasst werden. In die Tabellen unit_costs, building_costs und research_costs muss für eine zusätzliche Sprache die entsprechenden Spalten _name und _text. Ich würde mich sehr freuen, wenn mir jemand komplette Übersetzungen schickt. 4.3 Neue Einheiten ------------------ Seit dieser Version im Adminmenü zu finden. Es gibt allerdings ein paar "reservierte" interne Namen. Namen, die mit "schiff" anfangen, sind Schiffe. Die Tragfähigkeit gibt an, wieviele Truppen geladen werden können. Namen, die auf "spy" enden sind Spione. Davon sollte es nur eine Einheit geben. "kata" ist für das Katapult reserviert, mit dem man Gebäude beschiessen kann. "missio" ist der Missionar (oder eben die Einheit, die Zustimmung abziehen kann). 4.4 Neue Gebäude ---------------- Die Gebäude stehen in der Tabelle "building_costs" und müssen ebenfalls von 1 an durchnummerierte IDs tragen. Durch einen neuen Eintrag kann ein neues Gebäude zwar gebaut werden, aber noch nicht benutzt. Soll das Gebäude zum Einheitenbau dienen muss den darin gebauten Einheiten diese Gebäude-ID zugewiesen werden. Des weiteren MUSS der "name" des Gebäudes mit einem Unterstrich (_) beginnen, damit es als produzierendes Gebäude erkannt wird. Um das Gebäude letztendlich benutzen zu können muss noch die Tabelle "village_status" um drei Spalten erweitert werden. Die Spalten müssen _time (int), _building (text) und _endtime (int) heissen. Dort werden dann die Bauaufträge gespeichert. Ausserdem muss die Tabelle buildings um die Spalte erweitert werden. Gebäude die einem anderen Zweck dienen sollen sind keine Beschränkung unterworfen. Die Seite (das PHP- Script) das dargestellt werden soll, wenn man in das Gebäude geht muss .php heissen. Für eigene Scripte gilt : Der ID des aktuellen Users ist in $kzloginid zu finden. Alles weitere kann aus den Datenbanken geholt werden. 5. Bots ======= Bisher hat sich noch niemand gefunden, der einen Bot programmieren wollte. Es existiert allerdings eine von mir geschriebene Entwicklerversion. Dieser Bot ist in seinen Fähigkeiten sehr beschränkt und baut zumeist einfach nur seine Burg auf. Ob man damit Spass haben kann, ist fraglich. Zu finden ist er unter http://www.die-kreuzzuege.de/bot.zip Einfach irgendwo entpacken, die Datei bot.php mit einem Texteditor bearbeiten und danach eben diese Datei mit PHP starten. Also beispielsweise in der Eingabeaufforderung mit C:\xampp\php\php.exe c:\xampp\meinbot\bot.php