Das original ET hat nur sehr wenige Dateien.
Im ET-Verzeichnis selbst, sind die wichtigsten Dateien:
und die Verzeichnisse:
Im 'etmain'-Verzeichnis befindet sich:
Code: Alles auswählen
campaigncycle.cfg
lmscycle.cfg
objectivecycle.cfg
stopwatchcycle.cfg
server.cfg
punkbuster.cfg
pak0.pk3
pak1.pk3 <-- kommt mit Patch 2.56 (v1.02)
pak2.pk3 <-- kommt mit Patch 2.60
Im ET-Verzeichnis liegen dann noch ein paar Textdateien und Docus die ET selbst aber zum laufen nicht braucht.
Starten kannst du ET mit einer der beiden 'exe'-Dateien.
Die 'ET.exe' benutzt der Client und untersucht die Hardware des Rechners ob ET darauf überhaupt läuft.
Die 'ETDED.exe' (DED = dedicated) überspringt die Hardwareerkennung.
Auf einem Server ist nur eine schwache GraKa eingebaut, weil ein Server ja auch nichts darstellen muss.
Über die 'cfg'-Dateien im 'etmain'-Verzeichnis stellst du den Server ein.
Die wichtigste ist die 'server.cfg'.
Von den '*cycle.cfg' brauchst du eigendlich nur die, die du auch verwendest, aber die anderen schaden nicht und wenn du den Server mal umstellst hast du sie schon.
Wenn du die 'server.cfg' angepasst hast, könntest du schon einen ET-Server starten der mit ETmain läuft:
Code: Alles auswählen
"C:\Pfad\zum\etverzeichnis\ETDED.exe" +set com_hunkmegs 32 +exec server.cfg
Dem Server werden nur 32MB Speicher zugewiesen (+set com_hunkmegs 32).
Das reicht für einen Server voll aus, da er keine Texturen und Sounds läd.
Ein Server läd nur die 3D-Welt, die Items und die Collisionmap für die Player, dazu reichen ihm 32MB.
Wenn du mal Costum-Maps auf dem Server laufen lässt und die Fehlermeldung "ERROR: Hunk_Alloc failed" erhältst, dann steigere den Wert von 'com_hunkmegs' immer um 2 (also immer gerade Zahlen), bis der Server die Map läd.
Die Zeilen 'set net_ip' und 'set net_port' in der 'server.cfg' kannst du mit '//' wieder auskommentieren.
Wenn der Host auf dem der Server läuft mehrere IP's hat, kannst du dem Server sagen auf welcher IP und welchem Port er erreichbar sein soll.
Wenn der Server bis hierher läuft, kannst du dich an den Mod machen.
Dazu downloadest du den Mod vom Hersteller.
Das ist meistens eine ZIP-Datei in der der Mod-Ordner bereits enthalten ist, muss aber nicht sein.
Also öffnest du mal das ZIP-File und siehst nach.
Wenn der Mod-Ordner enthalten ist, nimmst du das ZIP-File mit der rechten Maustaste und ziehst es auf das ET-Verzeichnis und lässt los.
Im Kontextmenü wählst du dann 'hier entpacken' oder so.
Wenn kein Mod-Verzeichnis im ZIP-File ist, legst du im ET-Verzeichnis eines an und benennst es so wie der Mod heißt (zB: etpub).
Das ZIP-File entpackst du dann dort hin.
Danach kopierst du noch die 'server.cfg' aus dem 'etmain' ins Mod-Verzeichnis und stellst alles ein.
Mit jedem Mod wird eine 'example.cfg' (oder so ähnlich) mitgeliefert, in der die Settings stehen die den Mod einstellen.
Damit du das Original nicht verlierst, kopierst du diese am besten mit dem Namen des Mods.
Also für ETpub etwa eine Kopie von 'example.cfg' zu 'etpub.cfg'.
Wenn diese fertig eingestellt und gespeichert ist, öffnest du nochmal die 'server.cfg' und schreibst folgende Zeile ans Ende:
Das sorgt dafür, daß die 'etpub.cfg' gleich nach der 'server.cfg' aufgerufen wird damit nicht nur der Server seine Einstellungen erhält, sondern auch der Mod.
Nun muss nur noch der Server wissen, daß er nicht mehr im 'etmain' zuhause ist, sondern in 'etpub'.
Das sagt ihm der Parameter 'fs_game':
Code: Alles auswählen
"C:\Pfad\zum\etverzeichnis\ETDED.exe" +set com_hunkmegs 32 +set fs_game etpub +exec server.cfg
Dieser Parameter macht 'etmain' aber nicht überflüssig, sonst könnte ET die Default-Maps nicht laden und die liegen in der 'pak0.pk3' und diese Datei wiederum liegt ja im 'etmain'-Verzeichnis.
Aber 'etmain' ist nur noch ein Hilfsverzeichnis.
Beim starten wird dem Server angewiesen er soll die Datei 'server.cfg' ausführen.
Diese gibt es aber im 'etpub' genauso wie im 'etmain'.
Durch den Parameter 'fs_game etpub' sieht der Server aber zuerst im 'etpub'-Verzeichnis nach.
Erst wenn dort keine Datei mit diesem Namen gefunden wird sucht es im 'etmain'-Verzeichnis.
Dadurch funktioniert der Trick, daß jeder Mod seine eigene 'server.cfg' haben kann.
Pflicht-Dateien:
Wenn du auf einen Server connectest, bekommst du oft schon am Anfang einige Files auf die Platte gedrückt.
Diese Dateien sind also Pflicht wenn du auf diesen Server spielen willst.
Woher weis der Server aber welche Dateien Pflicht sind?
Im 'etmain'-Verzeichnis sind alle 'pk3'-Dateien Pflicht, die eine Campaignbeschreibung (scripts/*.campaign) enthalten.
Sollte nämlich auf dem Server eine dieser Campaigns laufen, kann der Client im Ladebild den Campaign-Text und die Standorte der einzelnen Maps anzeigen. Ohne der Campaignbeschreibung kann er das nicht.
Alle 'pk3'-Files im 'etmain'-Verzeichnis die keine Campaignbeschreibung beinhalten, sind erlaubt aber nicht Pflicht.
Bei den Mod-Verzeichnissen ('etpub', 'etpro', 'jaymod', etc...) sind alle 'pk3'-Files Pflicht sobald der Mod läuft, egal ob sie eine Campaignbeschreibung beinhalten oder nicht.
Bei einem Skin-Pack, Sound-Pack, Model-Pack, etc. hast du also die Wahl ob du die Spieler dazu zwingen willst (pk3's ins Mod-Verzeichnis) oder ob du diese nur erlauben willst (pk3's ins 'etmain').
So, nun hast du genug Stoff zum testen
mfG WoodSTokk