Optimizing a Dedicated Server |
||
Lapkategóriák: Ellenőrzés szükséges | Topics | Getting Started | Installing a Dedicated Server |
||
|
Ezt az oldalt a Steam Támogatás és a Steam felhasználók is moderálják - minden, az oldalon kívüli hivatkozást óvatosan kell kezelni. A Steam Támogatás soha nem fog a Steam fiókod és jelszavad után kérdezősködni, és arra sem fognak megkérni, hogy a Steam jelszavadat megadd bármilyen weblapon. Dedikált szerver optimalizálásaHLDS és SRCDS szerver rate finomhangolásA Half-Life és Source játékoknál három szervertípus létezik:
Szerver-prioritás optimalizálásaMikor Win32 alatt futtatsz szervert, annak alapértelmezett beállítása a Normál prioritás. A prioritás beállítással lényegében azt adod meg az operációs rendszernek, hogy melyik feladatokat szolgálja ki előbb, és mennyi időt fordítson rájuk. A szerverek valós idejű alkalmazások, a játékosok pedig nagyon érzékenyek a késleltetésre. Ha normál prioritáson futtatod a szerveredet, az kellemetlen lagot eredményezhet. A megoldás a szerver Magas prioritáson való futtatása. A Windows XP a PC-den futó összes program és folyamat számára megad egy prioritást, ami meghatározza, hogy a többi programhoz viszonyítva mennyi processzoridőt kap. Az XP számos beállítást biztosít: Valós idejű, Magas, Normál feletti, Normál, Normál alatti és Alacsony. Figyelem A Valós idejű beállítás nem javasolt, mivel versengést eredményez az eszköz-illesztőprogramokkal, ami instabilitáshoz vezethet. A legtöbb program Normál prioritást kap, de a Feladatkezelővel bármelyik folyamat vagy program prioritása megváltoztatható. ÚtmutatásEgy futó program vagy folyamat prioritásának kézi átállításához:
Megjegyzés: Mikor új prioritást adsz egy folyamatnak vagy programnak, az csak addig lesz érvényes, amíg a program vagy folyamat fut. Mikor legközelebb elindítod a programot, az vissza fog térni a Windows által kiosztott prioritáshoz. Ha a HLDS-t minden alkalommal magas prioritáson akarod indítani, batch fájlt kell használnod. Steam_HLDS.batAz alábbi .bat fájl Half-Life Deathmatch szervert futtat. A fájl bellről így néz ki: c: cd c:\HLServer start /high c:\HLServer\hlds.exe -game valve -port 27015 +maxplayers 9 A parancsok részletes ismertetése: cd c:\HLServer - Átváltja az aktuális könyvtárt arra, ahová a szerver telepítve van. -game valve - Megadja a játékot, jelen esetben a Half-Life Deathmatch-et. -port 27015 - Beállítja a portot, amin keresztül a szerver fogadja a kapcsolatokat (ha nincs port megadva, az alapértelmezett 27015-ös portot használja). +maxplayers 9 - Kilencre állítja a szerver által maximálisan elfogadott játékosok számát. Megjegyzés: A Source dedikált szervereket (SRCDS.EXE) Magas helyett Normál feletti prioritással kell futtatni. Példac: cd c:\HL2Server start /high c:\HL2Server\srcds.exe -game hl2dm -port 27015 -ip xxxx.xxxx.xxxx.xxxx +maxplayers 9 A megfelelő maximális játékosszám meghatározásaA maxplayers értéket a feltöltési sebességedhez kell beállítani. Ha nem vagy biztos a feltöltési sebességedben, látogass el a www.dslreports.com oldalra, és végezd el az ingyenes sebességtesztet. Két értéket fogsz látni, a letöltési (download) és feltöltési (upload vagy uplink) sebességet. A letöltés azt jelzi, hogy milyen gyorsan juthat az adat a szerveredhez. A feltöltés azt, hogy milyen gyorsan tud a szervered adatot küldeni a játékosoknak. Internetkapcsolatnál lényegében a következőkkel lehet számolni (bit/másodperc):
Természetesen a vonalad nem feltétlenül lehet elég stabil az itt megadott játékosszám kiszolgálásához. A LAN-on helyben játszó játékosok nincsenek beleszámolva az értékekbe. HLDS-nél jó ökölszabály a játékosonként 35.6Kbit/másodperc sávszélesség. SRCDS-nél (Source játékok) jó ökölszabály a játékosonként 53.4Kbit/másodperc sávszélesség (a HLDM kb. másfélszeresére). Egyes pályák és modok nagyobb feltöltési sávszélességet igényelhetnek. A fenti maxplayer beállítások azzal a feltételezéssel igazak, hogy az alábbi rate korlátokkal futtatod a szervert (a server.cfg-ben): //minimális megengedett rate // SRCDS szerverekhez 5000-et használj sv_minrate 3500 // csak LAN esetén nincs maxrate korlát, normál szerverhez 7500-at használj // ez szabályozza, milyen gyorsan tölthetnek le pályát a kliensek //sv_maxrate 0 = korlátozatlan // SRCDS szerverekhez 9999-et használj sv_maxrate 7500 // ez a minimális játszható updaterate, hagyd 13-on sv_minupdaterate 13 // 60-as updaterate CSAK LAN-HOZ HASZNÁLHATÓ, internethez 13-at használj // 20 az alapértelmezett, de ez megfelezi a maximálisan kiszolgálható játékosszámot // SRCDS szerverekhez használj 30-at, esetleg 20 is elég lehet // sv_maxupdaterate 60 sv_maxupdaterate 13 Szerver rate teszteléseAz alábbi alias-paraméterkészletet a szerver gyorstesztelésére használhatod. Másold be a server.cfg fájlodba: //echo "*** Szerver RATE aliasok hozzáadása ***" alias "dslow" "sv_minrate 2500;sv_maxrate 2500;sv_minupdaterate 5;sv_maxupdaterate 5;echo döglött" alias "vslow" "sv_minrate 3500;sv_maxrate 3500;sv_minupdaterate 13;sv_maxupdaterate 13;echo nagyon lassú" alias "slow" "sv_minrate 3500;sv_maxrate 5000;sv_minupdaterate 14;sv_maxupdaterate 14;echo lassú" alias "norm" "sv_minrate 3500;sv_maxrate 7500;sv_minupdaterate 15;sv_maxupdaterate 15;echo normál" alias "fast" "sv_minrate 3500;sv_maxrate 9999;sv_minupdaterate 20;sv_maxupdaterate 20;echo gyors" alias "vfast" "sv_minrate 3500;sv_maxrate 20080;sv_minupdaterate 20;sv_maxupdaterate 60;echo LAN sebességű" // a jelenlegi összes beállítás gyors megjelenítése alias "rates" "sv_minrate;sv_maxrate;sv_minupdaterate;sv_maxupdaterate" Server.cfg fájl példákÁltalános server.cfg fájl CS:S szerverekhezcs_server_cfg_file.cfg letöltése (a használathoz át kell nevezni server.cfg-re) Általános server.cfg fájl HL2DM szerverekhezhl2dm_server_cfg_file.cfg letöltése (a használathoz át kell nevezni server.cfg-re) A server.cfg fájlokat SRCDS-hez minden egyes játéktípus CFG mappájába kell tenni. Szerver FPS szabályzásA HLDS szerverek a klienstől függetlenül renderelik a frame-eket. A HLDS szerverek a sys_ticrate CVAR-al szabályozzák a másodpercenként renderelt frame-ek számát. Az SRCDS szerverek az fps_max CVAR-al szabályozzák a másodpercenként renderelt frame-ek számát. Miért kell ezt szabályozni? Két fő oka van annak, miért kell állítani a szerver FPS-ét. Az első ok a szerver CPU-terhelése; minél magasabb az FPS, annál nagyobb a terhelés. Ha a jelenlegi FPS beállítás mellett 50%-nál nagyobb CPU használatot látsz, akkor vagy túl sok a játékosod, vagy túl magasra állítottad az FPS-t. A HLDS szerverek 60 FPS alapértelmezett beállítással indulnak, és akár 1000 FPS-el is könnyedén képesek futni (sys_ticrate 1000). Az SRCDS szerverek 300 FPS alapbeállítással indulnak, és szintén 1000 FPS-ig képesek futni, de ennek eléréséhez lényegesen nagyobb teljesítményű CPU-ra van szükség. A Win32 szervereket Win2k / XP Pro platformon, HLDS esetén 1.8 GHz-es CPU-n és minimum 512 MB memóriával, SRCDS esetén pedig 2.2GHz-es CPU-n és minimum 512 MB memóriával javasolt futtatni. FPS-növelésSajnos a fenti szerverek egyike sem fogja elérni ezeket az FPS beállításokat Win32-es platformon egy trükk nélkül. Ahhoz, hogy a szervert az operációs rendszer ki tudja szolgálni, egy nagyfelbontású időzítő futtatására van szükség. Alapesetben az operációs rendszer egy kisfelbontású időzítőt futtat, ami legfeljebb 100 FPS körüli értékhez lehet elég. A médialejátszó futtatása (nem kell vele fájlt megjeleníteni, csak legyen megnyitva) egy nagyfelbontású időzítő használatára kényszeríti az operációs rendszert, ami képessé teszi a szerveredet az 1000 FPS elérésére is. A médialejátszó használaton kívül nagyjából 5MB memóriát igényel, ami nem olyan veszélyes. Futtathatsz helyette egy Macromedia SWF fájlt is az Internet Explorerben, ami ugyanezt fogja eredményezni. Intel vagy AMD CPUHa a sys_ticrate (HLDS) vagy fps_max (SRCDS) értéket 1000-re állítod, a legtöbb Intel chipsettel meghajtott Intel CPU képes lesz a teljes 1000 FPS-t elérni (plusz-mínusz néhány pont). Az AMD CPU-k, vagy Intel CPU-k nem Intel alaplapi chipsettel viszont esetleg csak 500 FPS-el tudnak futni 1000-es beállítással. Ennek így nem sok értelme van, és a konkrét platformtól függően másképp is előfordulhat, de egyszerűen így működik az alaplap és az operációs rendszer. Miért kell a magasabb FPS?A magasabb FPS használatának fő oka a renderelési idő. 1000 FPS-nél a szerver egy frame-et egy milliszekundum (ms) alatt renderel. Ez azt jelenti, hogy a játékosok pingje legrosszabb esetben 1 ms-mal nő, vagyis a játékosok pontosabb adatokat kapnak, és gyakrabban kapják meg azokat. 300 FPS-nél ez az érték 3 ms, ami tökéletesen elfogadható, de 100 FPS-nél már 10 ms, ami már összemérhető egy 100-as pinggel (a 10%-a). Egy 100-as pingű játékos így valójában 110 ms-os válaszidőt kap a szervertől. Sok AMD rendszer az FPS-növelés nélkül csak 60 FPS-en fut, ami már 17 ms-ot jelent. Ez még mindig nem túl jelentős, de megváltoztathatja a szervered válaszidejét, és hogy a játékosok mennyire érzik meg azt. Az FPS-növelés nélkül a szervered jelentősen kisebb mértékben használja a CPU-t, de ennek a pontosság láthatja kárát. |
| Keresés | ||
| Views | ||
| Egyéb nyelvek | ||

