Eins vorneweg:
Wenn man DSL hat, kann man einen eigenen Server für CoD für MAXIMAL 8 Spieler online erstellen - aber selbst das klappt verbindungstechnisch nicht immer sehr gut, denn die Pings gehen meist ziemlich schnell in die Höhe. Man kann Glück haben, oder auch Pech ... (Bei einem Modem und ISDN sollte man es erst gar nicht versuchen...)
aus der CoD-eigenen ReadMe:
Mehrspieler-Host mit einem DSL-Server
Wenn Sie eine Mehrspieler-Partie von Call of Duty™ mit einem DSL-Server als Host erstellen, können sich nur maximal 8 Clients an das Spiel aufgrund der beschränkten Bandbreiten von DSL anschließen.
ROUTER:
Wenn man hinter einem Router sitzt kann man keinen Internet-Server erstellen!!!
Call of Duty unterstützt Forwarding nicht, daher ist das nicht möglich:
Auszug aus der CoD-eigenen ReadMe:
Probleme mit Firewall-Software
Generell empfehlen wir, für Call of Duty™ keinen Server zu wählen, der gleichzeitig ein NAT-Server ist (wie Microsofts Internet Connection Sharing) oder über ipForwarding eines LANs ins Internet verfügt. Diese Rechner sehen Clients in Ihrem LAN anders als das Internet, daher können Sie diese Clients nicht zulassen.
Im Router zwei virtuelle Server erstellen (IP Forwarding)
TCP/IP- und UDP-Port 28960 freischalten auf die lokale IP-Adresse des PCs der als Server funktionieren soll.
(nicht von uns getestet!)
Danke für den Tipp!
Bitte lest euch auch diesen Artikel durch, wenn ihr hinter einem Router sitzt und einen Server eröffnen wollt:
"Anleitungen & Tips zum Thema "Router & eigener Server"
---
Los geht´s!
Lege eine neue Verknüpfung auf dem Desktop an, die zur CoDMP.exe führt (oder kopiere einfach die Verknüpfung zum CoD-Multi-Player auf dem Desktop und füge sie auf dem Desktop wieder ein).
Dann markierst Du die Verknüpfung, drückst die rechte Maustaste und wählst EIGENSCHAFTEN.
Unter ZIEL siehst Du, auf was sich die Verknüpfung bezieht, z. B.:
"C:ProgrammeCall of DutyCoDMP.exe"
Diesen Zielpfad musst Du nun anpassen:
1. Wenn Du einen Server erstellen willst, auf dem Du GLEICHZEITIG spielen willst, dann brauchst Du den Befehl
+set dedicated 0
2. Wenn Du einen REINEN Server (einen "dedizierten" (=dedicated) Server haben willst (an dem kannst Du NICHT gleichzeitig spielen , der läuft dann nur als Server!), der nur im LAN aktiv ist (also in einem eigenen Netzwerk), dann nimmst Du den Befehl
+set dedicated 1
3. Wenn Du einen REINEN Server (einen "dedizierten" (=dedicated) Server haben willst (an dem kannst Du NICHT gleichzeitig spielen , der läuft dann nur als Server!), der nur im Internet aktiv ist, dann nimmst Du den Befehl
+set dedicated 2
Je nach dem, was Du nun also haben möchtest, hängst Du hinter den Zielpfad der Verknüpfung ein Leerzeichen und dann den entsprechenden Befehl an, also z. B. für einen Server, auf dem Du gleichzeitig mit anderen spielen kannst nimmst Du
+set dedicated 0
Sähe dann so aus:
"C:ProgrammeCall of DutyCoDMP.exe" +set dedicated 0
Reiner LAN-Server:
"C:ProgrammeCall of DutyCoDMP.exe" +set dedicated 1
Reiner Internet-Server:
"C:ProgrammeCall of DutyCoDMP.exe" +set dedicated 2
ACHTE AUF DIE LEERZEICHEN!!!
Ein Serverscript erstellen:
Nun musst Du dem Spiel auch noch klarmachen, woher es die entsprechenden Spieleinstellungen bekommt - die hast Du ja in der " dedicated.cfg " hinterlegt. Also musst Du dem Server klar machen, daß er dieses Script ausführen soll. Kannst Du ebenfalls an die Verknüpfung mit anhängen mit dem Befehl
+exec dedicated.cfg
Sieht in Deinem Beispiel dann so aus:
"C:ProgrammeCall of DutyCoDMP.exe" +set dedicated 0 +exec dedicated.cfg
Reiner LAN-Server:
"C:ProgrammeCall of DutyCoDMP.exe" +set dedicated 1 +exec dedicated.cfg
Reiner Internet-Server:
"C:ProgrammeCall of DutyCoDMP.exe" +set dedicated 2 +exec dedicated.cfg
ACHTE AUF DIE LEERZEICHEN!!!
Wenn Du also den Zielpfad der Verknüpfung entsprechend geändert hast, übernimmst Du das Ganze mit "OK" und startest das Spiel dann mit einem Doppelklick auf Deine angepasste Verknüpfung.
Aber zuerst müssen wir uns nun um das Server-Script kümmern, damit Dein Server auch problemlos starten und laufen kann. Ich habe mal eine kleine Vorlage erstellt, ein ganz einfaches, unkompliziertes Server-Script, ist natürlich nicht perfekt, ist nur mal für den schnellen und leichten Einstieg gedacht.
Bevor nun irgendwelche Kritiker anfangen, mich zu zerfleischen:
Ich will´s den Anfängern so einfach wie möglich machen, geht nur darum, mal grundsätzlich den Aufbau zu zeigen und ein erstes Erfolgserlebnis zu ermöglichen; perfektionieren kann es jeder für sich selbst, wenn man erst mal verstanden hat, wie´s funktioniert.
Eine weitere "Eigenart", die mir bei der CoD-Server-Script-Geschichte aufgefallen ist:
Auf vielen Seiten, die sich mit der Erstellung von Server-Scripten beschäftigen, werden die einzutragenden Befehle mit "set" oder "seta" angegeben - bei mir (und auch bei ein paar anderen Usern) klappen aber einige Servereinstellungen dann nicht. Daher gebe ich das Script hier so an, wie es bei mir ohne Probleme funktioniert.
Wenn Du Probleme feststellst, dann versuch es also noch ein mal, in dem Du vor die entsprechende Einstellung, die bei Dir nicht funktioniert "set" oder "seta" setzt, z. B.:
Friendly Fire ist so eingetragen:
scr_friendlyfire "1"
und funktioniert aber nicht - also versuch es mit
set scr_friendlyfire "1"
oder
seta scr_friendlyfire "1"
---
So, los geht´s mit Deinem ersten eigenen Server-Script:
Speichere Dir diese Datei in den main-Ordner :
DOWNLOAD dedicated.cfg
(rechte Maustaste auf den Link, Ziel speichern unter... - achte nach dem Download darauf, daß die Dateiendung .cfg ist und nicht .txt !)
Diese dedicated.cfg ist nun Dein Serverscript. Du kannst Dir natürlich auch ein eigenes Script mit einem anderen Namen erstellen, im Namen des Scriptes dürfen aber KEINE LEERZEICHEN enthalten sein! Und den Namen des Scriptes musst Du dann natürlich auch bei der Verknüpfung entsprechend anpassen! Man kann ohne Probleme mehrere Scripts im main-Ordner liegen haben, im Spiel kann man dann über die Konsole ein anderes Script laden, wenn man das möchte. Mehr dazu gleich.
Du hast die dedicated.cfg jetzt als Vorlage da - die kannst Du mit z. B. WORDPAD öffnen und die Einstellungen anpassen, wie Du sie haben möchtest.
So, hier also mal was in der cfg steht und was es bedeutet: (Die blauen Einträge sind die, die Du in der dedicated.cfg findest)
Legt den Spieltyp zum Spielstart fest
(DM = Death Match - TDM = Team Death Match - SD = Search & Destroy - RE = Retrieval - BEL = Behind Enemy Lines - HQ = Headquater)
g_gametype tdm
Legt die Startmap fest
mögliche Maps: mp_brecourt mp_carentan mp_chateau mp_dawnville mp_depot mp_harbor mp_hurtgen mp_pavlov mp_powcamp mp_railyard mp_rocket mp_ship mp_bocage mp_neuville mp_stalingrad (Standard-Ingame-Maps wenn man Patch 1.4 installiert hat)
ACHTUNG: mp_chateau mp_powcamp und mp_ship können NICHT im SD gespielt werden!
map mp_stalingrad
Setzen eines rconpassword: Du solltest ein rconpassword vergeben, damit nicht jeder willkürlich die Servereinstellungen beeinflussen kann. passwort tauscht Du gegen ein Passwort Deiner Wahl aus.
rconpassword "passwort"
Hier nun ein paar Angaben zum Server. Die Angaben werden zwischen die "" eingetragen und können von GameSpy oder ASE ausgelesen werden.
set sv_hostname "Name des Servers"
set scr_motd "Nachricht im Einstiegsbildschirm"
sets .Admin "Name des Admin"
sets .Email "123@provider.de"
sets .IRC ""
sets .Website ""
sets .Location ""
Weitere Einstellungen ( o = aus, 1 = an)
Symbol über Kameraden
set scr_drawfriend "0"
Friendly Fire
set scr_friendlyfire "1"
Maximale Teilnehmer
set sv_maxClients "8"
Abgleich der Clients auf veränderte/zusätzliche pk3s
set sv_pure "0"
Abstimmung erlaubt
set g_allowVote "1"
set scr_allow_vote "1"
Downloads erlaubt - sollte man gerade bei einer DSL-Verbindung nicht gestatten - wenn ein sich verbindender Spieler die Map nicht hat und anfängt, die nun, während andere gleichzeitig spielen, vom Server zu ziehen, dann geht dabei Bandbreite verloren, was zu erhöhten Pings für die Spieler auf dem Server führen kann!
set sv_allowDownload "0"
Waffeneinstellungen (dürfte einleuchtend sein)
//Weapons
set scr_allow_bar "1"
set scr_allow_bren "1"
set scr_allow_enfield "1"
set scr_allow_fg42 "1"
set scr_allow_kar98 "1"
set scr_allow_kar98ksniper "1"
set scr_allow_m1carbine "1"
set scr_allow_m1garand "1"
set scr_allow_mp40 "1"
set scr_allow_mp44 "1"
set scr_allow_nagant "1"
set scr_allow_nagantsniper "1"
set scr_allow_panzerfaust "1"
set scr_allow_ppsh "1"
set scr_allow_springfield "1"
set scr_allow_sten "1"
set scr_allow_thompson "1"
Einstellungen für den Spieltyp
Dürfte größtenteils einleuchtend sein
//DeathMatch
set scr_dm_scorelimit "20"
set scr_dm_timelimit "15"
//Team DeathMatch
set scr_tdm_scorelimit "20"
set scr_tdm_timelimit "15"
//Search and Destroy
set scr_sd_graceperiod "15"
set scr_sd_roundlength "4"
set scr_sd_roundlimit "0"
set scr_sd_scorelimit "5"
set scr_sd_timelimit "15"
//Behind Enemy Lines
set scr_bel_alivepointtime "10"
set scr_bel_scorelimit "50"
set scr_bel_timelimit "15"
//Retrieval
set scr_re_graceperiod "15"
set scr_re_roundlength "4"
set scr_re_roundlimit "0"
set scr_re_scorelimit "7"
set scr_re_timelimit "15"
set scr_re_showcarrier "0"
//HEADQUARTERS
set scr_hq_timelimit "30"
set scr_hq_scorelimit "450"
Maprotation
Ich für meinen Teil setze jedes Mal den Spieltyp davor, ist aber normalerweise nicht zwingend notwendig. Man sollte auch nicht zu viele Maps in die Rotation setzen, da das zu Problemen führen kann. Macht aber z. B. dann Sinn, wenn man von vornherein auch einen Wechsel des Spieltyps vorgeben will.
//ROTATIONS
set sv_mapRotation "g_gametype tdm map mp_brecourt g_gametype tdm map mp_carentan g_gametype tdm map mp_chateau g_gametype tdm map mp_dawnville g_gametype tdm map mp_depot g_gametype tdm map mp_harbor g_gametype tdm map mp_hurtgen g_gametype tdm map mp_pavlov g_gametype tdm map mp_rocket g_gametype tdm map mp_bocage g_gametype tdm map mp_neuville g_gametype tdm map mp_stalingrad"
Das sind nun alle Einstellungen, die in der Vorlage dedicated.cfg eingestellt sind. Wenn die Datei nun im main-Ordner liegt und Du Deine Verknüpfung wie oben beschrieben verändert hast, dann kann es fast schon losgehen.
Als letztes musst Du nun nur noch die Internetverbindung herstellen, Deine IP-Nummer herausfinden und diese an Deine Kumpels schicken, damit sie wissen, auf welchen Server sie sich einloggen müssen:
IP-Nummer: (Deine aktuelle IP: 62.134.80.69)
Windows 2000 und Windows XP:
Gehe auf
START -> AUSFÜHREN -> dort gibst du ein CMD
Die "Eingabeaufforderung öffnet sich - in diese gibst Du den Befehl
ipconfig
(und dann bestätigst Du mit der ENTER-Taste) ein - und schon siehst Du Deine IP-Adresse.
Windows 98:
START -> AUSFÜHREN -> dort gibst Du ein
winipcfg
Eine grafische Oberfläche öffnet sich und zeigt Dir Deine IP an.
ODER
Du gehst auf die Seite
http://www.whatismyip.com/
und lässt Dir so Deine aktuelle IP anzeigen. (Sinnvoll, wenn man an einem Router hängt)
---
Steuerung des Servers:
Wenn Du nun Server und Client in einem bist (also einen Server erstellt hast, an dem Du gleichzeitig spielst), kannst Du dem Server über die Konsole Befehle erteilen:
Wenn Du eine bestimmte Map laden willst, musst Du in die Konsole den Befehl /map eingeben, also z. B.:
/map mp_stalingrad
Willst Du die nächste Map der Rotation laden, nimmst Du den Befehl
/map_rotate
Willst Du die aktuelle Map neustarten, nimmst Du den Befehl
/map_restart
Willst Du Dir den Status des Servers ansehen, nimmst Du den Befehl
/serverstatus
Willst Du den Spieltyp ändern, nimmst Du den Befehl
/g_gametype tdm
(oder welchen Spieltyp Du eben haben möchtest - DM = Death Match - TDM = Team Death Match - SD = Search & Destroy - RE = Retrieval - BEL = Behind Enemy Lines - HQ = Headquater)
und startest danach die Map neu mit dem Befehl
/map_restart
Wenn Du nun mehrere Scripte liegen vorbereitet hast und Du eines davon aktivieren möchtest, nimmst Du den Befehl
/exec name .cfg
wobei Du name gegen den Namen des von Dir gewünschte Script austauscht.
Grundsätzlich kannst Du (fast) jeden Befehl, den Du in der cfg-Datei verwendest auch über die Konsole eingeben.
---
Etwas anders sieht die Sache aus, wenn Du einen Server fernsteuern willst (also wenn Du NUR Client bist und eine Veränderung auf dem Server herstellen möchtest):
Zunächst einmal sind so gut wie alle Server im Internet mit einem Passwort zur Fernsteuerung geschützt – leuchtet ja auch ein, was gäb das für ein Chaos, wenn jeder versuchen würde, Einstellungen am Server zu verändern, irgendwann liefe wohl gar nix mehr…
Dieses Passwort zur Fernsteuerung nennt man rconpassword . (rcon für R emote Con trole = Fernsteuerung)
Du bist also nun auf einem Server, dessen rconpassword Du kennst und möchtest nun also eine Veränderung am Server vornehmen.
Zuerst einmal musst Du als Mitspieler oder Zuschauer auf dem Server sein. Ist dies der Fall, dann musst Du dem Server erst mal zeigen, daß Du berechtigt bist, Änderungen vorzunehmen. Deshalb gibst Du nun erst mal in der Konsole das rconpassword ein mit dem Befehl
/rconpassword passwort
passwort ist das entsprechende Passwort zur Fernsteuerung des Servers.
Es gibt leider keine Bestätigung wenn man das Passwort eigegeben hat, merkt man aber spätestens, wenn man irgendwas ändern will und es keine Reaktion gibt.
So, das rconpassword ist eingegeben, nun möchtest Du dem Server einen Befehl erteilen; es sind die gleichen Befehle, die man auch für die cfg und für den „lokalen“ Server benötigt, jedoch muss man noch vor jeden Befehl /rcon setzen:
Wenn Du eine bestimmte Map laden willst, musst Du in die Konsole den Befehl /rcon map eingeben, also z. B.:
/rcon map mp_stalingrad
Willst Du die nächste Map der Rotation laden, nimmst Du den Befehl
/rcon map_rotate
Willst Du die aktuelle Map neustarten, nimmst Du den Befehl
/rcon map_restart
Willst Du den Spieltyp ändern, nimmst Du den Befehl
/rcon g_gametype tdm
(oder welchen Spieltyp Du eben haben möchtest - DM = Death Match - TDM = Team Death Match - SD = Search & Destroy - RE = Retrieval - BEL = Behind Enemy Lines - HQ = Headquater)
und startest danach die Map neu mit dem Befehl
/rcon map_restart
Wenn auf dem Server mehrere Scripte liegen und Du eines davon aktivieren möchtest, nimmst Du den Befehl
/rcon exec name .cfg
wobei Du name gegen den Namen des von Dir gewünschten Scripts austauscht.
Grundsätzlich kannst Du (fast) jeden Befehl, den Du in der cfg-Datei verwendest auch über die Konsole eingeben.