Anleitung: Einzelmapdownload

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.
MikeTNT
FAQ

Funktioniert der Einzelmapdownload auch noch, wenn die Maps im Modordner liegen?
Nein, Einzelmapdownload klappt nur im maín-Ordner! Es ist daher sehr wichtig, dass Einzelmaps inhaltlich nicht modifiziert werden, damit man keine Konflikte bei den Spielern auslöst!

Muß ich meinen Mod komplett entpackt auf dem Server liegen haben?
Nein, man muss nicht. Bei Mods, die einen serverseitigen Teil besitzen, kann man aber eine IWD-Datei einsparen und somit mehr Einzelmaps verwenden.

Muß man iw_01.iwd und iw_02.iwd unbedingt löschen?
Nein. Mit diesen Single-Player-Dateien kann man aber bedeutend weniger Custom Maps verwenden. Da ein Server die Single-Player-Dateien nicht benötigt, macht es also wenig Sinn, diesen Balast zu behalten.

Warum gibt es Maps, die einzeln herunter geladen werden, obwohl man nichts extra auslagern musste?
Viele kleine Maps enthalten keinen Ordner Soundaliases und auch keine Datei namens Hunkusage.dat, so dass bei solchen einfachen Maps der Einzelmapdownload klappt, ohne dass man zusätzlichen Aufwand betreiben muss.
Nightwing

Zitat:

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.
........


Danke, das mit der hunkusage.dat war mir neu, das mit dem "soundaliases" Trick hab ich hier aus dem Forum.

Dankeschön
OLD MAN WITH GUN
Kleine Anmerkung zum Packen mit WinRar:
Man kann auch WinRar zum Packen der iwd-Dateien benutzen wenn man ein paar Dinge beachtet.
Bei Archivformat muss unbedingt ZIP ausgewählt sein und bei Kompressionsmethode muss normal ausgewählt sein. Dann kann man auch problemlos mit WinRar die iwd-Dateien erstellen.
Ich nutze nur WinRar und hatte so bislang noch nie Probleme, dass die damit erstellten iwd-Dateien mit CoD2 nicht funktionierten (auch die für CoD und CoD:UO benötigten pk3-Dateien packe ich damit problemlos).
MIK
Habs mal gefixt.
MikeTNT
Ich habe bewußt darauf verzichtet, WinRAR zu empfehlen, da sonst wieder zu viele Fragen kommen.
Also noch einmal: Man darf WinRAR nicht zum Packen verwenden! Wer es dennoch tut, muss selbst herausfinden, was er einstellen muss.

Ich bevorzuge den Total Commander mit dem internen Zipper.

cu Mike
<|GeW|>L.E.Zocker
Also wenn ich das Richtig verstanden habe, soll ich auch den Mod entpacken.

AHbe ja den PowerServer mod (pw.iwd) den soll ich entpackt in dem Modornder laden.

Und dann noch die nicht gepackten Soundallies Ordner und die gepackten C-Maps mit kurzen bezeichnungen also so hier:




Im soundalies Ordner sind alle Maps nochmal drin:



Sollte es nun so klappen?

Würde es gerne gleich Testen bloß das Hochladen der Maps dauert nun mal noch 3 Stunden.

aber schonmal so als vorab.
Nightwing
nich ganz!!!

in deinem main ordner sind die Maps (und nur die Maps)

im modordner folgendes:

hunkusage.dat
Ordner soundaliases mit den darin enthaltenen .csv Dateien
Clientseitiger Teil des Mods, GEPACKT
Serverseitiger Teil des Mods, entpackt
Server cfg's

Den Clientseitigen Teil des Mods zu packen ist deshalb wichtig, weil der Client die .iwd Datei ja laden muss...

Hier mal ein Screenshot meines MOD Ordners:

(Ach ja, ist auf nem Win Xp Prof SP 2 drauf, ist nur die Serverinstallation, um Maps Mod etc zu Testen
Bei Linux entfällt der ordner players, hinzu kommt ein Ordner .callofduty2)

<|GeW|>L.E.Zocker
Willa ber die Maps aus dem Modordner laden und nicht aus dem Main Ordner. geht das da nicht
Nightwing
Wenn Du die Maps in den Modordner stopfst, ladet es ALLE Maps auf einmal runter, wenn ich mich nicht irre!!!

Also demzufolge müssen die Maps in den main Ordner, damit der Einzeldownload überhaupt funktioniert.

Als Client kannst Du die heruntergeladenen Maps, die Du nem Server zuordnen kannst, in den Modordner verschieben, das dient der Sauberkeit Deines main Verzeichnisses
<|GeW|>L.E.Zocker
Mhm, also in den Main ordner soll sie wirklich nicht. Mal sehen ob es noch ne andere Möglichkeit gibt dafür.

Mal warten was die anderen noch so sagen.
Nightwing
Ich frag mich, warum Du Dich so dagegen sträubst, Maps in den main Ordner zu legen??

Die Originalmaps liegen auch im main Verzeichnis, irgendwo in den iw_00 - iw_15.iwd Files drin...

Wo die letztendlich sind, ist doch egal?? Hauptsache, es tut?!?!?

Zitat:

Mal warten was die anderen noch so sagen.


Jupp, aber bezweifle stark, das es ne andere Lösung gibt
OLD MAN WITH GUN

Zitat:

Original von <|GeW|>L.E.Zocker
Mhm, also in den Main ordner soll sie wirklich nicht. Mal sehen ob es noch ne andere Möglichkeit gibt dafür.
Nein!
Willst du sie als Einzelmaps downloadbar machen müssen die Maps in den Ordner main.
Eine andere Möglichkeit gibt es nicht.
<|GeW|>L.E.Zocker
Okay werde es mal so testen mit den Main Ordner.

Noch ne andere frage, der Redot remover von worms Clan.

Den kann ich doch auch entpacken, ist ja nur ein ordner mit images drin und dort ne datei.

Kann ich diese auch gleich in den Images ordner des entpackten Mod rein kopeiren und die z.redt.iwd komplet vom Server löschen?

EDIT:

Ist die hunkusage.dat so wichtig, oder doch nur wegen lade balken.
MikeTNT
Die hunkusage.dat ist zwar nur für den Ladebalken zuständig, aber leider verhindert die existenz einer hunkusage.dat den Einzeldownload der betreffenden Map. Daher benötigt man die hunkusage.dat unbedingt auf dem Server.

Bezüglich reddotremover: Hierbei handelt es sich um einen clientseitigen Mod (= deine Spieler müssen diese Modifikation herunter laden).
Da iwd-Dateien kostbar sind, muß man versuchen zu sparen, wo es nur geht.
Wie oben angedeutet, kann man alle Modifikationen in einer iwd-Datei zusammenfassen. Wichtig ist nur die Reihenfolge, welche Datei überschrieben wird, falls es Überschneidungen gibt.

cu Mike
<|GeW|>L.E.Zocker
Okay, bei den Maps die ich habe war nur eine mit hunkusage und die habe ich dann überschrieben weil die schon alle anderen Standartmaps drin hatte.

Muss diese nun in den main oder in den Mod Ordner.
Nightwing

Zitat:

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.


Zitat:

(Betonung liegt auf kopieren!)


dazukopieren, nicht überschreiben

und die hunkusage muss in den Mod ordner
<|GeW|>L.E.Zocker

Zitat:

hunkusage und die habe ich dann überschrieben weil die schon alle anderen Standartmaps drin hatte


Wie gesgat sie hatte die anderen Maps schon mit drin, also die CoD² Standartmaps.

Also sollte es kein Prob sein. Extra dadrauf geachtet.
MikeTNT

Zitat:

Original von <|GeW|>L.E.Zocker
Okay, bei den Maps die ich habe war nur eine mit hunkusage und die habe ich dann überschrieben weil die schon alle anderen Standartmaps drin hatte.

Du machst mir Angst. Was hast du überschrieben und wieso hast du überschrieben? Was hat dich dazu veranlasst?
Du sollst doch nur Inhalte rauskopieren und eine hunkusage.dat erstellen, die alle Informationen enthält. Hier ein Beipiel:


maps/newvillers.d3dbsp 150388492
maps/88ridge.d3dbsp 107362136
maps/beltot.d3dbsp 119309312
maps/bergstein.d3dbsp 138879008
maps/breakout.d3dbsp 137201584
maps/cityhall.d3dbsp 115443212
maps/credits.d3dbsp 138662748
maps/crossroads.d3dbsp 144190960
maps/decoytown.d3dbsp 111501744
maps/decoytrenches.d3dbsp 97026712
maps/demolition.d3dbsp 131777764
maps/downtown_assault.d3dbsp 127266128
maps/downtown_sniper.d3dbsp 101766528
maps/duhoc_assault.d3dbsp 170638304
maps/duhoc_defend.d3dbsp 162449544
maps/elalamein.d3dbsp 117242104
maps/eldaba.d3dbsp 147733368
maps/hill400_assault.d3dbsp 131495436
maps/hill400_defend.d3dbsp 123654264
maps/libya.d3dbsp 107676956
maps/matmata.d3dbsp 136569624
maps/moscow.d3dbsp 134150248
maps/movie_africa.d3dbsp 66357516
maps/movie_eastern.d3dbsp 66357516
maps/movie_europe.d3dbsp 66357516
maps/movie_victory.d3dbsp 66357292
maps/rhine.d3dbsp 141523144
maps/silotown_assault.d3dbsp 128634012
maps/slideshow_bergstein.d3dbsp 67613264
maps/slideshow_caen.d3dbsp 67675088
maps/slideshow_earlygrad.d3dbsp 67946384
maps/slideshow_lategrad.d3dbsp 67711056
maps/slideshow_libya.d3dbsp 67878512
maps/slideshow_rhine.d3dbsp 67738256
maps/slideshow_tunisia.d3dbsp 67702512
maps/tankhunt.d3dbsp 135564924
maps/toujane.d3dbsp 143629960
maps/toujane_ride.d3dbsp 147169748
maps/trainyard.d3dbsp 124192752
maps/mp/mp_farmhouse.d3dbsp 94851552
maps/mp/mp_brecourt.d3dbsp 88820736
maps/mp/mp_burgundy.d3dbsp 89647904
maps/mp/mp_trainstation.d3dbsp 100665376
maps/mp/mp_carentan.d3dbsp 101425536
maps/mp/mp_decoy.d3dbsp 77851392
maps/mp/mp_decoy.d3dbsp 77851392
maps/mp/mp_leningrad.d3dbsp 92989760
maps/mp/mp_matmata.d3dbsp 96036128
maps/mp/mp_downtown.d3dbsp 91202816
maps/mp/mp_dawnville.d3dbsp 96751648
maps/mp/mp_railyard.d3dbsp 94698752
maps/mp/mp_toujane.d3dbsp 86289088
maps/mp/mp_breakout.d3dbsp 103113568
maps/mp/mp_rhine.d3dbsp 113309568
maps/mp/mp_harbor.d3dbsp 93294656

maps/mp/mp_pwerk.d3dbsp 100027648 <-- Map Panzerwerk
maps/mp/mp_mancheville_v2.d3dbsp 105619968 <-- Map Mancheville
maps/mp/mp_desertville.d3dbsp 98046112 <-- Map Desertville

Der blaue Teil ist Original, der rote ist ergänzt.

Zitat:

Original von <|GeW|>L.E.Zocker
Muss diese nun in den main oder in den Mod Ordner.

Im Grunde egal, aber nimm den Modordner.

cu Mike
<|GeW|>L.E.Zocker
Keine Angst, ist so wie du es beschrieben hast. Die eine Map hatte schon ne eigene hunkusage und dort waren alle maps von der standart hunkusage drin plus die neue von dem mapper und die habe ich kopert und im mod ordner überschireben mit der standart und nun sieht sie so aus:

maps/newvillers.d3dbsp 150388492
maps/88ridge.d3dbsp 107362136
maps/beltot.d3dbsp 119309312
maps/bergstein.d3dbsp 138879008
maps/breakout.d3dbsp 137201584
maps/cityhall.d3dbsp 115443212
maps/credits.d3dbsp 138662748
maps/crossroads.d3dbsp 144190960
maps/decoytown.d3dbsp 111501744
maps/decoytrenches.d3dbsp 97026712
maps/demolition.d3dbsp 131777764
maps/downtown_assault.d3dbsp 127266128
maps/downtown_sniper.d3dbsp 101766528
maps/duhoc_assault.d3dbsp 170638304
maps/duhoc_defend.d3dbsp 162449544
maps/elalamein.d3dbsp 117242104
maps/eldaba.d3dbsp 147733368
maps/hill400_assault.d3dbsp 131495436
maps/hill400_defend.d3dbsp 123654264
maps/libya.d3dbsp 107676956
maps/matmata.d3dbsp 136569624
maps/moscow.d3dbsp 134150248
maps/movie_africa.d3dbsp 66357516
maps/movie_eastern.d3dbsp 66357516
maps/movie_europe.d3dbsp 66357516
maps/movie_victory.d3dbsp 66357292
maps/rhine.d3dbsp 141523144
maps/silotown_assault.d3dbsp 128634012
maps/slideshow_bergstein.d3dbsp 67613264
maps/slideshow_caen.d3dbsp 67675088
maps/slideshow_earlygrad.d3dbsp 67946384
maps/slideshow_lategrad.d3dbsp 67711056
maps/slideshow_libya.d3dbsp 67878512
maps/slideshow_rhine.d3dbsp 67738256
maps/slideshow_tunisia.d3dbsp 67702512
maps/tankhunt.d3dbsp 135564924
maps/toujane.d3dbsp 143629960
maps/toujane_ride.d3dbsp 147169748
maps/trainyard.d3dbsp 124192752
maps/mp/mp_farmhouse.d3dbsp 94851552
maps/mp/mp_brecourt.d3dbsp 88820736
maps/mp/mp_burgundy.d3dbsp 89647904
maps/mp/mp_trainstation.d3dbsp 100665376
maps/mp/mp_carentan.d3dbsp 101425536
maps/mp/mp_decoy.d3dbsp 77851392
maps/mp/mp_decoy.d3dbsp 77851392
maps/mp/mp_leningrad.d3dbsp 92989760
maps/mp/mp_matmata.d3dbsp 96036128
maps/mp/mp_downtown.d3dbsp 91202816
maps/mp/mp_dawnville.d3dbsp 96751648
maps/mp/mp_railyard.d3dbsp 94698752
maps/mp/mp_toujane.d3dbsp 86289088
maps/mp/mp_breakout.d3dbsp 103113568
maps/mp/mp_rhine.d3dbsp 113309568
maps/mp/mp_harbor.d3dbsp 93294656
maps/mp/mp_mat2.d3dbsp 106113920
maps/mp/mp_pwerk.d3dbsp 100027648
maps/mp/mp_mancheville.d3dbsp 104593120
maps/mp/mp_desertville.d3dbsp 98046112
maps/mp/mp_resparis2.d3dbsp 117200704