Call Of Duty 4: Modern Warfare Dedicated Server

Bild des Benutzers comrad

Dedicated-LAN-Server ohne Punkbuster

Falls gewollt einen neuen User anlegen der den Server dann verwaltet.

Benötigt werden

  • der Dedicated Server (1.7)
  • bei einer nicht englischen Version die Ordner /main, /Mods und /zone eines (am besten frisch) installierten und gepachteten CoD 4 (1.7)
  • bei einer englischen Version reichen die Ordner /main, /Mods und /zone von der CD (CODMW/Setup/Data)

Den Dedicated Server entpacken und mit den erforderlichen Ordner füttern.
Anschließend ggf. noch den Order /usermaps erstellen und in /Mods weitere Mods abspeichern.

Die *.ff und *.iwd der Custommaps in /usermaps/mp_mapname/ und zusätzlich noch die *.ff in /zone/SPRACHE/ abspeichern.

Kopiert die unten folgenden CVARs in einen Texteditor und speichert diese als name.cfg in /main ab.

Achtung:
Ich habe es noch nicht hinbekommen das nur bestimmte Maps im Mappool sind, der Befehl /map_rotate startet jedes mal die Map Backlot, noch dazu kann er von jedem ausgeführt werden!
Ein motd erscheint ebenfalls nie beim Betreten des Servers...

Und das wichtigste, unter Linux wird (obwohl es die selbe cfg ist) so gut wie alles ignoriert und ein Standardserver gestartet!!!

//Servereinstellungen
set sv_hostname "LAN Server" //Name des Servers
set scr_motd "Hi" //Begrüßungsnachricht für Spieler
set g_motd "Hi" //Begrüßungsnachricht für Spieler
set sv_maxclients "16" //Max. Spieler und Zuschauer
set g_needpass "0" //Passwortabfrage
set g_password "" //Serverpasswort
set rcon_password "123" //Passwort für Admin (Rcon)
set g_allowvote "1" //Spieler dürfen abstimmen
//set sv_allowdownload "1" //Vllt erforderlich wenn Teilnehmer Map/Mod noch nicht im Verzeichnis haben
 
//Logfile
set logfile "1"
set g_log "games_mp.log" //Name der Datei Speicherort=~/.callofduty4/main/
 
//Anticheat
set sv_pure "0" //Spielern mit modifizierten Spieldatein den Zugang verweigern, bei Custommaps 0!
set sv_punkbuster "0" //Cheatschutz Punkbuster aktivieren
set sv_cheats "0" //Cheats erlauben
 
//Spieleinstellungen
set scr_game_allowkillcam "1"
set scr_game_suicidepointloss "0"
set scr_game_teamkillpointloss "1"
set scr_game_spectatetype "2" //Zuschauermodus 0=Keine, 1=Nur Team, 2=Alle
set scr_player_respawndelay "0"
 
//Spielereinstellungen
set scr_player_maxhealth "100"
set scr_player_healthregentime "5"
set scr_player_sprinttime "4"
set scr_game_playerwaittime "0"
set scr_player_suicidespawndelay "0"
set scr_player_forcerespawn "1" //Spieler spawnen ohne Bestätigung
 
//Teameinstellungen
set scr_teambalance "1"
set scr_team_fftype "1" //Friendly Fire (0=Aus, 1=Ein, 2=Reflektieren, 3=Teilen)
set scr_team_teamkillspawndelay "0"
 
//Killstreaks
set scr_game_hardpoints "1" //Killstreaks generell aktivieren
set scr_hardpoint_allowartillery "1"
set scr_hardpoint_allowhelicopter "1"
set scr_hardpoint_allowsupply "1"
set scr_hardpoint_allowuav "1"
 
//Perks
set perk_allow_specialty_parabolic "1"
set perk_allow_specialty_gpsjammer "1"
set perk_allow_specialty_holdbreath "1"
set perk_allow_specialty_quieter "1"
set perk_allow_specialty_longersprint "1"
set perk_allow_specialty_detectexplosive "1"
set perk_allow_specialty_explosivedamage "1"
set perk_allow_specialty_pistoldeath "1"
set perk_allow_specialty_grenadepulldeath "1"
set perk_allow_specialty_bulletdamage "1"
set perk_allow_specialty_bulletpenetration "1"
set perk_allow_specialty_bulletaccuracy "1"
set perk_allow_specialty_rof "1"
set perk_allow_specialty_fastreload "1"
set perk_allow_specialty_extraammo "1"
set perk_allow_specialty_armorvest "1"
set perk_allow_specialty_fraggrenade "1"
set perk_allow_specialty_specialgrenade "1"
set perk_allow_c4_mp "1"
set perk_allow_claymore_mp "1"
set perk_allow_rpg_mp "1"
 
//Klassen
set class_assault_limit "99"
set class_specops_limit "99"
set class_heavygunner_limit "99"
set class_demolitions_limit "99"
set class_sniper_limit "99"
 
//Waffen
//Pistolen
set weap_allow_beretta "1"
set weap_allow_colt45 "1"
set weap_allow_usp "1"
set weap_allow_deserteagle "1"
set weap_allow_deserteaglegold "1"
 
//Modifikationen für Pistolen
set attach_allow_pistol_none "1"
set attach_allow_pistol_silencer "1"
 
//Grananten
set weap_allow_frag_grenade "1"
set weap_allow_concussion_grenade "1"
set weap_allow_flash_grenade "1"
set weap_allow_smoke_grenade "1"
 
//Assault
set weap_allow_m16 "1"
set weap_allow_ak47 "1"
set weap_allow_m4 "1"
set weap_allow_g3 "1"
set weap_allow_g36c "1"
set weap_allow_m14 "1"
set weap_allow_mp44 "1"
 
//Modifikationen für Assault
set attach_allow_assault_none "1"
set attach_allow_assault_gl "1"
set attach_allow_assault_reflex "1"
set attach_allow_assault_silencer "1"
set attach_allow_assault_acog "1"
 
//Spec Ops
set weap_allow_mp5 "1"
set weap_allow_skorpion "1"
set weap_allow_uzi "1"
set weap_allow_ak74u "1"
set weap_allow_p90 "1"
 
//Modifikationen für Spec Ops
set attach_allow_smg_none "1"
set attach_allow_smg_reflex "1"
set attach_allow_smg_silencer "1"
set attach_allow_smg_acog "1"
 
//Demolition
set weap_allow_m1014 "1"
set weap_allow_winchester1200 "1"
 
//Modifikationen für Demolition
set attach_allow_shotgun_none "1"
set attach_allow_shotgun_reflex "1"
set attach_allow_shotgun_grip "1"
 
//Heavy Gunner
set weap_allow_saw "1"
set weap_allow_rpd "1"
set weap_allow_m60e4 "1"
 
//Modifikationen für Heavy Gunner
set attach_allow_lmg_none "1"
set attach_allow_lmg_reflex "1"
set attach_allow_lmg_grip "1"
set attach_allow_lmg_acog "1"
 
//Sniper
set weap_allow_dragunov "1"
set weap_allow_m40a3 "1"
set weap_allow_barrett "1"
set weap_allow_remington700 "1"
set weap_allow_m21 "1"
 
//Modifikationen für Sniper
set attach_allow_sniper_none "1"
set attach_allow_sniper_acog "1"
 
//Spielmodi
set scr_hardcore "0" //Hardcoremode
set scr_oldschool "0" //Old-School ebenfalls muss der Parameter +fs_game mods/modwarfare dafür weg!
 
//Deathmatch
set scr_dm_scorelimit "0"
set scr_dm_timelimit "10"
set scr_dm_roundlimit "1"
set scr_dm_numlives "0" //Maximale Respawns der Spieler 0=Unendlich
set scr_dm_playerrespawndelay "0"
set scr_dm_waverespawndelay "0" //
 
//Team Deathmatch
set scr_war_scorelimit "0"
set scr_war_timelimit "10"
set scr_war_roundlimit "1"
set scr_war_numlives "0" //Maximale Respawns der Spieler 0=Unendlich
set scr_war_playerrespawndelay "0"
set scr_war_waverespawndelay "0" //
 
//Domination
set scr_dom_scorelimit "200"t
set scr_dom_timelimit "0"
set scr_dom_roundlimit "1"
set scr_dom_numlives "0" //Maximale Respawns der Spieler 0=Unendlich
set scr_dom_playerrespawndelay "0"
set scr_dom_waverespawndelay "0" //
 
//Sabotage
set scr_sab_scorelimit "1"
set scr_sab_timelimit "20"
set scr_sab_roundlimit "0"
set scr_sab_numlives "0" //Maximale Respawns der Spieler 0=Unendlich
set scr_sab_playerrespawndelay "7.5"
set scr_sab_waverespawndelay "0" //
set scr_sab_roundswitch "1" //Nach X Runden Seitenwechsel
set scr_sab_bombtimer "30"
set scr_sab_planttime "2.5"
set scr_sab_defusetime "5"
set scr_sab_hotpotato "0" //Bombentimer für alle sichtbar
 
//Search & Destroy
set scr_sd_scorelimit "11"
set scr_sd_timelimit "3"
set scr_sd_roundlimit "0"
set scr_sd_numlives "1" //Maximale Respawns der Spieler 0=Unendlich
set scr_sd_playerrespawndelay "0"
set scr_sd_waverespawndelay "0" //
ser scr_sd_roundswitch "3" //Nach X Runden Seitenwechsel
set scr_sd_bombtimer "45"
set scr_sd_planttime "5"
ser scr_sd_defusetime "8"
set scr_sd_multibomb "0" //Anzahl der Bomben fürs Team 0=Nur einer 1=Jeder aus dem Team
 
//Headquartes
set scr_koth_scorelimit "250"
set scr_koth_timelimit "15"
set scr_koth_roundlimit "1"
set scr_koth_numlives "0" //Maximale Respawns der Spieler 0=Unendlich
set scr_koth_playerrespawndelay "0"
set scr_koth_waverespawndelay "0" //
set scr_koth_roundswitch "1" //Nach X Runden Seitenwechsel
set scr_koth_autodestroytime "60" //
set scr_koth_spawntime "0" //Zeit in Sekunden bis die HQs nach dem Start der Map erobert werden können
set scr_koth_kothmode "0" //0=Gegner zerstören die HQs, 1=Genger können HQs einnhemen
set scr_koth_capturetime "20"
set scr_koth_destroytime "10"
set scr_koth_delayplayer "0"
set scr_koth_spawndelay "60" //
 
//Maps
set sv_maprotationcurrent "" //Leer lassen!?
 
//Deathmatch
//set g_gametype "dm"
//set sv_maprotation "gametype dm map"
 
//Domination
//set g_gametype "dom"
//set sv_maprotation "gametype dom map"
 
//Headquarters
//set g_gametype "koth"
//set sv_maprotation "gametype koth map"
 
//Sabotage
//set g_gametype "sab"
//set sv_maprotation "gametype sab map"
 
//Search & Destroy
//set g_gametype "sd"
//set sv_maprotation "gametype sd map"
 
//Team Deathmatch
//set g_gametype "war"
//set sv_maprotation "gametype war map"
 
//Mixed
set sv_maprotation "gametype war map mp_pipeline map mp_bloc gametype dm map mp_crash map mp_crossfire"
 
//Weitere Konfigdatein (optional)
//exec server2.cfg
//exec server3.cfg
//exec etc.cfg

Nun könnt ihr diese noch nach euren Vorlieben verändern. Wer sich mit dem Aufsetzen eines Servers von einem Spiel welches die Quake-Engine nutzt auskennt, dem dürften einige CVARs und der weitere Vorgang bekannt vorkommen. Und selbst wenn nicht, mit wenigen Englischkenntnissen sind viele der Befehle selbsterklärend und weiß man dazu noch, dass in den Anführungszeichen ein Wert stehen muss bzw. 0=aus/nein, 1=ein/ja ist und // etwas auskommentiert, dann dürfte das alles kein Problem darstellen.

Im Netz gibt's noch zig anderen Angaben, aber ich denke für eine LAN-Party mit Freunden sollten diese hier ausreichen.

Server starten

Passt alles soweit startet ihr den Server mit:

./cod4_lnxded +set loc_language 2 +set dedicated 1 +map_rotate +exec name.cfg +set fs_game mods/modwarfare

Erklärung der Parameter:

+ set loc_language 2 //Mit dem Wert 2 weiß das Spiel das es sich um die deutsche Version handelt. Bei einer englischen Version entfällt der Parameter komplett.

+set dedicated 1 //Startet den Server im LAN. (2 wäre Internet)

+ map_rotate //Lädt die angegeben Maps in der .cfg

+exec Name.cfg //Lädt die Konfigdatei xy und somit eure gewünschten Servereinstellungen.

+ set fs_game mods/modwarfare //Parameter startet Mod, in diesem Fall die Mod ModWarfare, welche standardmäßig enthalten ist. Ebenfalls erforderlich bei Custommaps, jedoch inkompatible zum Old-School Modus!

Sollten mehrere Server parallel laufen hängt man folgende Parameter an um IP und Port zu vergeben:

+ set net_ip IP

+set net_port Port

Verbindungsprobleme

Taucht der Server nicht im Serverbrowser (LAN) auf liegt's vllt. an der Filtereinstellung, andernfalls via IP connecten.
Dazu die Konsole öffnen (^) und /connect IP bzw. /connect IP:Port ;Password Passwort eintippen.

Konsolenbefehle für den Admin

Admintätigkeiten können über das (Linux) Terminal laufen

kick xy //Spieler xy kicken
map mp_mapname //Zur Map xy springen
map_rotate //Nächste Map
map_restart //Map neustarten

Screenshots und Videos
Mastodon