Hi Anthropos
Sorry für die Verzögerung (hab viel zutun)
Also das mit den PK3's hast du ja schon rausgefunden.
Wenn du deinen Server mit 'sv_pure 0' laufen lässt und du überprüfst das später, prüfst du vermutlich die Einstellung deines Client.
Damit du die Einstellung des Servers siehst, musst du auch den Server fragen.
Zum Thema 'sv_pure':
Diese Variable war der erste Versuch in der Q3-Engine den Cheatern einen Riegel vorzuschieben. 'SV_' steht für 'Server' und 'PURE' für 'Sauber'. Sobald ein Server im sauberen Betrieb läuft (sv_pure 1), berechnet der Server von jeder PK3 eine MD5-Prüfsumme. Alle anderen Dateien die nicht in einer PK3 liegen werden ignoriert. Jeder Client der sich zu einem Pure-Server connectet, muss ebenfalls für jede PK3 eine MD5-Prüfsumme berechnen und den Server übermitteln. Der Server entscheidet dann anhand seiner MD5-Liste ob der Client diese PK3 verwenden darf oder nicht. Das ist auch der Grund warum ein Sound- oder Skin-Pack auch auf dem Server liegen muss damit es der Client verwenden darf.
Eine MD5 ist eine Quersumme des gesamten Inhalts der Datei. Der Name der Datei sowie das Datum sind irrelevant.
Auf einen Unpure-Server (sv_pure 0) verwendet der Client alle Dateien die er verarbeiten kann. Auch jene die nicht in einer PK3 liegen (Sounds, Texturen, Scripte, etc...). Dadurch wird das Cheaten ermöglicht zB durch ein Skin-Pack mit knalligen Farben erkennst du Feinde bereits von weiter Ferne.
Überleg dir also gut ob dein Server Pure oder Unpure läuft.
Thema PK3 vom Server downloaden.
Grundsätzlich wurde ET so programmiert daß der Client nur jene PK3's vom Server läd die er zum spielen benötigt und auch dann erst downloadet wenn sie erforderlich sind (zB: neue Maps).
Da der Client bei einer Campaign auch das CampaignScript braucht, muss es in einer PK3 liegen und muss beim connecten bereits gezogen werden. Da der Server aber nicht weis ob die Campaign eventuell gewechselt wird, schickt er dem Client alle PK3's in denen sich ein CampaignScript befindet. Leider stecken viele Mapper zu ihrer Map ein CampaignScript in die PK3 hinzu. Das Ergebnis ist daß fast alle Maps den Clients übertragen werden obwohl sie nicht erforderlich sind und die darin liegende Campaign auch nie läuft (aber woher soll das der Server wissen?).
Unter ETmain bleibt dir nur alle PK3's die nicht benötigt werden aus dem 'etmain'-Verzeichnis zu entfernen.
Unter ETpro kannst du ein (oder mehrere) CampaignFile angeben das auf dem Server läuft oder laufen könnte. Dadurch muss der Server nicht alle PK3's durchforsten und schickt dem Client wirklich nur die PK3 in der die tatsächlichen CampaignScripts liegen.
Code: Alles auswählen
set b_campaignfile "scripts/campaign_filename.campaign"
Nachdem du nur die Standard-Campaigns laufen lassen willst, müsste diese Einstellung reichen.
Code: Alles auswählen
set b_campaignfile "scripts/centraleurope.campaign scripts/northafrican.campaign"
mfG WoodSTokk