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, of hoe je een server die je bij i3D huurt kunt aanpassen/bedienen.
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. In sommige gevallen gaat dit wel; in andere gevallen niet.
Het hangt er vanaf of de verbindingsnelheid een beetje fatsoenlijk is. Bij een slechte verbinding krijgen je bezoekers dan erg lang een scherm met ‘Awaiting connection…’.
En als je ook nog mods/custom maps (gaat) gebruiken, moet je ook nog eens redirect downloading gebruiken, en daar heb je een snelle locatie voor nodig.
Bij een hostingbedrijf
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.
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 FileZilla
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.
1. Installatie
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.
Als je de installatie onder eigen controle hebt, dus als je de installatie op je eigen PC/server 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 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!
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.
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.
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)
Als het goed is, kan je nu je server joinen.
Perfect, maar je bent nog niet klaar. Want ik neem aan dat andere mensen over Internet jouw server ook moeten kunnen joinen. Daarom moeten we enkele poorten in de router openzetten. 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 manier. 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.)
Als je dit succesvol hebt gedaan, kunnen andere mensen je server joinen met het Internet IP. Als de PC in je LAN-netwerk staat, kan je die vinden door met een PC in het LAN-netwerk, dus gewoon je eigen PC, naar www.myip.com te gaan. Het IP-adres wat je daar vind, moeten anderen gebruiken. Jij kan de server gewoon nog joinen via LAN-servers in Xfire (of gebruik het LAN-IP).
3. Parameters
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)
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: Je moet 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.
De eerste parameter: +set dedicated
Allereerst moeten we Call of Duty 4 Multiplayer op een makkelijke manier op kunnen starten. Als je het op de normale manier doet (probeer maar op je eigen PC) dan zie je dat het spel gewoon normaal wordt gestart en dat je ingame je opties kunt selecteren. Dit is natuurlijk heel onhandig in dit geval, omdat je dan zelf als server ook in het spel zit. Bovendien hebben de meeste servers niet eens de goede hardware daarvoor (grafische kaart). Nee, we willen dat de server alleen maar ‘draait’ en dat we die alleen maar (op afstand) hoeven te bedienen.
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
LET OP: Deze parameter moet je alleen gebruiken als je je server UNRANKED wilt maken. Wil je je server RANKED, sla deze parameter dan over en ga naar het kopje "De derde parameter"!!
Korte info over 'ranked' en 'unranked': Op een 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.
Op een UNRANKED server heeft iedereen gelijke kansen: Bij het joinen mag je zelf je wapens en perks kiezen en ben je niet gebonden aan de mogelijkheden van je rank. Ook kan de server dan voor een groot deel aangepast worden.
De parameter is +set fs_game mods/modwarfare
Deze parameter gebruik je dus om je server unranked te maken, maar het is ook noodzakelijk als je mods gebruikt.
Als je een 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:
Als je de server unranked maakt:
"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 hier en pak het uit. Je ziet nu 5 cfg-bestanden.
Als je je server unranked 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.
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)
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 hou er rekening mee, dat met ingewikkeldere mods, zoals de eXtreme+ mod of de AWE4 mod, de server UNRANKED moet zijn. Bij minder ingewikkelde mods zoals een Message Mod kan de server wél ranked blijven. Hoe dit precies zit leg ik even uit.
Simpele mod
Als je een simpele en praktische mod vind, die erg weinig aanpast aan het originele spel, dan kan je je server ranked houden. De modfile plaats je dan in de map 'main', waar ook de cfg-bestanden staan. Lees de bijbehorende readme goed voor de instructies.
Dus, de installatie is heel eenvoudig: modfile in de main map plaatsen, en vervolgens even je server restarten. Let op! Het is niet verstandig om de naam van de modfile aan te passen... doe dat niet!
Uitgebreide mod
Als je een grotere mod gebruikt (Zoals eXtreme+), die het spel nogal veranderd, dan moet je je server unranked maken. Hiervoor moet je een map maken 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!
Tutorial gemaakt door kriDje (i3D.nl)