source-games: counter-strikecs-feintuninghl2left4deadportalsteamtf2
 

Counter-Strike Feintuning – CS:Source Konfiguration

Counter-Strike Feintuning Startseite
Windows – Netzwerkoptimierung (W98, WinME, W2K, XP)
Steam
Counter-Strike 1.6 Konfiguration


Counter-Strike:Source Konfiguration
Die Verzeichnisstruktur von Steam ist auf den ersten Blick etwas verwirrend. Die spielerelevanten Dateien befinden sich innerhalb des “SteamApps”-Verzeichnis:
/Steam/SteamApps/Email@Account.de/counter-strike source/cstrike
(bei deutschem CS:S – deutsche Sprache in Steam: /cstrike_german)

Einige der fett gedruckten Unterverzeichnisse werden bereits während der Installation und Anmeldung von CS:S erstellt. Im Verzeichnis “/cstrike” befinden sich alle für die CS:S-Konfiguration wichtigen Dateien.
Alle Custom-Dateien wie zum Beispiel Maps, Sounds, CFG’s, Scripte, etc. werden unterhalb “/cstrike” gespeichert.

Die Verzeichnisse müssen u.U. angelegt werden:
…/Email@Account.de/counter-strike source/cstrike/cfg
…/Email@Account.de/counter-strike source/cstrike/maps
…/Email@Account.de/counter-strike source/cstrike/materials
…/Email@Account.de/counter-strike source/cstrike/models
…/Email@Account.de/counter-strike source/cstrike/screenshots
…/Email@Account.de/counter-strike source/cstrike/scripts
…/Email@Account.de/counter-strike source/cstrike/sound
u.s.w…

Wichtig: Unterhalb /cstrike kommt nur Custom-Stuff rein. Die Standard CS:S-Maps inkl. Sounds verwaltet Steam in einem Counter-Strike:Source Cache (counter-strike source shared.gcf).

Counter-Strike:Source Settingdateien
Die drei wichtigen Dateien für die Counter-Strike:Source Settings sind die “Autoexec.cfg”, “Config.cfg” und neu dabei die “Userconfig.cfg”.

Autoexec.cfg
In die Autoconfig.cfg können Verweise auf eigene Scripte geschrieben werden, die dann automatisch beim Start von Counter-Strike:Source geladen werden. Auch die Userconfig.cfg muss durch die Autoexec.cfg geladen werden. Die Autoexec.cfg muss unter Umständen erst noch angelegt werden.

Config.cfg
In der Config.cfg stehen alle für Counter-Strike:Source relevanten Einstellungen. Die Config.cfg wird von HL/CS bei jedem Start neu geschrieben. Es kann dadurch passieren, dass bestimmte von Hand veränderte Einstellungen überschrieben werden.

Userconfig.cfg
In die Userconfig.cfg kommen alle modifizierten Einstellungen, Werte und auch Scripte, die durch das Überschreiben der Config.cfg verloren gehen könnten.
Eigene Scripte können auch in einer eigenen Datei gespeichert werden. Diese Dateien können sich entweder im “cfg”-Verzeichnis oder in einem erst anzulegenden “/scripts”-Verzeichnis befinden. Das bleibt jedem selbst überlassen. Wichtig ist nur, dass in der Autoexec.cfg die Pfade zu den Script-Dateien stimmen.
Ich verwende in der weiteren Beschreibung nur die Userconfig.cfg für eigene Scripte und Funktionen.

Netsettings
Die Default-Netsettings von Counter-Strike:Source haben sich im Vergleich zu Counter-Strike 1.6 nicht geändert. Darum kann man wohl davon ausgehen, dass sich an der “Net-Engine” im Vergleich zu CS 1.6 nicht viel geändert hat.

Die folgenden Empfehlungen sind getestet mit T-DSL mit Fastpath und mit Arcor DSL. Die Settings können aber auch bei DSL ohne FP gut funktionieren. Es spielt im übrigen bei DSL keine Rolle, für welche der vielen Bandbreiten-Optionen man sich beim Provider entschieden hat.
Die Source-Netengine ist so konzipiert, dass keiner einen großartigen Bandbreiten-Vorteil hat.

Als Beispiel dienen meine aktuellen Netsettings, die sich im Laufe der langen Zeit, die ich schon Counter-Strike spiele immer mehr an den Default-Settings orientieren. Die hier empfohlenen Netsettings sind aber sicher keine Garantie für eine ideale Lösung. Die perfekten Netsettings wird es wegen der Beschaffenheit des Internet auch nicht geben.

Mit den folgenden Netsetting-Empfehlungen (in Verbindung mit der Windows-Netzwerkoptimierung!) habe ich nach langen und ausgiebigen Tests sehr gute Erfahrungen gemacht. Veränderungen der interpolate-Werte sind meiner Meinung nach nicht notwendig.

Userconfig.cfg:
rate "25000" //maximal nutzbare Bandbreite (9999 bei DSL>768kb)
cl_cmdrate "30" //max Anzahl von Paketen pro Sek. Client-Server (30)
cl_updaterate "20" //max Anzahl von Paketen pro Sek. Server-Client (20)
cl_resend "6" //Verzögerung in Sek., bevor der Client ein "connect" sendet (6)
cl_cmdbackup (Befehl gibt es seit dem Update vom 29.12.06 nicht mehr!)
cl_timeout "60" //Zeitraum bis zum Timeout durch Client bei NoPingReply (35)
cl_interpolate "1.0" //interpoliert die Entität clientseitig(1.0)
cl_lagcompensation "1" //Perform server side lag compensation of weapon firing events (1)
cl_interp_ratio "1" //berechnet den Wert für cl_interp automatisch: 1/cl_updaterate (1)
cl_smooth "1" //Glättung der Model-Ansicht nach Entstehung von Vorhersage-Fehlern , (1)
(Default-Werte in Klammern)

Neue Werte:
cl_smooth “1” – Mit dieser Einstellung wird Model-Ansicht nach Entstehung von Vorhersage-Fehlern (prediction errors) geglättet. Im Zusammenspiel mit den anderen Netsettings kommt es spürbar zu besseren Trefferquoten.
rate “25000” – Seit dem letzten Update kam es auf unterschiedlichen Servern vermehrt zu Chokes. Mit einem höheren rate-Wert lassen sich Chokes nahezu vermeiden. Hier kann aber jeder für sich einen anderen, vielleicht optimaleren, Wert ausprobieren.

Der neue Befehl cl_interp_ratio:
Ist dieser Befehl aktiviert, wird ein passender Wert für cl_interp automatisch mit folgender Formel errechnet: cl_interp_ratio/cl_updaterate=cl_interp
Für die hier empfohlenen Settings also: 1/20 = 0.05
Da der Wert für cl_interp jetzt auf die Art ermittelt wird, habe ich den Befehl cl_interp hier aus der Liste entfernt.

Warum kein cl_cmdrate 100 und cl_updaterate 100?
“cl_cmdrate” bestimmt wie viele Pakete pro Sekunde vom Spieler zum Server gesendet werden sollen. Ein cl_cmdrate-Wert von 30 (der Standardwert) bedeutet, dass 2 oder mehr Befehle vom Spieler – also seine Maus- und Tastatureingaben – im selben Datenpaket an den Server gesendet werden (Quelle: Valve). Ein höherer Wert kann die Ansprechbarkeit verbessern, erfordert allerdings auch eine höhere Uploadbandbreite beim Spieler. Der Wert 30 ist absolut ausreichend. Game-Server sind meist auf sv_maxcmdrate 40 eingestellt, lassen also maximal cl_cmdrate 40 zu.

“cl_updaterate” kann man auf 100 stellen. Allerdings wirkt sich solch ein hoher Wert negativ auf die Latenzzeit (latency/Ping) aus. Dies wird auch in der NetGraph-Anzeige sichtbar. Valve schreibt in einer Memo zum “Source Multiplayer Networking”, dass ein geringer Ping im Spiel ein bedeutender(!) Vorteil ist. Bestimmt wird die Updaterate letztlich vom Server. Ein Server wird nie mehr Updates senden, als Ticks simuliert werden oder clientseitig Rate-Limits überschritten werden könnten. Oftmals ist auf Servern ein Limit für Updaterate gesetzt – sv_maxupdaterate.

“Tickrate 100 = cl_updaterate 100″ kann funktionieren. Allerdings nur solange der Server keine Performanceprobleme aufweist (Lags etc.). Im Falle von Performanceinbrüchen beim Server wird dieser Client eher mit alten Daten versorgt, während bei anderen Clients mit geringerer Updaterate die Daten vorausberechnet werden. Hinzu kommt bei updaterate 100 die höhere Latenzzeit.

“rate” ist die wichtigste Einstellung innerhalb der Netsettings. Mit diesem Wert wird dem Server die nutzbare Bandbreite mitgeteilt. Ist dieser Wert zu hoch gewählt, kommt es zu “packet loss”, also zu Datenverlust. Dieser Wert sollte richtig gewählt werden, damit man ein optimales Spielerlebnis hat, so Valve.
Ob man “packet loss” hat, kann man im NetGraph sehen.


Grafik Settings
Im grafischen Bereich gibt es bei Counter-Strike:Source die größten Veränderungen, wie jeder im Spiel sehen kann. Die Grafikeinstellungen lassen sich nun in den CS:S-Optionen sehr detailliert vornehmen und an die eigenen Bedürfnisse (Hardwaremöglichkeiten) anpassen. Hier empfiehlt es sich schrittweise vorzugehen. In diesem Zusammenhang ist es ratsam, auch immer die aktuellsten Grafikkartentreiber auszuprobieren. VSync (vertikale Synchronisierung) sollte man immer deaktivieren.

Neben den Einstellungen im Optionsmenü lässt sich die Grafikqualität auch per Befehle in der Config.cfg verändern und damit die FPS (frames per second) erhöhen. Das Deaktivieren oder Verringern der einzelnen Werte erzielt dabei das gewünschte Ziel: mehr FPS.
Wie schon bei den Netsettings würde ich auch diese Werte in die Userconfig.cfg schreiben.

Userconfig.cfg:
mp_decals "2048" //maximale Anzahl sichtbarer Decals (Einschläge, Patronenhülsen und Blutspuren u.s.w. an Wänden), (4096)
cl_ragdoll_collide "0" //Karambolagen herumliegender Models, (1)
r_lod "-1" //Grafikqualität der Models auf große Entfernungen, (Default: -1, nur noch änderbar zwischen 0 und 2)
r_decal_cullsize "0" //Sichtbarkeit der Decals auch in großer Entfernung, (1)
mat_specular "0" //entfernt das Spiegeln der Beleuchtungen, (1)
mat_bumpmap "0" //entfernt das BumpMapping, (1)
r_shadows "0" //deaktiviert die Schatten, (1)
mat_picmip "1" //Einstellung der Texturdetail-Qualität; 0-hoch, 1-mittel, 2-niedrig (0)
(Default-Werte in Klammern)

Es gibt noch weitere Settings, deren Veränderung sich positiv auf den FPS-Wert auswirkt. Diese Settings funktionieren allerdings nur, wenn der Server im Cheatmodus läuft. Deswegen gehe ich hier nicht weiter auf solche Settings ein.

Sound Settings
Die Soundqualität lässt sich ebenfalls in den CS:S-Optionen einstellen. Drei Qualitätsstufen stehen dabei zur Auswahl. Genauere Einstellungstipps habe ich derzeit nicht.

Mit Counter-Strike:Source kam das grosse Rauschen:
Um dem Spiel mehr Atmosphäre zu geben, wurde das klimatische Umgebungsrauschen eingeführt. Bisweilen kann dies aber, zumal es nun auf jeder Map überall irgendwie rauscht, nerven. Mit folgender Befehlsfolge lässt sich dies abschalten. In diesem Beispiel hier ist für die Befehlsfolge ein Alias erstellt worden. Damit lässt sich die Funktion auf eine Taste binden. Bei jedem Map-Wechsel muss diese Funktion erneut aufgerufen werden, um das Rauschen loszuwerden.
Diese Möglichkeit wurde mit dem Update vom 29.12.06 durch Valve unterbunden. Die entsprechenden Befehle gelten jetzt als Cheat.

Mit dem folgenden Befehl kann man den Download der zum Teil sehr nervigen Custom-Sounds unterbinden. Drei Einstellungen sind dabei möglich: all (Download aller Custom-Dateien, Default-Einstellung), nosounds (kein Download von Sound-Dateien), none (kein Download von Custom-Dateien)
cl_downloadfilter "nosounds"

Kaufscript
Mit Hilfe vordefinierter Aliase lassen sich recht schnell gewünschte Kauffunktionen vordefinieren. Ein extra Kaufscript ist nicht mehr nötig.

Userconfig.cfg:
// Waffen
bind "KP_HOME" "buy deagle; buy secammo; buy vesthelm"
bind "KP_UPARROW" "buy usp; buy secammo; buy vesthelm"
bind "KP_LEFTARROW" "buy mp5; buy primammo; buy vesthelm"
bind "KP_5" "buy ump45; buy primammo; buy vesthelm"
bind "KP_RIGHTARROW" "buy famas; buy galil; buy primammo; buy vesthelm"
bind "KP_END" "buy m4a1; buy ak47; buy primammo; buy vesthelm"
bind "KP_DOWNARROW" "buy aug; buy sg552; buy primammo; buy vesthelm"
bind "KP_PGDN" "buy awp; buy primammo; buy vesthelm"
// Equipment
bind "k" "buy vesthelm"
bind "h" "buy hegrenade"
bind "j" "buy flashbang"
bind "n" "buy smokegrenade"
bind "o" "buy defuser"
// Ammo
bind "p" "buy primammo"
bind "l" "buy secammo"

Die Bindings können auch direkt in die Config.cfg geschrieben werden.
Hier die Aliase für Waffen und Equipment:
Pistolen: glock, usp, p228, deagle, elites, fn57
Schrotgewehre: m3, xm1014
Maschinenpistolen: mac10, tmp, mp5, ump45, p90
Sturm- und Scharfschützengewehre: galil, ak47, scout, sg552, awp, g3sg1, famas, m4a1, aug, sg550
Maschinengewehr: m249
Ammo: buyammo1 (primär, einzeln), buyammo2 (sekundär, einzeln), primammo (primär, voll), secammo (sekundär, voll)
Equipment: vest, vesthelm, flashbang, hegrenade, smokegrenade, nightvision, defuser, shield
Die Aliase müssten selbsterklärend sein.
Neu ist, dass der gewünschte Befehl vor das Alias geschrieben werden muss (“buy” für kaufen, “use” für benutzen).

Radio-Commands
Valve hat nun endlich mit dem Update vom 25. Februar 2005 die Radio Command Aliase eingeführt. Es gelten die Commands aus CS1.6

Userconfig.cfg:
//Radio_Commands
bind "F3" "roger"
bind "F4" "negative"
bind "F5" "go"
bind "F6" "sticktog"
bind "F7" "enemyspot"
bind "F8" "enemydown"
bind "F9" "sectorclear"
bind "F10" "needbackup"

alle Radio Commands im Ãœberblick:
Radio1: coverme, takepoint, holdpos, regroup, followme, takingfire
Radio2: go, fallback, sticktog, getinpos, stormfront, report
Radio3: roger, enemyspot, needbackup, sectorclear, inposition, reportingin, getout, negative, enemydown
Die Aliase müssten selbsterklärend sein.

weitere nützliche Funktionen:
jeweils in die Userconfig.cfg:
// schneller Waffenwechsel per Mausrad
hud_fastswitch "1" //damit dies auch richtig funktioniert
bind "MWHEELDOWN" "slot1" //primäre_Waffe
bind "MWHEELUP" "slot2" //sekundäre_Waffe
bind "MOUSE3" "slot3" //Messer

Hinweis: Da “slot1″, “slot2″ und “slot3″ auch noch für andere Funktionen verwendet werden, z.b. Radio-Commands, muss deren ursprüngliche Tastenbelegung nochmals in der Userconfig.cfg definiert werden:
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"

Aktivierung des Blutes in CS:S
violence_hblood "1"
violence_ablood "1"
violence_agibs "1"
violence_hgibs "1"

Duckjump (geduckter Sprung mit anschliessend geduckter Haltung)
alias +duckjump "+jump; +duck"
alias -duckjump "-jump; -duck"
bind "space" "+duckjump"

NetGraph Toggle
(in der NetGraph-Anzeige bekommt man den Datendurchsatz und die aktuelle Latency angezeigt)
alias ngraph3 "net_graph 3; alias ngraph ngraph0"
alias ngraph0 "net_graph 0; alias ngraph ngraph3"
alias ngraph "ngraph3"
bind "KP_ENTER" "ngraph"

Schleichen Toggle (langsames stilles Gehen ein- und ausschalten)
alias schleichenON "+speed;alias schleichen schleichenOFF;echo Sneak mode ON"
alias schleichenOFF "-speed;alias schleichen schleichenON;echo Sneak mode OFF"
alias schleichen "schleichenON"
bind "CAPSLOCK" "schleichen"

Wo ist die Console hin?
Um im Spiel die Console aufrufen zu können, muss sie in den Startoptionen von CS:S aufgeführt sein (im Steam-Menu: CS:S -> Eigenschaften -> Startoptionen: “-console” ohne Anführungszeichen eingeben).
Oder aber man schreibt folgendes in die Userconfig.cfg:
con_enable "1"

Da in Steam b.z.w. in CS:S je nach Sprache das Tastaturlayout unterschiedlich ist, müssen für die Taste: ^ (links neben der “1”), wenn man diese denn verwenden möchte, zwei Tasten gebunden werden:
bind "\" "toggleconsole"
bind "`" "toggleconsole"

CS-Source Demos aufnehmen und abspielen
Der schnellste Weg, um eine Demo in CS:S aufzunehmen, ist die Console. Hat man diese geöffnet, gibt man “record irgendein_name.dem” in die Console ein, und schon wird das aktuelle Geschehen mitgeschnitten.
Zum Beenden des Demo-Mitschnitts gibt man “stop” in die Console ein.

Um sich eine Demo anzuschauen, sollte zunächst die Demo-Datei in das /cstrike Verzeichnis kopiert werden. Anschliessend startet man wie gewohnt Counter-Strike:Source und gibt dann in die Console den Befehl “demoui” ein. Es erscheint dann der Demofile-Browser. Mit dessen Hilfe wählt man die entsprechende Demo-Datei aus und startet diese. Die Demo wird dann abgespielt.
Man kann sich den Befehl “demoui” natürlich auch auf eine beliebige Taste legen.
Fragen, Antworten und Kommentare zum Tuningguide


nach oben
Source-Games und Steam