Forum
.:.FunKiller's Hauptforum.:. Forum: [6] Server Thread: Anleitung zum "sv_pure"-Modus
Anleitung zum "sv_pure"-Modus Seite: « 1 »
#1 am 27.10.2007 um 12:54 Uhr Diesen Beitrag zitieren
.:.FK.:.DiGGaBoON.:.
FunKiller Gründer
Posts: 4031

FunKiller 4 Life
Anleitung zum "sv_pure"-Modus
 
Einleitung
 
Ein "pure server" ist ein Server,
der allen Clienten auf dem Server erzwingt
den gleichen Inhalt zu haben, wie der Server.
Clienten (Spieler) welche auf dem Server spielen,
können durch Modifizierung des Spieleinhalts nicht cheaten.

Ohne "pure server" können Clienten/Spieler ihre Texturen,
Geräusche, und Modelle verändern um sich einen Vorteil zu verschaffen.
Es erlaubt ihnen durch Wände zu sehen,
gegnerische Spieler größer und heller darzustellen
oder verschiedene Geräusche lauter zu machen.

Einfache Verwendung
 
Um "pure server" auf einem Server zu nutzen,
setzen sie die Konsolenvariable "sv_pure" auf 1.
Nach dem nächsten Kartenwechsel beginnt der Server
mit der Wahrung der Übereinstimmung des Inhaltes
(materials, models, und sounds)
der Clientrechner mit Inhalt auf dem Server.

Die Liste mit dem Inhalt, was der Server erzwingt,
ist in einer Datei namens "pure_server_whitelist.txt" festgelegt,
welche im Spiel-Verzeichnis enthalten ist.
Auf dem Server kann diese Datei angepasst werden,
um die Liste der erzwungenen Inhalte zu ändern.
Zum Beispiel kann der Server angeben,
dass es den Clienten erlaubt ist Geräusche zu verändern,
aber keine Texturen oder Modelle zu verändern.
 
Anmerkung
 
Clienten öffnen nicht die Datei "pure_server_whitelist.txt",
was sie daran hindert die Servervorgabe
durch bearbeiten der Datei zu umgehen.

Standardmäßig kickt der Server Clienten,
welche andere Inhalte verwenden als das,
was der Server erzwingen möchte.
Wenn ein Server den Clienten nur eine Warnung wegen
"unsauberen" Inhalt geben soll, dann kann
"sv_pure_kick_clients" auf 0 gesetzt werden.

Whitelist Dateiformat
 
Die Datei "pure_server_whitelist.txt"
legt Eigenschaften für Gruppen von Dateien fest.
Jede Zeile bestimmt eine Datei oder Gruppe
von Dateien und die Eigenschaften dieser Dateien.

Hier ein Beispiel:

materials...        from_steam
 
Der erste Teil ['materials...'] legt die Dateien fest.
In diesem Fall werden alle Dateien im Verzeichnis
materials Rekursiv eingeschlossen.
Der Zweite Teil ['from_steam'] legt die Eigenschaften
für die Dateien fest. In diesem Fall heißt es,
dass alle Dateien von Steam kommen müssen.
Wenn also Clienten eigenen Inhalt in ihrem materials
Verzeichnis haben, wird der Inhalt nicht genutzt
und anstelle wird der Inhalt von Steam verwendet.

Es gibt drei Wege Dateien bzw. Dateigruppen festzulegen:

1. Nur der Dateiname. Dieser Modus legt nur eine Datei fest.
[code]z.B.: materialsmodelspropscs_assaultwirepipe.vtf[/code]
2. Alle Dateien in einem Verzeichnis
[code]z.B.: materialsmodelspropscs_assault*.*[/code]
3. Alle Dateien in einem Verzeichnis und
deren Dateien in den Unterverzeichnissen (alle Dateien rekursiv).
[code]z.B: materialsmodels...[/code]

Es gibt drei Wege Eigenschaften festzulegen:

1. from_steam
 
Das erzwingt alles aus dem Steamspeicher zu laden,
auch wenn eigene Inhalte auf der Festplatte sind.

2. allow_from_disk
 
Wenn diese Eigenschaft festgelegt ist,
laden die Clienten die festgelegten Dateien von Festplatte.
Sie müssen auch nicht mit den Inhalt auf dem Server übereinstimmen.
So sind die Dateien komplett ungeschützt.

3. allow_from_disk+check_crc
 
Wenn diese Eigenschaft festgelegt ist,
laden die Clienten die festgelegten Dateien von Festplatte.
Die Inhalte müssen aber mit dem Server übereinstimmten.

Beispiele
 
materialsmodelsplayer...                               allow_from_disk
sounds...                                                     from_steam
modelsMyMod...                                           allow_from_disk+check_crc
materialsMyModCustomizable*.*                    allow_from_disk
materialsmodelspropscs_assaultwirepipe.vtf     from_steam
 
Standardeigenschaften
 
Wenn "sv_pure" auf 1 gesetzt ist,
ist für alle Dateien die Standardeigenschaft "allow_from_disk".
Wenn also eine leere "pure_server_whitelist.txt"-Datei vorhanden ist,
und "sv_pure" auf 1 gesetzt ist, hat es keinen Unterschied zu "sv_pure 0".
 
Anmerkung
 
Die Standard-"pure_server_whitelist.txt"-Datei wird mit Steam geliefert,
welche schon Einstellungen besitzt.
Wenn die Datei nicht bearbeitet wurde,
wird der meiste Inhalt erzwungen.

Standard-"pure_server_whitelist.txt"-Datei
 
whitelist
{
    //
    // 3 modifiers are allowed on file specifications:
    //
    //    from_steam        - only check the Steam cache for the file (ignore anything on disk)
    //    allow_from_disk        - allow the file to come from disk
    //    check_crc        - used with allow_from_disk - server does CRC checks on the client's file to make sure it matches
    //
    //    The default modifier on all files is allow_from_disk. Thus, all files can come from disk and don't need CRC checks unless
    //    allow_from_disk can be set at the same time as check_crc. Use the + character in between them to signify this: allow_from_disk+check_crc.


    //
    // Three types of file specifications:
    //
    //    1. directory*.*    - refers to all files under the directory
    //    2. directory...    - refers to all files under the directory and all directories under that (recursively)
    //    3. directoryfilename    - refers to a single file
    

    //    
    // By default, when in pure server mode, most content file types are only allowed to come from Steam.
    //
    materials...            from_steam
    models...            from_steam
    sound...            from_steam
    
    
    //
    // Allow custom player models. Don't do CRC checks on them because the clients may all
    // have different custom models and the server won't have them all.
    //    
    modelsplayer...        allow_from_disk
    materialsmodelsplayer...    allow_from_disk


    //
    // Allow custom spray decals.
    //
    materialstemp...        allow_from_disk
    materialsvguilogos...    allow_from_disk
    materialsvguilogosui...    allow_from_disk
    
        
    
    //
    // (Uncomment and edit these for mods).
    // Allow mod resources to come from disk.
    //
    // materialsmymod...        allow_from_disk+check_crc
    // modelsmymod...        allow_from_disk+check_crc
    // soundmymod...        allow_from_disk+check_crc
}

Stapelung
 
Die Eigenschaften für Dateien werden in der "pure_server_whitelist.txt"-
Datei von oben nach unten angewandt.
Auf diesem Weg kann eine Eigenschaft auf

Die Eigenschaften für Dateien werden in der Reihenfolge
von oben nach unten in der "pure_server_whitelist.txt"-Datei angewandt.
Auf diesem Weg kann eine Eigenschaft auf eine große Auswahl von Dateien
und davon eine Teilmenge dieser Dateien gesetzt werden.
Wenn sie z.B. alle Modelle (models) von Steam erzwingen wollen
ausgeschlossen Modelle unter (modelsMyMod),
können sie diese Zeilen ihn ihrer
"pure_server_whitelist.txt"-Datei hinzufügen:
 
   models...         from_steam
   modelsMyMod...   allow_from_disk+check_crc
 
Fortgeschrittene Nutzung

The team who is not hosting the game can look in their console at round start and see which sv_pure mode the server is using. If the server is using sv_pure 2, then the non-hosting team can know that the players on the hosting team are not using custom content. Wenn die "sv_pure" auf 2 setzen, lädt der Server nicht die "pure_server_whitelist.txt"-Datei. Anstelle dessen wird die Eigenschaft from_steam auf alle Texturen, Modelle, und Geräusche verwendet. Das kann sehr nützlich für Wettkämpfe sein, bei denen ein Team den Server stellt. Das Team, welches den Server nicht stellt, kann in seiner Konsole beim Rundenstart sehen welchen "sv_pure"-Modus der Server verwendet. Wenn der Server "sv_pure 2" verwendet, wird das Nicht-Hostende Team wissen, dass das andere Team, was den Server stellt, keine eigenen Inhalte verwendet.

Geschwindigkeit
 
Es gibt zwit Orte an denen es Auswirkungen auf die Geschwindigkeit gibt.

1. Wenn der Server die erste Karte nach dem Setzen von "sv_pure" auf 1 lädt, hat er die Prüfsumme für alle Dateien, welche mit der Eigenschaft "allow_from_disk+check_crc" gekennzeichnet sind, vorher zu berechnen. Wenn z.B. die "pure_server_whitelist.txt"-Datei folgende Zeile beinhaltet:
 
materials...   allow_from_disk+check_crc
 
Der Server wird nach der ersten Karte für eine sehr lange Zeit pausieren, weil er die Prüfsummen für jede einzelne Textur-Datei im Spiel berechen muss.
"sv_pure" auf 2 zu setzen wird sich auf die Servergeschwindigkeit nicht auswirken, weil der Server keine Prüfsummen berechnen muss.

2. Wenn ein Client eine Karte lädt und der Wert von "sv_pure" geändert wurde, lädt der Client jeden notwendigen Inhalt neu um den Pure-Server-Regeln zu gehorchen. Wenn also ein Client sehr viele eigene Texturen, Modelle und Geräusche besäße, welche auf dem vorherigen Server benutzerdefiniert waren und sich dann zu einem Pure-Server verbände, hätte der Client alle Texturen, Modelle und Geräusche neu zu laden. Generell ist der Geschwindigkeitsverlust auf dem Clienten vernachlässigbar, weil beim Verbinden zu einem Pure-Server nur ein paar neue Dateien gecheckt werden.

Weitere Anmerkungen

In den meisten Fällen, selbst wenn Clienten eigenen Inhalt auf ihrer Festplatte besitzen, ist es ihnen erlaubt auf einem Pure-Server zu spielen. Die Source Engine wird sicherstellen, dass der Inhalt von Steam (anstelle des Inhaltes der Festplatte) verwendet wird, wenn ein Client auf einem Pure-Server spielt. Auf diesem Weg müssen die Clienten nicht durch die Spieleverzeichnisse gehen um Verzeichnisse vom altem Inhalt zu bereinigen, bevor sie auf einem Pure-Server spielen. Stattdessen müssen sie nur auf den Server kommen und der richtige erlaubte Inhalt wird automatisch verwendet.

Wissenswertes

[*] Die Datei "pure_server_whitelist.txt" befindet sich standardmäßig im Verzeichnis "./hl2". Einstellungen dieser Datei wirken sich auf das aktuell laufende Mod aus. Wenn z.B. "Counter-Strike: Source" läuft, werden die Einstellungen von "./hl2/pure_server_whitelist.txt" geladen. Wird zusätzlich eine "pure_server_whitelist.txt" im das Modverzeichnis vom aktuell laufenden Mod (z.B. cstrike) erstellt, wird die Datei in "./hl2" ignoriert. Das ist von Bedeutung, wenn man bei einem Provider ist, der gleich mehrere Mods auf dem Gameserver installiert hat.

[*] Benutzerdefinierte Texturen von Karten werden genauso wenig wie eigene Modelle und Geräusche funktionieren, wenn sie nicht in der Whitelist enthalten sind und das Attribut "allow_from_disk" oder "allow_from_disk+check_crc" besitzen.

[*] Saysounds usw. werden mit sv_pure 2 nicht funktionieren. Bei sv_pure 1 müssen sie in der Whitelist stehen (z.B. soundadmin_plugin...  allow_from_disk)

[*] Linuxnutzern wird sicherlich aufgefallen sein, dass in der Whitelist als Pfad-Trenner der umgekehrte Schrägstrich () verwendet wird. Es kann aber genauso gut der normale Schrägstrich als Pfad-Trenner verwendet werden. Es ist sogar eine gemischte Nutzung möglich.

[*] Wird die Option "allow_from_disk+check_crc" Verwendet, werden nach Änderung auf "sv_pure 1" beim Laden einer Map die Prüfsummen der Dateien erstellt und im Zwischenspeicher abgelegt. Wird der Server neugestartet muss wieder alles neu berechnet werden. Das sollte berücksichtigt werden. Steht "sv_pure 1" in der autoexec.cfg, werden die Prüfsummen der eingetragenen Dateien vor dem Laden der ersten Map berechnet.

[*]
Spieler können durch Eingabe von sv_pure in der Konsole herausfinden in welchem Pure-Modus der Server sich befindet. Bei dem Pure-1-Modus werden Eigenschaften (from_steam, allow_from_disk und allow_from_disk+check_crc) von Verzeichnissen und Dateien ausgegeben.

* Fettes merci an @ sourceserver *
 


Seite: « 1 »

 

 

 

 


nur für FunKiller Mitglieder
kein Server eingetragen