View Single Post
Old 15-11-2007, 16:32   #1 (permalink)
kriDje
Roger that.

Moderator
Call of Duty
 
kriDje's Avatar
 

Join Date: 25th July 2007
Location: Alblasserdam, Zuid-Holland
Xfire: DutchkriDje
Posts: 9,786
kriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond reputekriDje has a reputation beyond repute
Send a message via MSN to kriDje
Thumbs up [Tutorial] Een eigen Call of Duty 4 server opzetten

Tutorial: Een eigen Call of Duty 4 gameserver opzetten

Een verkorte versie van deze tutorials (voor ervaren gebruikers) vind je hier.

Inleiding
Er zijn veel mensen die graag een eigen Call of Duty 4 gameserver willen hebben. Dit kan bedoeld zijn voor LAN-parties, voor je eigen clan, of gewoon als publieke server.

Deze tutorial gaat over het maken van een eigen Call of Duty 4 server op je eigen PC of een eigen server, of hoe je een gehoste server die je bij i3D huurt kunt aanpassen/besturen.

Hier is geen grote technische kennis bij nodig; ik heb er voor gezorgd dat het niet al te moeilijk is. Maar bedenk wel, dat je niet ‘zomaar even gauw’ een gameserver opzet. Er gaat tijd inzitten en in de meeste gevallen lukt het niet om hem thuis te draaien. Bedenkt bovendien een goede reden om een gameserver te maken.

We gaan alles stap-voor-stap langs en als je iets niet snapt kun je beter niet verder gaan. Elke stap is belangrijk! Als je vragen hebt kun je die in een nieuw topic stellen, of kijk onderaan voor mijn MSN/Xfire.

Locatie
Je moet vooraf wel goed bedenken waar jij je server wilt draaien/hosten.

Thuis



Veel mensen willen hun server gewoon op hun eigen PC over Internet hosten. Dat kan meestal wel, maar het heeft enkele nadelen.
  • Je kunt de server niet 24/7 laten draaien, tenzij je je PC dag en nacht aan houdt
  • Het kost toch stroom
  • Je verbindingssnelheid is niet zo snel als bij een gehoste server in een datacenter (Bezoekers krijgen heel lang 'Awaiting connection…')
  • Als je op die PC ook andere dingen doet terwijl er ook de gameserver op draait, kunnen mensen lag hebben (bijv. als je gaat downloaden of een ander belastend iets doet)
Bij i3D
Het beste is, om naar een hostingbedrijf te stappen. Het kost wel wat geld om een gameserver te huren, maar je hebt dan wel een gameserver die 24 uur en 7 dagen per week online is. Bovendien krijg je wel de service die vaak wel erg van pas komt.


Wil je graag een goede gameserver? Ga naar i3D.nl!

Benodigdheden

FTP-programma
Als je gameserver ergens anders staat, moet je FTP kunnen gebruiken. Dat zit standaard al in Windows maar er zijn ook gratis FTP programma’s, zoals SmartFTP en FileZilla. Ik ga ervan uit dat iedereen met FTP kan werken.

Download SmartFTP (32-bit) ...

Een fatsoenlijke PC
Je hebt geen razendsnelle PC nodig. Mijn advies is om de server op een PC te draaien die je niet gebruikt. Want anders zou er lag kunnen optreden als je bijvoorbeeld een programma start.
Ook moet het netwerk niet teveel belast worden.

Xfire
Ik raad iedereen aan Xfire te gebruiken. De meeste mensen gebruiken het altijd, maar sommigen niet. Het is heel handig om te controleren of je server te bereiken is.


Download Xfire...

1. Installatie

Gehoste gameserver
Als je je gameserver huurt bij een gameserver provider (bijv. i3D), is Call of Duty 4 al geïnstalleerd door de serveradmin. De bestanden van de installatie zijn dan te bereiken via een FTP en het starten van de toepassing (het starten van Call of Duty 4) kan meestal via een controlpanel die via internet te bereiken is.

Eigen server op afstand
Als het om een eigen server op afstand gaat, zul je de installatie moeten uploaden. Zorg dan dat je eigen installatie up-to-date is.

Kijk hier welke bestanden geupload moeten worden als je een server op afstand gebruikt.

Als je een Linux server draait, moet je de Linux binaries gebruiken om de server te starten. Die kun je HIER downloaden. Deze moet je plaatsen in de root van de installatiedirectory. Maar ik raad je aan om het door de serveradmin te laten doen.

Server in eigen netwerk / eigen PC



Als je de installatie op je eigen PC hebt draaien dan moet je zelf ervoor zorgen dat de installatie oké is.
  • Zorg ervoor dat je installatie ’schoon’ is. Er mogen geen MOD-bestanden of extra maps aanwezig zijn. Als je bijvoorbeeld al op andere servers geweest bent, kunnen er allerlei bestanden in de de map ‘main’ terechtkomen. Zorg ervoor dat die verwijderd zijn en laat alleen de originele bestanden staan.
  • Zorg ervoor dat je Patch 1.6 en daarna Patch 1.7 hebt geïnstalleerd. Dit om je server echt up-to-date te maken. Alleen members met patch versie 1.6 kunnen je server nu joinen, maar over een poosje heeft iedereen die. Let op, in de rest van de tutorial ga ik ervan uit dat je deze hebt geïnstalleerd!
2. Portforwarding

Deze stap is alleen van belang als je de server zelf beheert en thuis in het LAN-netwerk staat. Ook als je je server alleen via LAN en niet via Internet bereikbaar wilt hebben, kun je deze stap overslaan.

Start eens even gauw je servertje. Gewoon via de snelkoppeling Call of Duty 4 - Multiplayer, vervolgens Start Server. Kies bij de Opties even Dedicated > LAN. Als je je server nu start, verschijnt er een console. De console is in principe de server, het is enkel een proces dat communiceert met de bezoekers (clients) die connecten. Je kunt in de console ook commands typen.

Voeg daarna je server eens toe aan je Xfire favorieten. (Rechtermuisklik op Favorieten > Voeg Custom IP toe > Vul het LAN IP-adres in, bij poort typ je 28960).
Het LAN-IP kan je zo vinden: Start > Uitvoeren (of Win. toets + R) en typ: cmd > enter > typ: ipconfig > enter. Bij IP-Adres of IPv4-Adres zie je het LAN-IP van je eigen PC.

Je ziet in Xfire je server nu staan. Zoals jouw PC in het netwerk een LAN-IP heeft, heeft je netwerk over het Internet een WAN-IP adres. (Internet-IP) Het WAN-IP van jezelf kan je hier vinden.

Let op: Jij kunt niet communiceren met je eigen WAN-IP!

Conclusie: Jij gebruikt om je server te joinen (of te controleren via Xfire) het LAN IP-adres van de PC waarop die draait, maar anderen die over het Internet verbinden moeten het WAN IP-adres gebruiken! Zie ook op de afbeelding hieronder!



Om met clients over Internet te communiceren, moeten we alle firewalls en blokkades onderweg uitschakelen. Bij een server in een datacenter is dat meestal alleen de firewall van de server (bijv. Windows Firewall) maar in je eigen netwerk moet je ook nog de betreffende poort in de router openmaken.

Dit is niet lastig maar moet je wel even goed doen.

De router is een kastje (meestal in de meterkast of iets dergelijks) waar het ADSL binnenkomt.

Hoe de router open te zetten? Kijk eerst of je een handleiding kan vinden, da’s wel zo makkelijk.

En anders weet ik een methode die globaal overal werkt. Ga naar Start > Uitvoeren, en typ: cmd. Geef een enter, en typ vervolgens ipconfig. Daar zie je bij Standaard-gateway het IP-adress van je router.
Als je dat adres in je adresbalk in Internet Explorer typt, dan kom je bij een inlogpagina van je router. Typ de gebruikersnaam+wachtwoord. Als je die niet weet: Hier kun je alle standaard wachtwoorden vinden. (Daarvoor moet je wel het type router weten. Dat staat meestal wel op het inlog-venster).
Als je ingelogd bent, moet je ergens je poorten kunnen openzetten; meestal bij Virtual server of zo iets.
Het gaat om de poorten 28960 (TCP) en 28960 (UDP). Als je nergens de optie TCP of UDP ziet, doe dan gewoon poort 28960. ('Both' betekent overigens zowel TCP als UDP.) Typ bij IP-adres het LAN-IP van de server in.

Als het niet lukt, kijk dan eens hier!

Als je dit succesvol hebt gedaan, kunnen andere mensen je server joinen met het WAN IP.

3. Command line
Nu alle basisinstellingen goed staan, gaan we ons concentreren op het aanpassen van je server naar jouw wensen.

Daarom leg ik eerst uit wat parameters zijn. Parameters zijn bepaalde commando’s die je ‘meegeeft’ aan een toepassing. Deze gebruiken we omdat we dan met één klik de server kunnen starten. (Zonder in-game eerst alle opties in te stellen). Alle parameters bij elkaar wordt de command line genoemd.

In Windows kun je parameters toevoegen door een snelkoppeling naar de betreffende toepassing te maken (in dit geval dus iw3mp.exe). Dan klik je met je rechtermuisknop op de snelkoppeling en je kiest Eigenschappen. In het veld Doel kunnen we de parameters achter het pad intypen. Wat daar moet komen te staan, leg ik zometeen uit.

Als de server op een Linux-server draait, werkt het anders. Bij i3D servers moet je de parameters in een apart bestandje zetten, dat de extensie .sh heeft. Dit bestandje is meestal al aanwezig en heet 'start.sh' of 'startserver.sh'. Die kun je openen met Kladblok en daarin kun je de parameters toevoegen.

Bij andere hosters kun je de commandline meestal via het controlpaneel aanpassen.

De eerste parameter: +set dedicated
Allereerst moeten we Call of Duty 4 Multiplayer op in de dedicatede-mode opstarten. Dat houdt in dat het spel meteen al begint met een console, zonder dat eerst het spel opgestart wordt via de normale manier.

Daarom gaan we de parameter “set dedicated” gebruiken. Als je deze gebruikt, wordt Call of Duty 4 Multiplayer gestart in een console. Je kunt hierbij +set dedicated 1 gebruiken of +set dedicated 2. Als je over Internet gaat spelen moet je altijd ‘2’ gebruiken.

De tweede parameter: +set fs_game
Deze parameter moet je alleen gebruiken als je je server modded wilt maken. Wil je je server normaal (ranked), sla deze parameter dan over en ga naar het kopje "De derde parameter"!

Korte info over 'ranked' en 'unranked' of 'modded': Op een normale ranked server gelden gewoon de ranks van iedereen en verdien je XP (Experience Points) met je score. Bovendien gelden daar de spelregels die door IW zijn ingesteld. Dus daar kan je geen wapens uitschakelen.

Je server kan unranked gemaakt worden met mods. Voor een standaard unranked server gebruik je de mod ModWarfare. Maar er zijn ook mods die een eigen ranking hebben.

De parameter om de mod ModWarfare te laden is +set fs_game mods/modwarfare

Als je een andere mod gebruikt, moet je een andere map gebruiken. Hiervoor moet je zelf een map aanmaken in Mods. (Die noem je bijvoorbeeld awemod) Daarin komen dan alle mod-bestanden en de parameter wijzig je dan natuurlijk naar die mapnaam (bijvoorbeeld +set fs_game awemod, als de map awemod heet.)

De derde parameter: +exec
Deze parameter zorgt ervoor dat de zogenaamde cfg-bestanden worden uitgevoerd. Daarin komen de overige commands voor alle instellingen. Meer over de cfg-bestanden komt straks, we voegen alleen alvast de parameter toe: +exec server.cfg.

De vierde parameter: +map_rotate
Dit is de laatste parameter en deze zorgt ervoor dat de maprotatie wordt uigevoerd. Als je dit niet doet, worden er geen mappen geladen, en dan werkt de server meestal niet.

Dus nu is het doel van de snelkoppeling: "C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\iw3mp.exe" +set dedicated 2 +exec server.cfg +map_rotate

Hieronder een voorbeeld:



Met het gebruik van een mod:
"C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\iw3mp.exe" +set dedicated 2 +set fs_game mods/modwarfare +exec server.cfg +map_rotate


4. De configuratiefiles (.cfg’s)
Als je de server nu start, dan krijg je een server waarvan je niets kunt instellen. Simpelweg omdat er geen .cfg bestanden zijn om uit te voeren.

Download DIT pakketje even en pak het uit. Je ziet nu 5 cfg-bestanden.

Als je je server modded wilt maken, moet je de cfg's plaatsen in de map mods/modwarfare.

Als je je server ranked wilt maken, plaats dán de cfg-bestanden in de map main (dat is een aparte map, dus niet de rootdirectory). We plaatsen ze daarin, omdat we de parameter +set fs_game niet gebruiken.

Als je een geavanceerdere mod gebruikt, zitten daar de cfg-files meestal al bij. Die moet je samen met de overige mod-bestanden plaatsen in de zelfgemaakte map in mods. (bijvoorbeeld mods/awemod)

5. Het aanpassen van de .cfg’s
Om je server aan te passen aan je wensen moet je de cfg-bestanden wijzigen. Het openen van de cfg’s doe je met Kladblok.

Bijna overal is bijgezet wat het betreffende commando betekent.

Het instellen van de cfg’s is gewoon een kwestie van goed kijken en logisch nadenken. Over het algemeen is 0 = uit en 1 = aan.

Let op! Op een RANKED server kun je veel dingen niet instellen, zoals wapens en perks. Dat komt omdat op RANKED servers de algemene spelregels gelden.


Enkele notes:
  • Als je meer dan 32 slots wilt instellen, moet je de parameter +set sv_maxclients "64" toevoegen
  • Als je op een andere port dan 28960 wilt draaien, moet je in je commandline voor +exec en erna de parameter +set net_port "28970" toevoegen. Let dan wel op dat die port ook in de router opengezet is.
6. De server op afstand besturen
Het makkelijkste is om het programma ‘ModernRcon’ te gebruiken, die je hier kunt downloaden. Daarmee kan je de server op afstand bedienen.
Hiervoor moeten we een rcon password instellen, waarmee je kan inloggen in je console van de gamesessie. Die moet je instellen in server.cfg.

Pas de volgende regel aan in server.cfg:
set rcon_password "hierjerconpassword" (wijzig dit en onthoud het password goed)



Als je ModernRcon geïnstalleerd hebt kun je op afstand je server bedienen. Om te verbinden met de server moet je het IP-adres, de poort (normaal gesproken 28960) en het Rcon password invullen. Hierbij is het belangrijk of je de server via LAN of over het Internet aanstuurt. Als je via LAN werkt, moet je het LAN IP-adres gebruiken (bijv. 10.0.0.3 of 192.186.2.2) en als je via Internet je server bedient, moet je het Internet IP-adres gebruiken (bijv. 84.244.186.43) Die kan je dus alleen gebruiken als de server ergens anders op afstand staat.

Het stoppen en starten kan gewoon door de console af te sluiten en door opnieuw de snelkoppeling te openen. Bij hostbedrijven kan je meestal via een controlepaneel op Internet de server starten en stoppen.

7. Punkbuster goed instellen
Jammer genoeg zijn er steeds meer cheaters en hackers actief, ook op servers waar Punkbuster ingeschakeld is.
Daarom heb ik een configbestand voor Punkbuster samengesteld, waar behalve de handige PB dvars ook de MD5 Tools Scan geupdated is, zodat het gebruik van bijv. wallhacks bijna niet mogelijk is.

Update: Om veiligheidsredenen is de lijst met MD5-tools niet meer aanwezig in het script.

Download dit bestandje HIER en plaats deze in de Punkbuster map. (pb in Windows en de map .callofduty4 in Linux)

8. Mods installeren (Optioneel!)
Wil je graag een server met een mod? Dat kan handig en leuk zijn. Maar houd er rekening mee, dat met mods de server UNRANKED wordt.

Maak een nieuwe map in de map 'Mods', die je bijvoorbeeld extreme noemt. Daar zet je alle bestanden van de betreffende mod in. De cfg-bestanden zitten daar meestal bij, dus die moet je dan gebruiken. Technische hulp bij het installeren van zo'n mod kan ik niet specifiek geven, het is in de meeste gevallen simpelweg goed de readme bekijken en de cfg-bestanden logischerwijs aanpassen.
Daarna moet je de parameter +set fs_game mods/extreme gebruiken. (Als de map anders heet moet je natuurlijk die naam hier gebruiken). Daarna behoort de server gewoon te werken met de mod.


De eXtreme+ Mod is een populaire mod uit Call of Duty 2.

Redirect downloading
De mod file moet bijna altijd door de bezoekers gedownload worden. Dat is bij een kleine mod niet erg. Maar bij een grotere mod die groter is dan een MB, wordt het al lastiger. De uploadsnelheid van je server is nooit zo hoog en het spel wordt erdoor verstoord (bijvoorbeeld door lag).
Daarom is er redirect downloading. Dat betekent dat de bestanden van een andere locatie gedownload worden. Dus nu kun je een razendsnelle locatie, die via FTP te bereiken is, gebruiken voor je server. Als je niet zo’n ‘redirect space’ hebt, zal je die wel moeten huren. Bij i3D krijg je deze gratis als je een server huurt.
Als je zo’n redirect space hebt, moet je in de server.cfg de link naar de redirect space instellen. Hou er rekening bij, dat de server dan het pad dat je invoert als ‘root’ ziet, dus de bestanden in de main worden gedownload vanaf de map main IN dat pad dat je opgaf.

Voorbeeld: In server.cfg staat: seta sv_wwwBaseURL "http://www.jouw_redirectspace.nl/redirectfolder"
Dan zal het bestand /mods/pam4/z_svr_pam400_beta3.1.iwd gedownload worden vanaf http://www.jouw_redirectspace.nl/red...lder/mods/pam4.

Hou er rekening mee dat redirect alleen werkt als de files exact hetzelfde zijn.
Als je geen mods gebruikt is redirect downloading niet nodig.


9. Custom maps toevoegen (Optioneel!)

Vooraf
Sinds de release van de Mod Tools kunnen er voor Call of Duty 4 extra maps gemaakt worden, zogenoemde custom maps. Als deze op de server worden geinstalleerd, kunnen daarin worden gespeeld.

Een custom map op je server is leuk en aardig, maar sowiezo moet de server unranked zijn en je moet redirect downloading inschakelen. (Zie hoofdstuk 9, bij 'Redirect downloading')

Het installeren van een map doen we stapsgewijs.

1. Custom map downloaden
De meeste maps zijn gewoon te downloaden van het Internet. Google op 'CoD4 custom maps' en je komt vanzelf op downloadsites. Na het kiezen van een map zul je een rar- of zipfile krijgen die je moet uitpakken. Vervolgens zul je bijna altijd 2 of 3 bestanden zien, waarvan één IWD-file.
Let goed op dat je een map zonder bugs hebt, dus het liefst een 'Final version'.

2. Unranked maken
Je server moet eerst unranked gemaakt worden. Bij Hoofdstuk 4 - Tweede parameter lees je hoe dat moet: de parameter +set fs_game modwarfare toevoegen en alle cfg-files in dat mapje plaatsen.

3. Map-bestanden in de juiste map plaatsen
Maak direct in de root (C:\Program Files\Activision\Call of Duty 4 - Modern Warfare) een nieuwe map aan, met als naam usermaps. Daarin komt vervolgens een map met de naam van de custom map, dus bijvoorbeeld mp_subway. Daarin plaats je de custom map-files, de twee of drie bestanden.
Dus voor de duidelijkheid: in mijn voorbeeld staan deze nu in C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\usermaps\mp_subway
Voor elke custom map moet een apart mapje worden aangemaakt in usermaps.

4. Map laden
Na een restart van je server kan de map geladen worden met het commando /map mp_xxxx. Dus bijvoorbeeld /map mp_subway. Vergeet niet dat als je het in je ingame console doet (typ ` tijdens spel) dat je dan het command /rcon map mp_xxxx moet gebruiken, en dan eerst natuurlijk nog /rcon login jerconpassword.

Je kunt de map ook toevoegen aan de maprotatie, maar je moet wel weten welke gametypes door de map ondersteund worden!


-- Einde Tutorial --




Over mijn topic:
  • Ik probeer de tutorial zo up-to-date mogelijk te houden, dus controleer regelmatig op gewijzigde info. Ook de cfg-bestanden worden wel eens geupdated.
  • Vragen? Bekijk de FAQ (Meest gestelde vragen).
  • Helaas ben ik gestopt met supporten, omdat ik daar geen tijd meer voor heb. Mijn Xfire lijst bevat momenteel meer dan 200 mensen en heb geen tijd meer om zoveel mensen te helpen. Als het te moeilijk voor je wordt, dan kun je het beste ermee stoppen. Of probeer Google eens. Excuses voor het ongemak.
  • Als je foutjes ontdekt, of een opmerking over de inhoud hebt, post dat ook!
  • Wil je PAM4 installeren? Daar is ook een tutorial over! Bekijk deze tutorial HIER.
Veel succes allemaal!
Greetz,


kriDje

Met dank aan:
- AlterEgo (Tutorial CoD2-server)
- De eXtreme+ Crew, met name Astoroth
- Het i3D-forum
- GoA.Winters (Voor alle diensten als Moderator)
Attached Files
File Type: zip ModernRcon_v0.5.zip (1,002.9 KB, 327 views)
File Type: zip Server_CFGs.zip (7.1 KB, 1483 views)

Last edited by kriDje; 28-6-2008 at 17:27. Reason: No support anymore!
kriDje is offline