Steam Support Wiki
 
 

Optimalizeren van een Dedicated Server

 
 
(Doorverwezen vanaf Optimizing a Dedicated Server)

De inhoud van deze pagina wordt gecontroleerd door zowel Steam Support als de Steam gebruikers gemeenschap - alle links naar buitenstaande websites moeten behoedzaam worden gebruikt.

Steam Support zal nooit uw Steam account wachtwoord om welke reden dan ook vragen, noch zal Steam Support u ooit vragen om uw Steam account wachtwoord in te vullen in een website formulier.

Er zijn 3 typen servers in Half-Life en Source games.

Listen Server

Dit is wanneer u een server start vanuit het spel en op hetzelfde moment ook deelneemt aan het spel... er is slechts een minimum aan instellingen beschikbaar op het paneel. Dit vereist dat de Steam Client altijd aan het draaien is. Alle standaard content van de spellen is bewaard in een enkel cache bestand.

Client HLDS Server

Dit is een mogelijkheid vanuit het Steam Spellen Menu. Dit is een volledige server en om deel te nemen moet je verbinding maken vanuit je Netwerk of over het Internet. Dit type server vereist dat de Steam Client altijd draaiende is. Dit type server heeft het volledige controle paneel. Alle standaard spellen zijn bewaard in een enkel cache bestand.

Stand-Alone HLDS_1120 Server of Source Dedicated Server

Dit is een server installatie die onafhankelijk is van Steam. Het is niet vereist om de Steam Client te laten draaien. Dit is een volledige server, en het is dus nodig om verbinding te maken vanuit het netwerk of over het Internet. Er zijn geen cache bestanden, alle mappen en voorwerpen zijn uitgepakt. Source servers moeten in een andere folder dan de HLDS servers geinstalleerd worden.

HOGE prioriteit batch bestand voor HLDS

Wanneer u een Server onder Win32 draait, is de standard instelling om de server te draaien op een "normale" prioriteit.

Prioriteit is in feite een instelling waarbij u het besturingssysteem verteld welke taken eerst af te handelen en voor hoe lang. Servers zijn erg directe/live applicaties en spelers zijn erg gevoelig voor lag. Servers draaien op een normale prioriteit kan onaangename lag veroorzaken. De oplossing is om de servers op een “HOGE” prioriteit te draaien.

XP wijst aan iedere programma en process dat op uw computer draait een prioriteit toe dat aangeeft hoeveel CPU tijd het toegewezen krijgt relatief gezien aan andere programma’s. XP biedt verscheidene opties: RealTime, Hoog, BovenGemiddeld, Normaal, Minder dan Gemiddeld en Laag.


NOTA: Realtime is niet aanbevolen aangezien dit met de device drivers conflicteert en kan leiden tot instabiliteit.

De meeste programma’s krijgen een Normale prioriteit toegewezen, maar dit kunt u veranderen in de taakbeheer (Task Manager), zoals voor elk ander process of programma. Als u een boel applicaties heeft draaien maar u wilt dat er een – zoals HLDS – de meeste aandacht krijgt van de processor, kan dit het ten zeerste bevorderen.

Om handmatig de prioriteit van een bestaand programma of process de veranderen:

  1. Open Taakbeheer door Ctrl-Alt-Delete in te drukken.
  2. Klik op het Processen tabblad.
  3. Rechtermuisklik op het programma of process waarvan u de prioriteit wilt veranderen, selecteer Instellen Prioriteit en kies de prioriteit voor het programma.

Wanneer u een nieuwe prioriteit toewijst aan een process of programma, blijft deze prioriteit alleen bestaan voor de duur van deze sessie van dit programma of process. Zodra het programma eindigt en u het opnieuw start, wordt de prioriteit weer naar de standaard waarde van XP gezet.

U kunt instellen dat het opstarten van HLDS altijd met hoge prioriteit gebeurt door middel van een batch bestand.

Hier is een enigzins generische batch-bestand dat u kunt gebruiken als een uitgangspunt:

Steam_HLDS.bat

Dit kunt u op uw bureaublad plaatsen zodat u dit makkelijk kunt gebruiken.

Het bestand ziet er zo uit (HLDM):

c:

cd c:\HLServer

start /high c:\HLServer\hlds.exe -port 27015 +maxplayers 9 -noipx -condebug -secure

Als u de hlserver niet op de C: schijf geinstalleerd hebt, pas dan het bestand aan zodat dit overeenkomt met uw installatiepad. (pas ze alle 3 aan).

NOTA Source Dedicated Servers (SRCDS.EXE) moeten idealiter op "BovenGemiddelde" prioriteit worden gedraaid en niet op "Hoog".

c:

cd c:\HL2Server

start /high c:\HL2Server\srcds.exe -game hl2dm -port 27015 -ip nlx.nlx.nlx.nlx +maxplayers 9


MAXPLAYERS

Wat u waarschijnlijk ook wilt aanpassen is maxplayers (9 in dit voorbeeld).

Voor het internet hangt het ervan af wat uw uplink connectie aankan.

Als u dit niet weet, ga dan naar www.dslreports.com en doe de gratis snelheid test.

U zal twee nummers zien, download en upload (of uplink).

Download is hoe snel u de data naar de server kan krijgen. Upload/uplink is hoe snel u de data naar de spelers kan zenden. Voor internet verbindingen (bits/seconde):

  • 128K uplink = 4 spelers (2 spelers voor srcds)
  • 256k uplink = 7 spelers (4 spelers voor srcds)
  • 320k uplink = 9 spelers (6 spelers voor srcds)
  • 512k uplink = 14 spelers (9 spelers voor srcds)
  • 768k uplink = 21 spelers (14 spelers voor srcds)
  • 1024k uplink = 28 spelers (19 spelers voor srcds - nota 16 spelers is het maximum voor HL2DM)
  • 1140k uplink = 32 spelers (maximum voor HLDS) (21 spelers voor CS:S)
  • 1708k uplink = 32 spelers voor CS:S (maximaal)

Uiteraard kan uw particuliere lijn wel of niet stabiel genoeg zijn om de aangeraden speler nummers te ondersteunen. Lokale LAN spelers zijn niet in deze optelsom inbegrepen.

Een goede vuistregel voor HLDS is 35.6Kbits per speler.

Een goede vuistregel voor SRCDS (CS:S en HL2DM) is 53.4KBits per speler (ongeveer 1.5x more dan HLDM).

Bepaalde spelers en MODs kunnen ook meer uplink bandbreedte vereisen.

Deze maxplayers instelling gaat er ook vanuit dat u de volgende server rate limieten gebruikt (in het server.cfg bestand):

//minimum rate toegestaan

// gebruik 5000 voor SRCDS servers

sv_minrate 3500

// geen limiet op maxrate voor LAN gebruik alleen 7500 voor reguliere servers

// dit beheert hoe snel maps door spelers gedownload kunnen worden

//sv_maxrate 0 = oneindig

// Gebruik 9999 voor SRCDS servers

sv_maxrate 7500

// dit is de minimale speelbare updaterate, laat dit staan op 13

sv_minupdaterate 13

// 60 voor updaterate is ALLEEN LAN gebruik 13 voor internet

// 20 is standaard maar zal de maxplayers die je aankant delen door 1/2

// voor SRCDS Servers gebruik 30 – mogelijk kunt u 20 gebruiken

// sv_maxupdaterate 60

sv_maxupdaterate 13

Snelle Instellingen Alias

U kunt de volgende lijst alias parameters gebruikers om mee te testen. Zet deze in uw server.cfg bestand:

//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"

// snel overzicht van alle instellingen

alias "rates" "sv_minrate;sv_maxrate;sv_minupdaterate;sv_maxupdaterate"

Server.cfg bestand voor Source SRCDS Servers

Hier is een generisch server.cfg voor CS:S Servers

Hier is een generisch server.cfg voor HL2DM Servers

server.cfg bestanden voor SRCDS worden in de CFG folder van elk gametype geplaatst.

SERVER FPS CONTROL

HLDS Servers renderen frames onafhankelijk van de Client.

HLDS Servers gebruiken de CVAR sys_ticrate om te beheren hoeveel frames er per seconde worden gerenderd.

SRCDS Servers gebruiken de CVAR fps_max om te beheren hoeveel frames er per seconde worden gerenderd.

Waarom zou u dit willen beheren?

Er zijn twee goede redenen om de servers FPS te willen beheren. De eerste reden is de het gebruik van de server CPU. Hoe hoger de FPS hoe hoger het gebruik. Als u mee dan 50% CPU gebruik krijgt met uw huidige FPS instellingen, heeft u of teveel spelers op de servers of staat de FPS te hoog.

HLDS Servers starten standaard met 60FPS en kunnen makkelijk 1000FPS draaien (sys_ticrate 1000).

SRCDS Servers starten standaard met 300FPS en kunnen ook 1000FPS draaien, maar hebben hiervoor wel een drastisch betere CPU voor nodig.

Win32 Servers zouden op WIN2K / XP Pro platformen moeten draaien met HLDS op een 1.8GHz CPU en een minimum 512MB RAM en SRCDS Servers zouden moeten draaien op 2.2GHz CPUs minimum met 512MB RAM.

FPS Boost

Helaas zullen beiden servers deze FPS instellingen niet bereiken op een Win32 platform zonder een tweak. Voor de server is het nodig om dit te bereiken dat er een hoge-resolutie timer draait. Normaliter draait het besturingssysteem op een lage resolutie timer die maximaal goed is voor 100FPS.

Het draaien van Media Player (er hoeft geen bestand afgespeeld te hebben, het hoeft alleen maar geopend te zijn) zal het besturingssysteem dwingen een hoge-resolutie te draaien die uw server de mogelijkheid zal geven tot 1000FPS te draaien. Media Player vereist zo’n 5MB in slaap-modus, dus dit is niet zo erg. U kunt ook een Macromedia SWF file in Internet Explorer draaien en hetzelfde bereiken.

INTEL VS AMD CPUs

Informatie over FPS en de processor fabrikant. Als u de sys_ticrate (HLDS) of fps_max (SRCDS) instelt naar 1000, zullen de meeste Intel CPUs in combinatie met Intel chipsets de volle 1000fps draaien (plusminus). AMD CPUs en Intel CPUs op niet-Intel moederbord chipsets kunnen mogelijk alleen draaien op 500FPS met een instelling van 1000.

Het is niet erg logisch en het kan mogelijk niet consistent zijn van platform tot platform maar het is nu eenmaal hoe het moederbord en het besturingssyteem werkt.

Waarom hogere FPS?

De belangrijkste reden voor een hogere FPS is de rendertijd. Op 1000FPS, is de server een frame elke 1 millisecond (ms) aan het renderen. Dit betekend dat in het slechste geval de ping van de speler maar 1 ms is BVV: de speler krijgt meer accurate data en krijgt dit ook vaker.

Op 300FPS is dit slechts 3ms en dit is volledig acceptabel, maar met 100FPS is dit maar10ms, wat een groot andeel is in een ping van 100 (10%). Een speler met 100 ping zou 110 ms responstijd van de server krijgen. Veel AMD systemen zullen slechts 60 FPS draaien zonder de ping booster die 17 ms is.

Dit is nog steeds niet heel erg maar het kan het gevoel van het spelen op de server veranderen, alswel de respondtijd voor de spelers.

Zonder de FPS Boost zal uw server veel minder CPU gebruiken maar de nauwkeurigheid zal wel leiden.


Aan deze pagina wordt nog druk gewerkt. Ga naar de Support Site voor alle beschikbare technische support in het Engels.

Interested in assisting with translation? Apply to become a Steam Support Wiki Translator
English content to translate (START)

There are actually three types of servers in Half-life and Source Games.

Listen Server

This is where you start a server from the game itself and play at the same time ... there is only a minimal control panel. This requires the Steam Client to always be running. All the stock game content is contained in a single cache file.

Client HLDS Server

This is the option in the Steam Games Menu. This server is a full server and you have to connect to it from LAN or from internet. This requires Steam Client to always be running. This has the full control panel. All the stock game content is contained in a single cache file.

Stand-Alone HLDS_1120 Server or Source Dedicated Server

This is a totally independent install from Steam. It does not require Steam client to be running. This server is a full server and you have to connect to it from LAN or from internet. There are no cache files, all the maps and things are unpacked. Source Servers must be installed in separate folders from HLDS Servers

HIGH Priority Batch File for HLDS

When you run a Server under Win32, the default is to run the Server at "normal" priority.

Priority is basically a setting whereby you tell the operating system what tasks to service first and for how long. Servers are very real-time applications and players are very sensitive to lag. Running your Server at normal priority can cause unpleasent lag. The solution is to run your server at "High" priority.

XP assigns every program and process running on your PC a priority which determines the relative amount of CPU time that it gets compared to other programs. XP offers several settings: Realtime, High, AboveNormal, Normal, BelowNormal and Low.

NOTE: Realtime is not recommended since it competes with the device drivers and can cause instability.

Most programs are assigned the Normal priority, but using the Task Manager, you can change the priorities assigned to any process or program. If you've got a lot of applications running, but want one - like HLDS - to get most of the processor's attention, this can really speed things up.

To manually change the priority of a running program or process:

  1. Run the Task Manager by pressing Ctrl-Alt-Delete.
  2. Click on the Processes tab.
  3. Right-click on the program or process whose priority you want to change then highlight Set Priority and choose the priority for the program.

When you assign a new priority to a process or program, that new priority sticks only as long as the program or process is running. Once the program or process ends, and you restart it, it defaults to the priority assigned to it by XP.

You can set things up so you always launch HLDS at high priority using a batch file.

Here is a somewhat generic batch file you can use as a starter:

Steam_HLDS.bat

You can put this on your desktop for easy clicking.

Inside the file it looks like this (HLDM):

c:

cd c:\HLServer

start /high c:\HLServer\hlds.exe -port 27015 +maxplayers 9 -noipx -condebug -secure

If you don't have your hlserver installed on the C: drive edit the file and change it to your install location (edit 3 places there).

NOTE: Source Dedicated Servers (SRCDS.EXE) should be run at "AboveNormal" priority not at "High".

c:

cd c:\HL2Server

start /high c:\HL2Server\srcds.exe -game hl2dm -port 27015 -ip nlx.nlx.nlx.nlx +maxplayers 9


MAXPLAYERS

The other thing you will want to change is the maxplayers (9 here).

For internet this depends on what your uplink connection can handle.

If you don't know, then go to www.dslreports.com and run the free speed test.

You will see two numbers, download and upload (or uplink).

Download is how fast you can get data to the server. Upload/uplink is how fast the server can send data out to players.

Basically for internet connections (bits/second):

  • 128K uplink = 4 players (2 players for srcds)
  • 256k uplink = 7 players (4 players for srcds)
  • 320k uplink = 9 players (6 players for srcds)
  • 512k uplink = 14 players (9 players for srcds)
  • 768k uplink = 21 players (14 players for srcds)
  • 1024k uplink = 28 player (19 players for srcds - note 16 players is max for HL2DM)
  • 1140k uplink = 32 players (max for HLDS) (21 players for CS:S)
  • 1708k uplink = 32 players for CS:S (max)

Of course your particular line may or may not be stable enough to support the number listed there. Local players on LAN are not included in this count.

A good rule of thumb for HLDS is 35.6Kbits per player.

A good rule of thumb for SRCDS (CS:S and HL2DM) is 53.4KBits per player (about 1.5x more then HLDM).

Certain maps and MODs may take more uplink bandwidth too.

This maxplayers setting also assumes you are running the following server rate limits (in the server.cfg file):

//minimum rate allowed

// use 5000 for SRCDS Servers

sv_minrate 3500

// no limit on maxrate for LAN only use 7500 for regular server

// this controls how fast maps can be downloaded by clients

//sv_maxrate 0 = unlimited

// Use 9999 for SRCDS servers

sv_maxrate 7500

// this is the minimum playable updaterate, leave this at 13

sv_minupdaterate 13

// 60 for updaterate is LAN ONLY use 13 for internet

// 20 is default but will cut the maxplayers you can handle in 1/2

// for SRCDS Servers use 30 - you might be able to use 20

// sv_maxupdaterate 60

sv_maxupdaterate 13

Quick Settings Alias

You can use the following set of alias parameters to do testing with. Put these in your server.cfg file:

//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"

// quick display of all the current settings

alias "rates" "sv_minrate;sv_maxrate;sv_minupdaterate;sv_maxupdaterate"

Server.cfg file for Source SRCDS Servers

Here is a generic server.cfg for CS:S Servers

Here is a generic server.cfg for HL2DM Servers

server.cfg files for SRCDS are placed in the CFG folder for each Game Type.

SERVER FPS CONTROL

HLDS Servers render frames independently from the Client.

HLDS Servers use the CVAR sys_ticrate to control how many frames per second are rendered.

SRCDS Servers use the CVAR fps_max to control how many frames per second are rendered.

Why do you need to control this?

There are two good reasons for you to manage the server FPS. The number one reason is loading on your Server CPU. The higher the FPS the higher the load. If you are getting more then 50% CPU utilization with your current FPS settings, you are either running too many players or you have the FPS set too high.

HLDS Servers start with a default of 60FPS and can easily run up to 1000FPS (sys_ticrate 1000)

SRCDS Servers start with a default of 300FPS can can also run up to 1000FPS but will require a substantially higher performance CPU to support this.

Win32 Servers should be run on WIN2K / XP Pro platforms with HLDS on a 1.8GHz cpu and a minimum of 512MB of RAM and SRCDS Servers should be run on 2.2GHz CPUs minimum with 512MB of RAM.

FPS Boost

Unfortunately, both of these servers will not achieve these FPS settings on a Win32 platform without one tweak. In order for the server to get service from the operating system, there must be a high-resolution timer running. Normally, the operating system runs a low resolution timer that is only good for a max of maybe 100FPS.

Running Media Player (you don't have to run a file, just have it sitting there open) will force the operating system to use a high-res times that will give your server the capability of running up to 1000FPS. Media Player requires about 5MB while in idle, so it isn't too bad. You can also run a Macromedia SWF file in Internet Explore and it will do the same thing.

INTEL VS AMD CPUs

One thing about FPS and the processor manufacturer. If you set sys_ticrate (HLDS) or fps_max (SRCDS) to 1000, most Intel CPUs running on Intel chipsets will run the full 1000fps (plus or minus a few). AMD CPUs and Intel CPUs on non Intel motherboard chipsets may only run at 500FPS with a setting of 1000.

It doesn't make a lot of sense and it may not be consistant from platform to platform but it's just the way the motherboard and the operating system works.

Why higher FPS?

The key reason to run higher FPS is the render time. At 1000FPS, the server is rendering one frame every 1 millisecond (ms). This means that the worst-case adder to the player ping is only 1ms, IE: the player gets more accurate data and can get it more often.

At 300FPS it's only 3ms which is perfectly acceptable, but at 100FPS it's 10ms, which is a significant percentage of a 100 ping (10%). A player with a 100 ping would actually be getting 110ms response time from the server. Many AMD systems will only run 60FPS without the ping booster which is 17ms.

This is still not too significant but it can change the feel and response time of your server for players.

Without the FPS Boost your server will use significantly less CPU but accuracy may suffer.

(END) English content to translate
Interested in assisting with translation? Apply to become a Steam Support Wiki Translator
 
 
  link: Valve Software MediaWiki Logo