Optimierung von Dedicated Servern |
||
Seitenkategorien: Themen | Einführung für neue User | Wie installiere ich einen "Dedicated Server" | Server-Anleitungen |
||
|
Alle Inhalte des STEAM Support-Wiki werden vom STEAM Support-Team und von der Steam-Community moderiert - Achtung! Links und Verlinkungen zu Inhalten externer Websites sollten Sie mit Vorsicht behandeln! Des Weiteren weisen wir darauf hin, dass das STEAM Support-Team Sie niemals nach Login-Daten oder Passwörtern befragen wird und wir Sie auch nicht auffordern werden, Ihr Passwort in Webseiten-Formularen einzutragen. Bitte schützen Sie Ihr Steam-Passwort, Ihren Accountnamen und Ihre CD-Keys vor Missbrauch! Optimieren eines Dedicated ServerServer-TypenEs gibt drei Möglichkeiten, wie man einen Server für Half-Life- und Source-Spiele aufsetzen kann: Listen-ServerHierbei startet man den Server aus dem Spiel heraus und spielt dann selbst mit. Es gibt dabei relativ wenig Einstellungsmöglichkeiten. Bei dieser Variante muss der STEAM-Client laufen. Die Spiele-Daten sind in ein oder mehreren Cache-Dateien abgelegt. Lokaler Server (Client-HLDS)Dieser Server wird über den STEAM-Client über den Reiter "Tools" gestartet (<Spiel> Dedicated Server). Dabei handelt es sich um einen vollwertigen Dedicated Server, mit dem man sich über das lokale Netzwerk (LAN) oder das Internet verbinden kann. Man hat alle Einstellungsmöglichkeiten. Auch hier muss der STEAM-Client immer laufen. Die Spiele-Daten sind in ein oder mehreren Cache-Dateien abgelegt. Dieser Server-Typ kann wegen dem STEAM-Client nur in Windows gestartet werden. Stand-Alone HLDS oder Source-Dedicated-ServerDiese Variante ist völlig unabhängig vom normalen STEAM-Client und benötigt diesen deshalb nicht. Beim Stand-Alone Server handelt es sich um einen vollwertigen Dedicated Server, mit dem man sich über das lokale Netzwerk (LAN) oder das Internet verbinden kann. Es gibt keine Cache-Dateien. Spiele-Daten (wie Maps usw.) liegen alle ungepackt im Dateisystem vor. Source-Server dürfen nicht in das selbe Verzeichnis wie HLDS-Server installiert werden! HLDS-Batch-Script mit hoher Prozess-PrioritätWenn Sie einen Server unter Windows starten, läuft dieser standardmäßig mit "normaler" Priorität. Die Prozess-Priorität gibt dem Betriebssystem an, welche Aufgaben es zuerst abarbeitet und für wie lange. Server sind quasi Echtzeit-Anwendungen und Clients reagieren sehr anfällig auf Verzögerungen (Lags). Wenn der Server mit normaler Priorität läuft, kann dies ungebetenen Lag verursachen. Die Lösung ist, den Server mit hoher Priorität zu starten. Windows XP vergibt jedem ausgeführten Programm oder Prozess auf Ihrem PC eine Priorität. Diese legt fest wie viele Zeiteinheiten die CPU (im Vergleich zu anderen Programmen) zur Verfügung steht. Windows XP stellt hier verschiedene Einstellungen zur Verfügung: Echtzeit, Hoch, Höher als normal, Normal, Niedriger als normal und Niedrig. Hinweis: Die Einstellung "Echtzeit" ist nicht empfehlenswert, da dies die Funktion der Gerätetreiber beeinflussen kann und somit zu Instabilitäten führt. In der Regel bekommen Programme die Priorität "Normal". Mit Hilfe des Task-Managers können Sie jedoch die zugewiesenen Prioritäten ändern. Wenn Sie viele Anwendungen laufen haben, aber Sie möchten dass eine bestimmte Anwendung (z.B. der HLDS) bevorzugt vom Prozessor bearbeitet wird, können Sie diese beschleunigen indem Sie die Prozess-Priorität erhöhen. Um die Priorität eines Programms oder Prozesses manuell zu ändern, gehen Sie wie folgt vor:
Die neu zugewiesene Priorität gilt nur so lange das Programm ausgeführt wird. Sobald das Programm beendet wird oder Sie Ihr System (und damit auch das Programm) neustarten, wird wieder die Standard-Priorität von Windows XP vergeben. Sie können dieses Problem umgehen, indem Sie eine Stapelverarbeitungsdatei (Batch-Datei) verwenden die den HLDS immer mit hoher Priorität startet. Hier finden Sie Beispiel-Code für eine Datei Der Inhalt der Batch-Datei könnte für HL Deathmatch wie folgt aussehen: c: cd c:\HLServer start /high c:\HLServer\hlds.exe -port 27015 +maxplayers 9 -noipx -condebug -secure Gegebenenfalls müssen Sie den Pfad Ihrer HLServer-Installation anpassen. Hinweis: Source Dedicated Server (srcds.exe) sollten Sie nicht mit hoher Priorität starten, sondern nur mit "Höher als normal". c: cd c:\HL2Server start /high c:\HL2Server\srcds.exe -game hl2dm -port 27015 -ip ###.###.###.### +maxplayers 9 Auch hier müssen Sie gegebenenfalls den Pfad anpassen und hinter "-ip" Ihre öffentliche IP-Adresse angeben. Maximale Spielerzahl (maxplayers)Was Sie vielleicht ändern wollen, ist die maximale Spielerzahl (maxplayers). Im Beispiel oben wurde 9 angegeben. Bei einem Internet-Server hängt diese Zahl sehr stark von der Bandbreite Ihrer Verbindung ab (insbesondere der Upload-Rate). Falls Ihnen diese nicht bekannt ist können Sie auf www.dslreports.com einen kostenlosen Geschwindigkeitstest (Speed-Test) durchführen. Sie erhalten 2 Zahlen, einmal die Download-Rate und zum anderen die Upload- (oder Upstream-)Rate. Die Download-Rate gibt an, wie schnell Ihr Server Daten empfängt. Upload-/Uplink-Rate bedeutet, wie schnell Ihr Server Daten an die Spieler schicken kann. Grundsätzlich kann man sich bei Internetverbindungen an folgenden Werten (Bits/Sekunde) orientieren:
Natürlich hängt es von Ihrer Internetanbindung ab, ob die hier aufgeführten Zahlen zutreffen oder nicht. Diese Zahlen beziehen sich nicht auf Spieler im LAN. Beim HLDS benötigt ein Spieler in etwa 35,6 KBits. Beim SRCDS (CS:S und HL2DM) benötigt ein Spieler in etwa 53,4 KBits (ca. 1,5x mehr als bei HLDM). Bestimmte Maps oder Mods könnten eventuell mehr Upload-Bandbreite benötigen. Die maxplayers-Einstellung setzt voraus, dass die folgenden Rate-Begrenzungen (Rate-Limits) gesetzt sind (Datei server.cfg): //Kleinste zugelassene Rate // Geben Sie 5000 bei SRCDS-Servern an sv_minrate 3500 // Keine Maximal-Rate-Begrenzung bei LAN-Servern, 7500 für normale Server // Dies legt fest, wie schnell Maps von Clients heruntergeladen werden können //sv_maxrate 0 = unbegrenzt // Geben Sie 9999 bei SRCDS-Servern an sv_maxrate 7500 // Dies legt die kleinste spielbare Aktualisierrate (updaterate) fest. Belassen Sie die Einstellung bei 13 sv_minupdaterate 13 // 60 als updaterate ist für LAN-Server, benutzen Sie 13 für Internet-Server // 20 ist der Standard-Wert, setzt aber maxplayers herab // bei einem SRCDS-Server verwenden Sie 30 - der Wert 20 könnte evtl. auch passen // sv_maxupdaterate 60 sv_maxupdaterate 13 Aliase für SchnelleinstellungenSie können die folgenden Alias-Parameter zu Testzwecken nutzen. Fügen Sie folgendes in Ihre server.cfg-Datei ein: //echo "*** Adding Server RATE Alias' ***" alias "dslow" "sv_minrate 2500;sv_maxrate 2500;sv_minupdaterate 5;sv_maxupdaterate 5;echo dead slow" alias "vslow" "sv_minrate 3500;sv_maxrate 3500;sv_minupdaterate 13;sv_maxupdaterate 13;echo very slow" alias "slow" "sv_minrate 3500;sv_maxrate 5000;sv_minupdaterate 14;sv_maxupdaterate 14;echo slow" alias "norm" "sv_minrate 3500;sv_maxrate 7500;sv_minupdaterate 15;sv_maxupdaterate 15;echo normal" alias "fast" "sv_minrate 3500;sv_maxrate 9999;sv_minupdaterate 20;sv_maxupdaterate 20;echo fast" alias "vfast" "sv_minrate 3500;sv_maxrate 20000;sv_minupdaterate 20;sv_maxupdaterate 60;echo LAN fast" // Sofortanzeige aller aktueller Einstellungen alias "rates" "sv_minrate;sv_maxrate;sv_minupdaterate;sv_maxupdaterate" Konfigurationsdatei "server.cfg" für Source Dedicated ServerHier gibt es eine Vorlage der server.cfg-Datei für CS:S-Server: http://support.steampowered.com/downloads/faq/108/cs_server_cfg_file.cfg (muss zur Verwendung in "server.cfg" umbenannt werden) Hier gibt es eine Vorlage der server.cfg-Datei für HL2DM-Server: http://support.steampowered.com/downloads/faq/108/hl2dm_server_cfg_file.cfg (muss zur Verwendung in "server.cfg" umbenannt werden) server.cfg-Dateien beim SRCDS befinden sich im "cfg"-Ordner des jeweiligen Spieltyps. Server-FPS (Frames pro Sekunde)FPS kontrollierenHLDS-Server rendern die Frames unabhängig vom Client. HLDS-Server benutzen die CVAR sys_ticrate, um festzulegen wie viele Frames pro Sekunde gerendert werden. SRCDS-Server benutzen die CVAR fps_max, um festzulegen wie viele Frames pro Sekunde gerendert werden. Warum müssen Sie dies kontrollieren? Es gibt zwei wichtige Gründe, warum man die Server-FPS verwalten sollte. Der erste Grund ist die Auslastung Ihrer Server-CPU. Je höher die FPS-Rate, desto höher die Auslastung. Wenn die CPU-Auslastung mit Ihren aktuellen FPS-Einstellungen über 50% beträgt, haben Sie entweder zu viele Spieler oder der FPS-Wert ist zu hoch gesetzt. HLDS-Server laufen standardmäßig mit 60 FPS und Sie können den Wert bis zu 1000 FPS (sys_ticrate 1000) erhöhen. SRCDS-Server laufen standardmäßig mit 300 FPS und können auch mit bis zu 1000 FPS betrieben werden, erfordert dann aber eine recht schnelle CPU. Win32-Server sollten unter Windows 2000 oder XP Pro betrieben werden. Für HLDS empfiehlt sich eine 1,8 GHz CPU und mindestens 512 MB Arbeitsspeicher (RAM). Bei SRCDS-Servern empfiehlt sich eine 2,2 GHz CPU und mindestens 512 MB RAM. FPS beschleunigen (FPS-Boost)Leider erreichen die Server unter Windows nicht die o.g. FPS-Werte ohne eine Optimierung. Damit der Server das Betriebssystem vollständig ausnutzen kann muss ein hochauflösender Timer laufen. Normalerweise läuft beim Betriebssystem nur ein Timer mit einer geringen Auflösung, welcher maximal ca. 100 FPS bringt. Wenn Sie den Windows Media Player starten (dazu muss keine Datei geladen werden), zwingen Sie das Betriebssystem einen höheren Timer-Wert zu verwenden. So kann Ihr Server bis zu 1000 FPS erreichen. Der Media Player braucht nur rund 5 MB im Wartezustand (Idle), somit also kein Problem. Sie können auch einfach eine Macromedia SWF-Datei im Internet Explorer öffnen, mit dem selben Ergebnis. Intel- oder AMD-Prozessor?Folgendes zur FPS-Rate im Zusammenhang mit Prozessorhersteller: Wenn Sie den Wert für sys_ticrate (HLDS) bzw. fps_max (SRCDS) auf 1000 setzen und eine Intel-CPU auf einem Motherboard mit Intel-Chipsatz betreiben, laufen die meisten CPUs mit +/- 1000 FPS. AMD- und Intel-Prozessoren, die mit einem Nicht-Intel-Motherboard betrieben werden laufen bei der 1000er-Einstellung eventuell nur mit 500 FPS. Das Ganze klingt vielleicht nicht schlüssig und es kann von Plattform zu Plattform Unterschiede geben, aber das hängt nunmal stark davon ab, wie Motherboard und Betriebssystem arbeiten. Warum eine höhere FPS-Rate?Der Hauptgrund warum man eine höhere FPS-Rate haben sollte, ist die Render-Zeit. Bei 1000 FPS rendert der Server ein Frame in einer Millisekunde (ms). Damit ist der Pingunterschied zum Spieler bei nur 1 ms, d.h. der Spieler bekommt genauere Daten und diese öfters. Bei 300 FPS sind es nur 3 ms, was noch absolut akzeptabel ist. Allerdings bei 100 FPS sind es schon 10 ms, was einen entscheidenden Prozentsatz bei einem Ping von 100 ausmacht (10%). Ein Spieler mit einem Ping von 100 würde seine Antwort vom Server in 110 ms erhalten. Viele AMD-Systeme laufen nur mit 60 FPS, was ohne Ping-Boost 17 ms Pingunterschied ausmachen würde. Dies ist nicht so sehr bedeutend, kann aber den Eindruck auf die Antwortzeiten vom Server zum Spieler verbessern. Ohne FPS-Boost wird Ihr Server erheblich weniger die CPU auslasten, dafür sinkt aber auch die Genauigkeit. |
| Suche | ||
| Views | ||
| Andere Sprachen | ||

