Sladez schreef op 21 November 2005 - 21:26 #3065385
Avatar
2720 berichten
Te enthousiast
Vereisten voor het draaien van een server (hardware, bandbreedte)
  • Hoe snel moet mijn server zijn?
  • Wat is lag, en hoe voorkom ik het?
  • Server rates
  • Ik heb kabel/ADSL, mag ik nu een CS server draaien?

De basisconfiguratie
  • Hoe stel ik de basisdingen van mijn server in?
  • Hoe gebruik ik RCON?

Metamod en plugins
  • Welke servermods zijn er?
  • Hoe installeer ik de servermods?
  • Mani Mod
  • Windows KZ Plugins

Linux
  • Waarom zou ik Linux draaien?
  • Een CS server onder Linux
  • Een HLTV server onder Linux

Routers
  • Ik wil een server maken, maar ik heb een router. Hoe doe ik dit?
  • Router: Sweex
  • Router: Speedtouch 500

En verder
  • Ik kom er nu nog niet uit, hoe vraag ik dat dan hier?

Hoe snel moet mijn server zijn?
De benodigdheden voor een cs 1.5 server zijn niet echt hoog. Je kan al goed vooruit met een 400MHz processor, daar zou je ongeveer een 16 player public op kunnen zetten.
De komst van Steam heeft ervoor gezorgd dat er wat meer processorkracht nodig is om je server soepel te laten draaien, erg veel scheelt dat niet. Wil je echter een server draaien voor Source, dan zul je wel aardig wat zwaardere hardware nodig hebben. Wat precies is mij ook niet bekend, vaak kom je het verst met gewoon proberen. Gaat de server laggen, dan zul je het maximaal aantal spelers even terug moeten schroeven.
Qua geheugen kun je met zo'n 128 MB vrij per 1.6 server prima vooruit, ongeacht het aantal spelers dat op de server moet kunnen. Wederom is het mij niet bekend hoeveel Source servers vergen.

Wat is lag, en hoe voorkom ik het?
Lag is een algemene term voor traagheid in je verbinding. Dit kan een aantal oorzaken hebben, bijvoorbeeld een download die op de achtergrond draait en die veel van je verbindingssnelheid opslurpt. Lag kan echter ook veroorzaakt worden door de server.
De eerste oorzaak heeft ermee te maken dat de server niet genoeg cpu-ruimte heeft om de cs-server te laten draaien. Het resultaat hiervan is dat niet alle commando's die de client verstuurd op de server uitgevoerd worden. Dit is te verhelpen door voor snellere hardware op de server te zorgen.
De tweede oorzaak kan zijn dat de routing van de client naar de server niet goed is. Je internetverkeer wordt via een aantal knooppunten (hops genoemd) van de client naar de server gestuurd en omgekeerd. Iedere hop zorgt weer voor een beetje extra vertraging. Op het moment dat je server ergens thuis staat is dit aantal hops vaak veel hoger dan wanneer deze zich bij een bedrijf bevindt dat hiervoor bedoeld is. Er is weinig te doen om dit te voorkomen. Je kunt proberen dit naar je provider door te geven met het verzoek om verbetering, maar de kans dat dat werkt is vrij klein.
De derde oorzaak is de snelheid van het internet waaraan de server hangt. De huidige generatie thuisverbindingen hebben een vrij beperkte upload. Per speler heb je gemiddeld toch zo'n 6 kB per seconde aan upload nodig om fijn te kunnen spelen. Let bij deze notatie even op: er is een verschil tussen kB (kilobyte, hoofdletter B) en kb (kilobit, kleine letter b). Een Byte staat gelijk aan 8 bits. Vrijwel iedere provider geeft de snelheid aan in kilobit, dit zul je dus even door 8 moeten delen om te weten wat de snelheid in kB is. Om je effectieve uploadsnelheid te weten te komen kun je het beste even naar een site als www.speedtest.nl gaan en hier een testje te laten doen. Mocht dit probleem zich bij je server voordoen, dan zul je moeten kiezen tussen sneller internet nemen of het maximaal aantal spelers dat tegelijk op je server mag komen terugbrengen.

Server rates
Om de lag wat te verminderen of om andere zaken te verbeteren is het mogelijk om wat zaken in te stellen. Let wel op, als je probeert de lag te verminderen zal dit ook een negatief effect hebben op iets anders, bijvoorbeeld de reg van de server, of het cpu-gebruik.
Eerst een paar basis begrippen verduidelijken:
sv_minrate x --> Bepaalt de minimun rate die een client moet gebruiken.
sv_maxrate x --> Bepaalt de maximun rate die een client kan zetten.
sv_minupdaterate x --> Bepaalt de minimum cl_updaterate die een client kan zetten.
sv_maxupdaterate x --> Bepaalt de maximun cl_updaterate die een client kan zetten.
Een basis server draait met ongeveer 50 fps (server frames, dit is iets anders dan de fps die jij op je beeldscherm krijgt) met de volgende instellingen:
sv_minrate 2000 (oude CLANBASE setting)
sv_maxrate 9999 (oude CLANBASE setting)
sv_maxupdaterate 30 (standaard setting)
sv_minupdaterate 20 (standaard setting)
sv_minrate 2000 is SLECHT. Reden: men kan lage rates nemen zodat men het rate hacks effect krijgt, personen lijken voorbij te flitsen en zijn moeilijk te raken. sv_minrate 15000 zou al een pak helpen. Best is iedereen verplichten om met de zelfde rates te spelen, maar dan krijg je het gezeik van mijn bandbreedte etc. sv_maxrate 9999 was meer dan voldoende toen bijna iedereen nog met 56k modems speelde. Met de huidige bandbreedte dient dit toch minimaal wel op 25000 ingesteld te zijn.
sv_maxupdaterate 30 is de standaard HLDS setting die eigelijk ook gemaakt is voor de 56k modem tijd. Deze setting zou 101 moeten zijn zodat de personen die cpl/sk/... gui spelen (dus de rates 25000/101/101 spelen) niet voor niets deze settings gebruiken.
sv_maxupdaterate bepaalt hoeveel keer de server pakketjes verstuurd met info. Hoe hoger dit ligt hoe meer pakketjes je KUNT ontvangen. KUNT! Want als je cl_updaterate 30 laat staan krijg je maar 30 pakketjes binnen en laat je client de andere gewoon vallen.
Boosted servers.
Dit zijn servers die aan meer SERVERfps draaien. De server fps zijn een beetje te vergelijken als de client fps. De server "bekijkt" het spel aan zoveel fps, een normale server draait aan gemiddeld 50 FPS. Men spreekt van gemiddeld 50 omdat de fps schommelt tussen 20 en 100 afhankelijk van de berekeningen die nodig zijn. Wanneer er bijvoorbeeld 10 man op hetzelfde moment op elkaar schieten dan zakt de FPS van de server dramatisch, terwijl wanneer er niets gebeurt zal de server fps maximaal zijn.
Waarom sprak ik van bekijken? De server stuurt informatie naar de client via pakketen (Hoeveel is afhankelijk van sv_maxupdaterate) deze pakketen bevatten informatie van wie waar staat + wie hoeveel damage krijgt. De info van de server is de enige die telt! De client "gokt" deze waarden al op voorrand en past de gegevens aan zodra hij deze van de server krijgt (Als je dit niet wil moet je cl_lc 0 & cl_lw 0 zetten, je zult een soort van lag krijgen omdat de client nu wacht op de informatie van de server voor hij iets toont).
Maar nu terug naar de eigelijke zaak! Waarom is meer fps beter? Als men een basis opstelling heeft maar met de juiste rate waarden (sv_maxrate 25000, sv_maxupdaterate 101) en de server fps dropt naar 50 is het resultaat dat er per 2 pakketen dezelfde informatie worden verstuurd omdat de server nog geen andere berekeningen heeft kunnen doen.
Commentaar hierop zou kunnen zijn: waarom dan geen sv_maxupdaterate 50? Simpel, omdat dit weer minder informatie geeft wat tot rare toestanden leid zoals doodvallen achter hoek terwijl men door deze niet kan wallbangen.
Een boosted server draait best gemiddeld rond 200-300 fps. Waarom? Als deze server zakt doordat er 10 mensen op elkaar aan het schieten zijn dropt deze naar een level van 100 fps waardoor men nog altijd ALLE berekeningen kan doen. Dit noemt men reg (komt van registration). Een boosted server zal dus logischerwijs een veel betere reg hebben dan de standaard servers.
Hoe controleer je deze verschillende settings?
- sv_maxrate en sv_minrate kan je doormiddel van een server tool zien
- sv_maxupdaterate kan je alleen nakijken met rcon
- de server fps zijn alleen maar te bekijken door rcon stats en niet door stats in de client! Dit geeft een valse waarde (Ik denk zelf client stats )
LANS:
CPL/ESWC/WCG gebruiken allemaal boosted servers op lan.
Een standaard server op lan is zelf slechter dan een boosted server op internet(Wel gehost ergens in Benelux!
PS: Nog meer informatie maar dan wel in het Engels vind je op:
http://www.teamnoa.net/?q=forum&id=2202

Ik heb kabel/ADSL, mag ik nu een CS server draaien?
Dit hangt van je provider af, de meeste hebben er geen problemen tegen. Wil je het zeker weten, lees dan de algemene voorwaarden van je provider eens door, dan kan je je meteen bijzonder voelen omdat je waarschijnlijk de eerste bent die dat leest. Ben je te lui om te lezen, dan kan een telefoontje naar de helpdesk van je provider ook wel eens helpen.

Hoe stel ik de basisdingen van mijn server in?
De meeste instellingen kun je doen door de commando's in de server.cfg te plaatsen die bij de server hoort die je wilt draaien. Dit bestand wordt bij iedere keer dat er een map wordt geladen uitgevoerd. Er is echter een aantal zaken die je alleen via de commandline in kunt voeren door parameters. Een (hoogstwaarschijnlijk erg incompleet) lijstje:
-port <int>: Stelt de poort in van je server
+ip <ip-adres>: Stelt het ip in van je server, nodig wanneer je meerdere ip's op je server hebt.

Hoe gebruik ik RCON?
Laat op je server de volgende regel uitvoeren, door het in de server console in te typen of het in de sever.cfg te plaatsen:
rcon_password "mijngeheimepassword"
Connect als client naar die server en voer het volgende in in je console
rcon_password "mijngeheimepassword"
Als je nu je commando's vooraf laat gaan door rcon worden deze op de server uitgevoerd. Bijvoorbeeld
rcon say Blaat bla boe
heeft als effect dat de server iets lijkt te zeggen. Meer nut hebben commando's als rcon changelevel

Welke servermods zijn er?
Om extra functionaliteit te verkrijgen op je server zul je moeten overgaan tot het installeren van extra servermods. Let wel op dat deze functionaliteit weer een beetje extra cpu-gebruik als gevolg heeft.
Enkele van de bekendste servermods zijn:
  • MetaMod. Dit is de basis voor alle servermods voor CS 1.6
  • AdminMod. Een CS 1.6 mod.
  • AMX Mod. Een CS 1.6 mod die erg veel lijkt op AdminMod, maar vaak iets gebruiksvriendelijker werkt. Dit vergt wel weer wat extra cpu-kracht.
  • AMX Mod X is gebouwd op de basis van AMX Mod, toen de laatste niet zo vaak geupdate meer werd. Plotseling kwamen er echter weer updates van AMX Mod en nu lopen deze twee een beetje naast elkaar. Verder lijken ze wel erg op elkaar.
  • Clanmod is een wat lichter en beperkter systeem, voornamelijk bedoeld voor clanwars.
  • SourceMod is een systeem voor Source, van de makers van AMX Mod X.
  • Mani Admin Plugin is een andere mod voor Source.
Al deze systemen kunnen zelf ook weer plugins draaien. Hiervan staan lijstjes op de websites. Ook staan hier installatiehandleidingen, voordat je vragen gaat stellen is het wenselijk dat je deze eens doorleest.

Hoe installeer ik de servermods?
Ten eerste is goed instaleren al het halve werk !! Zorg er voor dat je alles in 1 addons map zet, dit werkt namelijk erg makkelijk!!!
Bijvoorbeeld :
cstrike/addons/Adminmod/
cstrike/addons/Clanmod/
cstrike/addons/Stasme/
Het verstandigste is om gewoon adminmod te downloaden want daar zit metamod standaard in. Ook amxmod heeft dit!! Wil je dit zelf instellen, dan zul je het bestandje addons/metamod/metamod.ini even moeten bewerken.
Ik zal je ff een voorbeeld geven:
Voor Windows:
win32 addons/clanmod/dlls/clanmod_mm.dll
win32 addons/statsme/dlls/sm_cstrike_mm.dll
win32 addons/adminmod/dlls/admin_MM.dll
win32 addons/booster/dlls/booster_mm.dll
win32 addons/hlguard/dlls/hlguard_mm.dll
En voor Linux:
linux addons/amx/dlls/amx_mm_i586.so
linux addons/statsme/dlls/sm_cstrike_mm_i586.so
linux addons/adminmod/dlls/admin_MM_i586.so
linux addons/booster/dlls/booster_mm_i586.so
linux addons/hlguard/dlls/hlguard_mm_i586.so
Bedenk wel dat dit niet geldt als je het niet zo hebt staan zoals mij!!! Ik heb dus de mods onder addons staan in mijn cs map!! Als je dit niet hebt en ze ergens anders hebt staan, voer dat dan in.
N.B. Voor amxmod en adminmod zijn er uitzonderingen met het toevoegen van dlls in de plugin. Maar meestal zit daar dan standaard metamod bij met een goed voorbeeld hoe je die dlls kunt laden.
Deze plugin zorgt ervoor dat je dll bestanden van de mods worden geladen!! Maar hoe activeer je nu metamod? Metamod moet geactiveerd worden door liblist.gam te open met een teksteditor, daarna voeg je deze regel toe aan dat lijstje:
gamedll "addonsmetamoddllsmetamod.dll" (voor Windows)
gamedll_linux "addonsmetamoddllsmetamod_i386.so" (voor Linux)
Als je eenmaal metamod er op hebt, kun je nog andere dingen er op gaan zetten zoals de volgende metamod plugins:
  • Statsme: Zorgt voor de statistieken aan het eind van het potje en ook ranks en geluiden.
  • Hlguard: Antie cheat programma die mensen scant op cheats.
  • Cheating-Death: Antie cheat programma dat mensen aan moet hebben om in jouw server te komen.
  • Booster: Zorgt voor hogere fps op je server.

Om plugins aan de praat te krijgen voor amx of adminmod. Moet je altijd eerst een sma bestand hebben. Heb je dit zet dit dan om naar een amx bestand. Weet je niet hoe je een sma bestand moet omzette naar een amx, kijk dan of het amx file zelf te downloaden is. Houd er even rekening mee dat de plugins maar voor een mod geschreven zijn, een adminmod plugin zal niet werken onder amx mod.
Heb je eindelijk een amx file zet deze dan in je plugins map. En zet de naam van de plugin voluit in je addons/modnaam/plugins.ini file.
Mijn advies is: Begin niet te moeilijk!! En hou het simpel. Probeer ook de dingen eens stuk voor stuk toe te voegen, zodra iets niet werkt weet je waar het ongeveer mis is gegaan.

Mani Mod
Installatie mani:
download mani mod . je download hierbij een zip met de volgende files:
Allereerste 1 map cstrike:
maps
cfg
addons
Die 3 mappen krijg je te zien. Gooi de map addons in sourcecstrike zodat je sourcecstrikeaddons krijgt. Gooi de map maps in sourcecstrike ( dit hoeft niet persee dit is voor downloaden van geluidjes .res file dus ). Gooi de map cfg in sourcecstrike misschine zal hij vragen moet dit vervangen worden gewoon JA OP ALLES drukken
Cfg:
Ga naar sourcecstrikecfgmani_admin_plugin. Daar zie je heel veel txt bestanden daarin kan je alles veranderen, ik leg alleen even uit hoe je iemand ADMIN kan maken aangezien dat vaak voor komt:
Ga naar adminlist.txt en vul hier de manier in waarop je een admin wilt identificeren. Dat kan met een steam-id of een ip-adres. Als je een admin bepaalde rechten niet wil geven kan je bepaalde letters achter zijn ip of steam id zetten zodat hij dat niet kan uitvoeren bv
1.2.3.4 r // De gebruiker met ip 1.2.3.4 is nu admin, maar kan geen rcon commands uitvoeren
STEAM_0:0:012345 // De gebruiker met dit steamid kan nu alles op de server
De lijst met opties staat in adminlist.txt
Nadat je jezelf admin hebt gemaakt ga je naar je server typ je in console "admin" en druk op enter en daarna op esc. Je hebt nu een menu waarmee je de server kan besturen. Je kan ook gewon heel simpel een knop binden bv: bind "l" "admin", als je dit in console zet word l gebind met admin dus als je in het spel l drukt komt er een menu te voorschijn zeflde als hierboven besproken.

Windows KZ Plugins
Stap 1: Installeer amxmodx, heb je deze nog niet dan kun je hem hier downloaden: http://prdownloads.sourceforge.net/amxmodx/amxmodx-installer-1.60.exe?download
Pak het bestand uit en installeer het, als het klaar is moet je ff kijken of hij bij Start>Programma's staat als Amx Mod X.
Stap 2: Ga naar Start>Programma's>Amx Mod X>Amx Mod X, volg dit tot je bij de vraag komt welke soort server het voor is, neem hier Dedicated Server en klik op next, als je nog geen Dedicated server hebt opgestart krijg je een melding dat je dit eerst moet doen.
Daarna vragen ze voor welke game, als het goed is moet hier Counter Strike staan, selecteer dat en klik op next, nu extract hij de files, het kan zijn dat hij vraagt om alle steam windows af te sluiten, klik hier op OK.
Stap 3: Als hij klaar is met installeren komt er Finish te staan, klik hierop en je bent klaar met het installeren met de amx mod x. Start je Dedicated server opnieuw op en verander de map, dan zie je als het goed is in console staan dat hij het AMX mod heeft geladen.
Stap 4: Download de kz_multiplugin: http://www.amxmodx.org/forums/viewtopic.php?t=4113
En pak hem uit ergens op je harde schijf.
Stap 5: Als het goed is heb je bij het gedownloade file ook het mapje Configs staan, hierin staat het bestandje Climbing.ini, Kopieer deze en plak hem bij:
program files>steam>steamapps>(jou account)>dedicated server>cstrike>addons>amxmodx>configs
Hier staan meerdere ini files, plak hem daarnaast.
Stap 6: Dan heb je ook bij het gedownloade file het mapje Plugins staan, hierin staat het bestandje: kz_multiplugin.amxx, kopieer dit en plak deze in:
program files>steam>steamapps>(jou account)>dedicated server>cstrike>addons>amxmodx>plugins.
Hierin staan meerdere amxx bestandjes, plak deze ernaast.
Stap 7: Ga nu naar:
program files>steam>steamapps>(jou account)>dedicated server>cstrike>addons>amxmodx>configs, en open plugins.ini met b.v. notepad. Ga helemaal naar beneden en voeg daar deze regel onderaan bij:
kz_multiplugin.amxx
Sluit het en sla de veranderingen op.
Stap 8: Ga nog een keer naar:
program files>steam>steamapps>(jou account)>dedicated server>cstrike>addons>amxmodx>configs, en klik op modules.ini, deze moet je veranderen totdat het er zo uit ziet:
; AMX Mod X Modules
; You can specify both linux & win32 modules here
; To enable a module, remove the semi-colon from the line

;
; Fun - provides extra functions
;
fun_amxx_i386.so
fun_amxx.dll
fun_amxx_amd64.so

;
; Engine - provides engine functions core to Half-Life
;
engine_amxx_i386.so
engine_amxx.dll
engine_amxx_amd64.so

;
; Fakemeta - provides a massive interface into the HL engine
;
;fakemeta_amxx_i386.so
;fakemeta_amxx.dll
;fakemeta_amxx_amd64.so

;
; Database Access - only enable one of these
;
; MySQL
mysql_amxx_i386.so
mysql_amxx.dll
mysql_amxx_amd64.so
; PostgreSQL
;pgsql_amxx_i386.so
;pgsql_amxx.dll
; Microsoft SQL
;mssql_amxx.dll
; SQLite
;sqlite_amxx.dll
;sqlite_amxx_i386.so
;sqlite_amxx_amd64.so

;
; GeoIP - determines the country of ip adresses
;
;geoip_amxx_i386.so
;geoip_amxx.dll
;geoip_amxx_amd64.so

;
; Sockets - network socket support
;
;sockets_amxx_i386.so
;sockets_amxx.dll
;sockets_amxx_amd64.so

;
; Regular Expression support
;
;regex_amxx_i386.so
;regex_amxx.dll
;regex_amxx_amd64.so

;
; Binary Vault support
;
;nvault_amxx_i386.so
;nvault_amxx.dll
;nvault_amxx_amd64.so

;
; Counter-Strike - adds functions specific to Counter-Strike
;
cstrike_amxx_i386.so
cstrike_amxx.dll
cstrike_amxx_amd64.so

;
; CSX - adds functionality for CS statistics and events
;
csx_amxx_i386.so
csx_amxx.dll
csx_amxx_amd64.so

Let op de tekens voor de tekst, daar gaat het hier om!!
Stap 9: Nu ben je klaar met de kz multiplugin, start je dedicated server opnieuwe op en zet een jump map op, typ in say:/checkpoint
Als er [KZ] Saving Checkpoint of iets dergelijks komt te staan dan werkt de plugin ook.

Waarom zou ik Linux draaien?
Er moet natuurlijk niets. Verder hangt het af van je eisen welk OS je gaat draaien. Heb je totaal geen ervaring met linux en wil je alleen even snel een servertje aanzetten dan kan dat ook prima (of zelfs beter) met windows. Enkele voordelen van linux zijn:
  • Het gebruikt minder CPU/geheugen dan Windows.
  • Het is gratis, en dan blijft het ook nog legaal.
  • Het kan perfect via het netwerk bediend worden. Ideaal voor een LAN-server als je geen zin hebt een extra monitor mee te sjouwen.
  • Het is natuurlijk veel stoerder als je kunt vertellen dat jouw server linux draait.
Linux is in vergelijking met windows echt niet moeilijk, het is anders. Heb je zelf heel weinig ervaring met computers en kan je niet zonder je muis, dan zou ik er niet aan beginnen. Heb je wel wat ervaring met computers, dan kan het heel leuk zijn eens linux te proberen. Zorg er echter voor dat je zeker weet wat partities zijn en hoe je hdd is ingedeeld, het is namelijk mogelijk met een linux-install je volledige harde schijf te wissen. Een waardevolle bron van antwoorden is de GOT NOS FAQ.
Mocht je helemaal op safe willen spelen, installeer dan Knoppix Dit is een distributie die vanaf een cd boot en dus je harde schijf niet eens kan vernaggelen. Het is niet nodig te zeggen dat dit niet geschikt is om als cs-server te dienen, maar het is een mooie eerste kennismaking met linux.
Op de vraag welke linux-distributie je het beste kunt kiezen bestaat geen antwoord. Iedere distributie heeft zijn eigen voor- en nadelen. Voor beginners worden vaak paketten als Ubuntu en Fedora aangeraden, voor gevorderden Debian (hoewel ik niet begrijp waarom Ubuntu makkelijker zou zijn dan Debian) en Gentoo. Verder blijft de keuze voornamelijk een kwestie van smaak.
De verder beschreven artikelen over Linux werken allemaal prima op Debian en Gentoo. Paketten die zijn gebaseerd op RedHat (zoals Fedora en Suse) willen nog wel eens de neiging hebben net wat andere lokaties te gebruiken voor bestanden en dat soort dingen. Veel zal wel werken, maar garanderen kan ik het niet.

Een CS server onder Linux.
Om een server onder linux te installeren heb je een internetverbinding nodig en toegang tot de server. Dit laatste kan via de computer waar de server op komt te draaien zelf, maar wil ook prima via SSH met bijvoorbeeld Putty.
We beginnen met het aanmaken van een gebruiker speciaal voor het draaien van een cs-server. Deze zullen we even aan moeten maken als root of met sudo. Voor hiervoor de volgende commando's uit
mkdir /home/csserver/
useradd -d /home/csserver/ -g users csserver
passwd csserver (voer nu het password 2x in dat de gebruiker csserver moet krijgen)
chown csserver:users /home/csserver
We hebben nu de gebruiker csserver toegevoegd met als thuisdirectory /home/csserver. Log nu uit en log weer in met als gebruikersnaam csserver. Ga NIET onnodig dingen als root doen.
We gaan nu beginnen met installeren van de server. Hiervoor hebben we een paar hulpmiddeltjes, het makkelijkst gaat het op de volgende manier:
wget http://storefront.steampowered.com/download/hldsupdatetool.bin
chmod +x ./hldsupdatetool.bin
./steam -command update -game cstrike
Dat laatste commando zul je waarschijnlijk twee keer in moeten voeren omdat de steam executable eerst alleen zichzelf gaat updaten. Bij de tweede keer zie je een hele rij bestandjes die gedownload worden. Dit kan wel even duren, je kan in de tussentijd iets naar keuze gaan doen.
Is het updaten klaar, dan kun je de server starten. Start je deze zomaar op via putty en sluit je vervolgens putty, dan wordt je server ook direct gesloten. Het handigst is om met screen de server te starten en deze dan naar de achtergrond te gooien:
screen -d -m -S mycsserver ./hlds_run -game cstrike -other options
De parameters -d -m zorgen er samen voor dat het direct naar de achtergrond verdwijnt en de -S mycsserver geeft een naam aan de server. Mocht je later iets in de console in willen typen, dan kun je door het uitvoeren van "screen -r mycsserver" weer terugkomen in de serverconsole. Moet deze weer naar de achtergrond, dan kun je hem detachen met ctrl-a d (Dat is eerst ctrl-a, dan ctrl ook weer loslaten en dan pas d).

Een HLTV server onder Linux
Zodra een half-life server is geinstalleerd heb je ook een hltv server onder linux. Wil je deze zomaar starten, dan krijg je toch een paar foutmeldingen over je heen. Dit komt doordat de libraries voor hltv niet zomaar geladen worden. Het beste is om deze even aan de cache toe te voegen. Edit hiervoor als root het bestandje /etc/ld.so.conf en voeg hier op een nieuwe regel het pad naar je serverroot aan toe (in het voorbeeld hierboven /home/csserver) en sla het op. Run vervolgens als root de tool ldconfig. Vanaf nu zijn je hltv libraries beschikbaar.
Vervolgens is de hltv server te starten met ./hltv als gebruiker csserver. De commando's ervoor zijn hetzelfde als de Windows versie. Uiteraard kun je screen op dezelfde manier als bij de csserver gebruiken om je server op de achtergrond te laten draaien.

Ik wil een server maken, maar ik heb een router. Hoe doe ik dit?
Om te beginnen: voor op je server even via rcon of in de console in: "sv_lan 0", anders blijft je server alleen beschikbaar voor mensen in dezelfde ip-range als jij, en dat is niet de bedoeling.
Het principe Port Forwarding is erg eenvoudig, laat je router ervoor zorgen dat de verzoeken op de hl-poort worden geforward naar je server. Laten we dit toch maar een beetje toelichten :)

[ia]
|
[r]
+
+
+
[pc1] [pc2] [pc3]
Betekenis: [ia] is de internet-aansluiting, [r] is de router en [pcx] een willekeurige pc Stel je de volgende situatie voor: [pc1] is jouw 1337-game machine, [pc2] is de oude tiepdoos van je ouders en [pc3] is een nu nog werkloze pc waar je de server op wilt draaien. Ik ga er oor het gemak maar even van uit dat je de server al compleet hebt geinstalleerd en draaiend hebt. We gaan nu eerst een aantal ip-s onderscheiden:
  • Je externe IP: dit is het IP dat je van je van je inernetprovider hebt gekregen, en is na te kijken op http://watismijnip.nl
  • Je interne IP: dit verschilt per computer in je netwerk, maar dit is normaal gesproken in de range 10.x.x.x, 172.16.x.x of 192.168.x.x. Wil je dit weten onder windoos xp/2k, voor dan het volgende uit:
    • Start --> uitvoeren
    • "cmd" (zonder "" 8)7 )
    • "ipconfig"
    en hier staat keurig je ip-adres achter. Onder linux staat het vermeld als je "/sbin/ifconfig" uitvoert (maar als je linux gebruikt dan wist je dat natuurlijk al :) )
Het is je misschien opgevallen dat bij het starten van je server je het interne ip krijgt, dit is geen fout (het is zelfs goed). Wat je nog wel moet doen is naar de configuratie van je router gaan en daar op zoek gaan naar port forwarding en/of virtual server. Hier kun je instellen dat verkeer voor poort 27015 [UDP] doorgevoerd moet worden naar het interne ip van je server. De grap is alleen dat het per router verschilt hoe je het instelt, als je het niet kunt vinden doe je er goed aan eens de handleiding van je router op te zoeken en te kijken hoe je poorten forward (en ja, ik weet dat het best even wennen is, een handleiding lezen)
Heb je dit allemaal gedaan, dan zal je eerste reactie zijn om te proberen zelf te joinen met [pc1] op de server op het externe ip, en vervolgens merken dat dit niet werkt. De grap van port forwarding is namelijk dat het binnen je interne netwerk niet werkt, het is ook niet nodig binnen je netwerk. Het makkelijkst is om een vriend je externe ip te geven en te vragen of die kan joinen. Heb je geen vrienden, dan zul je een andere pc moeten vinden waar je het op kunt proberen, of op een webserver een query script als KQuery installeren en het hierop bekijken.
Voor veel routers staat een lijstje met handleiding over ip-forwarding hier online. Voor enkele routers staan hier ook beschrijvingen gegeven.

Router: Sweex
Ik begin zelf met de E-Tech router. Het firmware dat erop zit komt echter op meer (vooral de goedkopere) routers voor.
We beginnen met inloggen, standaard gaat dat door te browsen naar http://10.0.0.2/ met de username "admin" en het password "epicrouter". In het menu aangekomen kiezen we voor Virtual Server
plaatje
De instellingen doen we onderin, in het rechterframe. Wat we nodig hebben:
ID: Deze wordt automatisch voor ons ingevuld en daar blijven we dus gewoon vanaf.
Public port: Dit is de poort waarnaar de mensen kunnen connecten. Voor HL/CS is dit standaard 27015
Private port: Dit is de poort waarop wij de server daadwerkelijk hebben draaien. Ik draai een cs-server zonder verdere wijzigingen, dus ook hier vullen we 27015 in.
Port Type: Hier kiezen we het geschikte protocol uit. Half-Life gebruikt UDP, geen TCP.
Host IP Address: Dit is de het interne IP van onze server, voor deze pc is dat 10.0.0.99
Na een klik op add server is deze toegevoegd en staat het bovenin de lijst erbij gezet. Dat was alles, en onder normale omstandigheden is je server nu achter de router te bereiken. Draai je een firewall, dan zul je nog het eea aan poorten open moeten zetten.
Ben je erg enthousiast en wil je direct gaan testen door een half-life server op je externe ip te zoeken, dan zul je zien dat dit niet gaat. Port Forwarding werkt namelijk alleen vanuit het externe netwerk. Er zijn nu twee oplossingen om het even te proberen.
1) Je vraagt een vriend of die kan connecten naar de je server
2) Je kijkt via een web-interface of de server reageert. Dit is de oplossing voor het geval je geen vrienden hebt of wanneer ze niet te bereiken zijn :) iceAz heeft hier een keer een scriptje voor geschreven, dit is te bereiken via http://www.icezaz.com/server.php?ip=jouwip&port=27015
Mocht je geen idee hebben wat je externe ip is, surf dan even naar http://www.watismijnip.nl/

Router: Speedtouch 500
Open internet explorer ga naar 10.0.0.138 daar zie jeje router. Ga naar "NAPT" en vul daar in:
  • Protocol: UDP
  • Inside IP: hier je ip van je computer(DUS NIET JE EXT IP)
  • Inside Port: 27015
  • Outside IP: 0.0.0.0
  • Outside Port: 27015
Kies voor apply en dan save all. Dan ga je naar -> napt klik de tab UPnP aan.. en zet hem op OFF

Ik kom er nu nog niet uit, hoe vraag ik dat dan hier?
Te vaak worden er topic geopend met een inhoud als "mijn server doet het niet, hoe komt dat?" Misschien verbaast het je niet heel erg dat wij hier erg weinig mee kunnen, meer informatie is erg wenselijk.
Ten eerste is het handig te vermelden over welke versie van CS het gaat, 1.6 verschilt nogal van Source. Daarnaast is het vaak ook nuttig te vermelden welke serverversie je gebruikt, dus of Windows HLDS vanuit Steam, de Windows HLDS die niet vanuit Steam wordt gestart of misschien toch Linux. Heb je nog mods geinstalleerd, vertel dan ook even welke.
Een opmerking als "hij doet het niet" is ook niet bepaald inhoudelijk. Beschrijf zo duidelijk mogelijk wat je wel ziet, en krijg je een foutmelding, gooi dan ook de tekst ervan er even bij.
Natuurlijk zullen we niet alle informatie hiervan nodig hebben, maar teveel is beter dan te weinig. Op het moment dat je zeker weet dat iets er niet mee te maken heeft kun je dat natuurlijk wel weglaten.
Nog een laatste opmerking: gebruik ook de search eens. Dat ding is er niet voor niets, en veel vragen zijn al eerder gesteld.

Credist:
De volgende forumgebruikers hebben meegedragen aan deze FAQ, waarvoor onze dank
2B@D
[Bloed]Bad
Foxstrot
Magnetronkip
m00k
SysteN
vugele

Registreer een account om te kunnen reageren

Om te kunnen reageren op Gamelux heb je een account nodig. Lees alles over de voordelen op de registratie pagina.

-->