MikeTNT
Es gibt zwar bereits die meisten Infos über Einzelmapdownload im Thread Serveradmins: Autodownload aller Maps beim Connecten verhindern!, aber irgendwie scheinen einige immer noch nicht das Prinzip verstanden zu haben.
Da ich dennoch recht häufig gefragt werde, wie der Einzelmapdownload funktioniert, habe ich mal meine Methode aufgeschrieben:
Ich teste alle Einzelmaps, bevor ich sie auf den Server schiebe (Sprich: Ich habe einen Testserver laufen).
Wenn ich Maps für gut befunden habe, schiebe ich die Maps zu Hause in einen Ordner (z.B. CODTEMP).
Anschließend benenne ich alle gesammelten Maps um von 0.iwd bis 9.iwd bzw. a.iwd bis v.iwd
Achtung: So viele iwd-Dateien kann man auf einem pure-Server (sv_pure = 1) nur verwenden, wenn man auf dem Server folgende Originaldateien gelöscht hat: iw_01.iwd und iw_02.iwd
Hinweise:
- z.iwd reserviere ich für meinen Mod (= Clientdatei). Darin befinden sich sämtliche Modifikationen, die der Client benötigt (Rcon, Mapfixes uns solche Dinge).
Hierzu muss man natürlich wissen, wie man iwd-Dateien in ein Verzeichnis entpackt und wie man wieder neue iwd-Dateien erzeugt. Beim Überschreiben muss man natürlich die Reihenfolge beachten: Zuerst Mod entpacken, dann sämtliche Zusatzmodifikationen, die eventuell Teile des Mods überschreiben müssen.
- Den serverseitigen Teil des Mods, schiebe ich entpackt (!) auf den Server in den Modordner. Anmerkung: Natürlich kann man den serverseitigen Teil mit in den Client-Teil packen, aber ich vermeide natürlich, dass der Spieler zu große Dateien laden muss und außerdem nimmt man sich die Möglichkeit, diverse Modifikationen im laufenden Betrieb vorzunehmen..
Nun zurück zu den umbenannten Einzelmaps:
Diese kopiere ich nun in den main-Ordner des Linux-Servers und setze anschließend die Dateirechte auf 755
Natürlich schiebe ich die Dateien auch auf meinen Redirect-Server und vergebe ebenfalls Zugriffsrechte.
Hinweis: Jetzt sollte man bereits testen, ob der Server startet. Es werden zwar alle Maps geladen, wenn man den Server betritt, aber primär geht es ja nur darum, zu sehen, ob der Server mit den vielen Maps samt Redirect läuft.
Nun gehe ich wieder auf meine Festplatte zu Hause, wo die Einzelmaps liegen:
Vorbereitung: Meine iwd-Dateien habe ich mit WinRAR verknüpft, da man mit WinRAR am einfachsten Archive öffnen kann (Zum Packen darf man WinRAR nicht verwenden, nur zum Anschauen oder Entpacken der iwd-Dateien!).
Also mache ich einen Doppelklick auf die erste Einzelmap und WinRAR öffnet automatisch die iwd-Datei.
Erster Schritt (auf hunkusage.dat überprüfen):
Mein erster Blick geht in den Hauptpfad. Wenn dort eine hunkusage.dat liegt, öffne ich diese dat mit dem internen Viewer von Winrar und kopiere mir die Inhalte heraus.
Diese speichere ich in einer neuen Textdatei (z.B. mit Notepad).
Sollte ich in anderen Einzelmaps weitere hunkusage.dat finden, kopiere ich den Inhalt auch heraus und hänge die Texte hinter die in Notepad geöffneten Einträge von der vorherigen Map.
Wenn man alle hunkusage.dat-Einträge gesammelt hat, speichert man diese Datei als hunkusage.dat und man kopiert diese in den Hauptpfad des Modverzeichnisses auf dem Server.
Anmerkung: hunkusage.dat sind zum Glück selten in Einzelmaps vorhanden (= Funktion für Ladebalken). Es ist ratsam, aus der Original iw_15.iwd die hunkusage.dat zu kopieren (Betonung liegt auf kopieren!) und dort die zusätzlichen Inhalte der Einzelmaps mit hunkusage.dat anzuhängen, da es sonst Probleme mit dem Ladebalken geben kann.
Zweiter Schritt (soundaliases rauskopieren):
Nun schaue ich noch nach, ob in der Map-iwd ein Ordner namens soundaliases existiert.
Wenn ja, greife ich in WinRAR den kompletten Order Soundaliases und kopiere ihn in einen Order (z.B. CODTEMP).
Ergo: Man hat nun den Ordner Soundaliases entpackt und darin befindet sich die "böse" csv-Datei, die den Einzeldownload verhindert.
Den Ordner Soundaliases kopiert man nun aus jeder Map raus (kopieren! nicht rauslöschen!), so dass auf der Platte zu Hause ein Ordner Soundaliases existiert, in dem sich dann alle csv-Dateien befinden.
Wenn man fertig ist, kopiert man diesen Ordner Soundaliases samt Inhalt auf den Server in den Mod-Ordner (NICHT PACKEN! Einfach entpackt lassen!)
Dritter Schritt (Gametypes und Consolennamen notieren für die Maprotation):
In jeder Map gibt es einen Ordner "mp", worin sich eine arena-Datei befindet.
Diese öffnet man auch mit dem Viewer von WinRAR.
Nun kopiere man sich von sämtlichen Einzelmaps die Texte heraus. Auch hierfür öffne ich Notepad und kopiere alles Einträge untereinander.
Beispiel-Inhalt einer arena-Datei:
{
map "mp_test"
longname "Bin ein Test"
gametype "dm tdm sd ctf "
}
Erklärung:
Der Ausdruck hinter map ist der Consolenname, den man in der Maprotation benötigt
Alles was hinter gametype steht, sind die Gametypes, die die Map angeblich unterstützt (angeblich deshalb, weil viele Mapper Fehler machen und die Maps mit bestimmten Gametypes nicht fehlerfrei funktionieren)
Bevor ich etwas vergessen habe, so sollte nun der Modordner auf dem Server aussehen:
- Entpackte Verzeichnisse und Dateien des Mods
- gepackter clientseitiger Teil des Mods (z.iwd)
- Ein Ordner namens Soundaliases mit den csv-Dateien der Einzelmaps darin
- Im Hauptpfad die selbst erstellte hunkusage.dat
- Die cfg-Dateien, die zum Starten des Servers bzw. des Mods benötigt werden.
So sollte dein main-Ordner aussehen:
Alle Original-iwd-Dateien (außer iw_01.iwd und iw_02.iwd)
Alle umbenannten Einzelmapdateien (0.iwd - 9.iwd bzw. a.iwd bis v.iwd)
Bei aktiviertem http-redirect müssen natürlich alle Dateien, die schnell herunter geladen werden sollen, ebenfalls auf dem redirect-Server vorhanden sein.
cu Mike
PS: Falls es Unklarheiten gibt, bitte hier nachfragen. Ich werde dann versuchen, meinen Text anders zu formulieren bzw. zu ergänzen.
Da ich dennoch recht häufig gefragt werde, wie der Einzelmapdownload funktioniert, habe ich mal meine Methode aufgeschrieben:
Ich teste alle Einzelmaps, bevor ich sie auf den Server schiebe (Sprich: Ich habe einen Testserver laufen).
Wenn ich Maps für gut befunden habe, schiebe ich die Maps zu Hause in einen Ordner (z.B. CODTEMP).
Anschließend benenne ich alle gesammelten Maps um von 0.iwd bis 9.iwd bzw. a.iwd bis v.iwd
Achtung: So viele iwd-Dateien kann man auf einem pure-Server (sv_pure = 1) nur verwenden, wenn man auf dem Server folgende Originaldateien gelöscht hat: iw_01.iwd und iw_02.iwd
Hinweise:
- z.iwd reserviere ich für meinen Mod (= Clientdatei). Darin befinden sich sämtliche Modifikationen, die der Client benötigt (Rcon, Mapfixes uns solche Dinge).
Hierzu muss man natürlich wissen, wie man iwd-Dateien in ein Verzeichnis entpackt und wie man wieder neue iwd-Dateien erzeugt. Beim Überschreiben muss man natürlich die Reihenfolge beachten: Zuerst Mod entpacken, dann sämtliche Zusatzmodifikationen, die eventuell Teile des Mods überschreiben müssen.
- Den serverseitigen Teil des Mods, schiebe ich entpackt (!) auf den Server in den Modordner. Anmerkung: Natürlich kann man den serverseitigen Teil mit in den Client-Teil packen, aber ich vermeide natürlich, dass der Spieler zu große Dateien laden muss und außerdem nimmt man sich die Möglichkeit, diverse Modifikationen im laufenden Betrieb vorzunehmen..
Nun zurück zu den umbenannten Einzelmaps:
Diese kopiere ich nun in den main-Ordner des Linux-Servers und setze anschließend die Dateirechte auf 755
Natürlich schiebe ich die Dateien auch auf meinen Redirect-Server und vergebe ebenfalls Zugriffsrechte.
Hinweis: Jetzt sollte man bereits testen, ob der Server startet. Es werden zwar alle Maps geladen, wenn man den Server betritt, aber primär geht es ja nur darum, zu sehen, ob der Server mit den vielen Maps samt Redirect läuft.
Nun gehe ich wieder auf meine Festplatte zu Hause, wo die Einzelmaps liegen:
Vorbereitung: Meine iwd-Dateien habe ich mit WinRAR verknüpft, da man mit WinRAR am einfachsten Archive öffnen kann (Zum Packen darf man WinRAR nicht verwenden, nur zum Anschauen oder Entpacken der iwd-Dateien!).
Also mache ich einen Doppelklick auf die erste Einzelmap und WinRAR öffnet automatisch die iwd-Datei.
Erster Schritt (auf hunkusage.dat überprüfen):
Mein erster Blick geht in den Hauptpfad. Wenn dort eine hunkusage.dat liegt, öffne ich diese dat mit dem internen Viewer von Winrar und kopiere mir die Inhalte heraus.
Diese speichere ich in einer neuen Textdatei (z.B. mit Notepad).
Sollte ich in anderen Einzelmaps weitere hunkusage.dat finden, kopiere ich den Inhalt auch heraus und hänge die Texte hinter die in Notepad geöffneten Einträge von der vorherigen Map.
Wenn man alle hunkusage.dat-Einträge gesammelt hat, speichert man diese Datei als hunkusage.dat und man kopiert diese in den Hauptpfad des Modverzeichnisses auf dem Server.
Anmerkung: hunkusage.dat sind zum Glück selten in Einzelmaps vorhanden (= Funktion für Ladebalken). Es ist ratsam, aus der Original iw_15.iwd die hunkusage.dat zu kopieren (Betonung liegt auf kopieren!) und dort die zusätzlichen Inhalte der Einzelmaps mit hunkusage.dat anzuhängen, da es sonst Probleme mit dem Ladebalken geben kann.
Zweiter Schritt (soundaliases rauskopieren):
Nun schaue ich noch nach, ob in der Map-iwd ein Ordner namens soundaliases existiert.
Wenn ja, greife ich in WinRAR den kompletten Order Soundaliases und kopiere ihn in einen Order (z.B. CODTEMP).
Ergo: Man hat nun den Ordner Soundaliases entpackt und darin befindet sich die "böse" csv-Datei, die den Einzeldownload verhindert.
Den Ordner Soundaliases kopiert man nun aus jeder Map raus (kopieren! nicht rauslöschen!), so dass auf der Platte zu Hause ein Ordner Soundaliases existiert, in dem sich dann alle csv-Dateien befinden.
Wenn man fertig ist, kopiert man diesen Ordner Soundaliases samt Inhalt auf den Server in den Mod-Ordner (NICHT PACKEN! Einfach entpackt lassen!)
Dritter Schritt (Gametypes und Consolennamen notieren für die Maprotation):
In jeder Map gibt es einen Ordner "mp", worin sich eine arena-Datei befindet.
Diese öffnet man auch mit dem Viewer von WinRAR.
Nun kopiere man sich von sämtlichen Einzelmaps die Texte heraus. Auch hierfür öffne ich Notepad und kopiere alles Einträge untereinander.
Beispiel-Inhalt einer arena-Datei:
{
map "mp_test"
longname "Bin ein Test"
gametype "dm tdm sd ctf "
}
Erklärung:
Der Ausdruck hinter map ist der Consolenname, den man in der Maprotation benötigt
Alles was hinter gametype steht, sind die Gametypes, die die Map angeblich unterstützt (angeblich deshalb, weil viele Mapper Fehler machen und die Maps mit bestimmten Gametypes nicht fehlerfrei funktionieren)
Bevor ich etwas vergessen habe, so sollte nun der Modordner auf dem Server aussehen:
- Entpackte Verzeichnisse und Dateien des Mods
- gepackter clientseitiger Teil des Mods (z.iwd)
- Ein Ordner namens Soundaliases mit den csv-Dateien der Einzelmaps darin
- Im Hauptpfad die selbst erstellte hunkusage.dat
- Die cfg-Dateien, die zum Starten des Servers bzw. des Mods benötigt werden.
So sollte dein main-Ordner aussehen:
Alle Original-iwd-Dateien (außer iw_01.iwd und iw_02.iwd)
Alle umbenannten Einzelmapdateien (0.iwd - 9.iwd bzw. a.iwd bis v.iwd)
Bei aktiviertem http-redirect müssen natürlich alle Dateien, die schnell herunter geladen werden sollen, ebenfalls auf dem redirect-Server vorhanden sein.
cu Mike
PS: Falls es Unklarheiten gibt, bitte hier nachfragen. Ich werde dann versuchen, meinen Text anders zu formulieren bzw. zu ergänzen.