Louez un serveur COD4 (Call of Duty 4) au lieu de se prendre la tête pour l'installer

Au lieu d'installer et configurer votre serveur de jeu COD4, vous pouvez simplement louer un serveur COD prêt à l'emploi et l'administrer avec les commandes RCON.

Installer un serveur dédié cracké COD4 sous Linux

L'installation du serveur private crack de COD4 1.3, 1.4, 1.5, 1.6 et 1.7 sur Linux se réalise comme suit :

Installation :

Créez un répertoire "CallOfDuty4" là où vous souhaitez installez votre serveur dédié :

mkdir /CallOfDuty4

Munissez-vous du DVD-Rom de Call Of Duty 4. Insérez-le dans votre lecteur et copiez le contenu du répertoire Setup/Data dans votre répertoire "CallOfDuty4" :

cp -r /mnt/dvdrecorder/Setup/Data/* /CallOfDuty4

L'opération peut prendre quelques minutes selon votre ordinateur car il y a environ 6.3 Go de fichiers à copier.

Téléchargez, déplacez et décompactez l'archive Call of Duty 4 v1.3 Dedicated Private Linux Server dans le répertoire "CallOfDuty4" :

cd /CallOfDuty4
wget "http://kjhmn.tistory.com/attachment/fk010000000011.zip"
unzip fk010000000011.zip
cp /cod4_lnxded-fixed_13 /CallOfDuty4

Mise à jour Depuis la parution de cet article, une nouvelle version de Call of duty 4 a vue le jour, c'est la version 1.4. Télécharger le Call of Duty 4 v1.4 PRIVATE LINUX SERVER & NO-WAIT PATCH sur gamecopyworld.com

Mise à jour Depuis la parution de cet article, une nouvelle version de Call of duty 4 a vue le jour, c'est la version 1.5. Télécharger le Call of Duty 4 v1.5 PRIVATE LINUX SERVER & NO-WAIT PATCH sur gamecopyworld.com

Mise à jour Depuis la parution de cet article, une nouvelle version de Call of duty 4 a vue le jour, c'est la version 1.6. Télécharger le Call of Duty 4 v1.6 PRIVATE LINUX SERVER & NO-WAIT PATCH sur gamecopyworld.com

Lancer le

./cod4_lnxded-fixed_13

et vous obtiendrez sûrement une joli erreur :

./cod4_lnxded-fixed_13: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Téléchargez le Call of Duty 4 v1.3 serveur linux officiel incluant la librairie manquante (libstdc++.so.6). Copiez le fichier libstdc++.so.6 dans votre répertoire système incluant vos libraires (/usr/lib/).

Si vous êtes sur une système installé en 64bits, il est possible que vous n'ayez pas la libstdc++.so.6 au format 32bits nécessaire pour COD4. Comme on le constate avec un ldd, il ne trouve pas la libstdc++.so.6 :

serveur:/# ldd ./cod4_lnxded-fixed_13
       linux-gate.so.1 =>  (0xffffe000)
       libpthread.so.0 => /lib32/libpthread.so.0 (0xf7efb000)
       libdl.so.2 => /lib32/libdl.so.2 (0xf7ef7000)
       libstdc++.so.6 => not found
       libm.so.6 => /lib32/libm.so.6 (0xf7ed2000)
       libcrypt.so.1 => /lib32/libcrypt.so.1 (0xf7ea4000)
       libgcc_s.so.1 => not found
       libc.so.6 => /lib32/libc.so.6 (0xf7d79000)
       /lib/ld-linux.so.2 (0xf7f19000)

En suivant Running 32-bit Applications on 64-bit Debian GNU/Linux (executer une application 32bits sur un système Debian 64bits) ,

# Installation et mise à jour de apt-file
serveur:/# apt-get install apt-file
serveur:/# apt-file update

On va donc rechercher à installer la lib manquante en localisant laquelle ont pourrait utiliser :

# Recherche du package contenant la libraire requise
serveur:/# apt-file --architecture i386 search libstdc++.so.6
lib32stdc++6: emul/ia32-linux/usr/lib/libstdc++.so.6
lib32stdc++6: emul/ia32-linux/usr/lib/libstdc++.so.6.0.8
lib32stdc++6-4.1-dbg: emul/ia32-linux/usr/lib/debug/libstdc++.so.6
lib32stdc++6-4.1-dbg: emul/ia32-linux/usr/lib/debug/libstdc++.so.6.0.8
lib32stdc++6-4.1-dbg: usr/lib/debug/emul/ia32-linux/usr/lib/libstdc++.so.6.0.8
libstdc++6: usr/lib/libstdc++.so.6
libstdc++6: usr/lib/libstdc++.so.6.0.8
libstdc++6-4.1-dbg: usr/lib/debug/libstdc++.so.6
libstdc++6-4.1-dbg: usr/lib/debug/libstdc++.so.6.0.8
libstdc++6-4.1-dbg: usr/lib/debug/usr/lib/libstdc++.so.6.0.8
libstdc++6-dbg: usr/lib/debug/libstdc++.so.6
libstdc++6-dbg: usr/lib/debug/libstdc++.so.6.0.3

# Installation le lib au format 32bits
serveur:/# apt-get install lib32stdc++6

Mise à jour Téléchargez le Call of Duty 4 v1.4 serveur linux (cod4-linux-server-12152007.tar.bz2)

Configuration du serveur :

Téléchargez les fichiers de conf COD4 prêts à l'emploi. Décompressez les dans votre home/.callofduty4/main/ Cette archive inclue les fichiers suivants : gametypes.cfg maprotation.cfg playercontrol.cfg server.cfg weaponcontrol.cfg

Pour choisir vos types de jeux et vos maps (cartes - incluant la dernière carte offerte par la version 1.4 : mp_crash_snow) proposés par votre serveur COD4, vous pouvez utiliser le générateur de maprotation.cfg pour Call of Duty 4. Egalement si vous souhaitez changer la rotation des cartes à chaque redémarrage de votre serveur vous rajoute l'une de ces lignes dans le script de démarrage expliqué aprés :

lynx -source http://cod4.placeoweb.com/COD4.generateur.MapRotation.cfg.php > ~/.callofduty4/main/maprotation.cfg

ou

wget http://cod4.placeoweb.com/COD4.generateur.MapRotation.cfg.php --output-document ~/.callofduty4/main/maprotation.cfg --quiet

Note a propos de la variable "sv_maprotation" : Linux Servers - Map rotations sur un serveur Linux peut contenir 3072 caractères, vous pouvez donc avoir de nombreuses rotations si vous le souhaitez. Windows Servers - Map rotations sur un serveur Windows peut contenir 1024 caractères. Il est préférable de rester à environ 950 caractères.

Démarrage du serveur :

Ouvrez un terminal et placez vous dans le répertoire racine de votre Call Of Duty 4 sur votre serveur. Saisissez dans le terminal la commande d'initialisation du serveur :

  • LAN :
./cod4_lnxded-fixed_13 +exec server.cfg
  • INTERNET (sans fichier de conf) :
./cod4_lnxded-fixed_13 +set net_ip 91.121.11.80 +set net_port 28960

Voilà, votre serveur est lancé sans le fichier de configuration, il faudra que vous lanciez une map avec la commande "map mp_crash" par exemple.

  • INTERNET (avec fichier de conf) :
./cod4_lnxded-fixed_13 +exec server.cfg

Et voilà, serveur lancé a rotation automatique des cartes et tous les options que vous avez configurer.

Lancer le serveur avec screen

Pour lancer votre serveur et pouvoir quitter le shell a tout moment vous pouvez utiliser "&" a la fin de votre commande pour le lancer en tache de fond. Mais ce qui est plus intelligents et d'utiliser "screen" :

screen -dmS cod4public [CMD]
screen -dmS cod4public ./cod4_lnxded-fixed_13 +exec server.cfg

Cela va lance ta commande [CMD] avec le nom de screen cod4public tu peux donc en lancer autant que tu veux en changeant simplement le nom : cod4public2, cod4public3, cod4prive1, cod4prive2, etc...

Pour afficher ton screen (voir la console de jeu quoi) :

screen -r [nom]

par exemple :

screen -r cod4public

Pour sortir du screen SANS FERMER LE PROCESSUS (détacher le screen)

tu appuies sur CTRL A+D

Pour sortir du screen EN FERMANT LE PROCESSUS (fermer le screen et fermer le serveur de jeu)

tu appuies sur CTRL+C

Tu devras pour quitter PuTTy sans fermer tes serveurs t'assurer que tu n'est pas dans un screen, auquel cas tu le quitte en appuyant sur CTRL A+D

Configurer le serveur COD4 pour accepter plus de 32 joueurs

Selon cod 4 work around for 64 player server, pour lancer le serveur avec plus de 32 joueurs dans la limite de 64 joueurs :

You just need +set ui_maxclients "64" in the server start command line and the set sv_maxclients "##" in your server cfg.
Also, once you place the line: +set ui_maxclients 64 you can then leave it like that and only change the set sv_maxclients "64" in the config file to any number.

Vous devez rajouter les options suivantes au lancement de votre serveur :

+set ui_maxclients 64 +set sv_maxclients 64

Et définir le nombre maximum de client dans votre fichier de configuration server.cfg

// Player slots setup
set sv_maxclients "64"
set ui_maxclients "64"

Résumons pour ceux qui sont sous debian etc (4.0) et qui veulent installer Call Of Duty 4 en version 1.4 puis 1.5 ou 1.6 et 1.7

# Créez le dossier d'accueil des fichiers nécessaires à COD4
serveur:/# mkdir /CallOfDuty4/
# Copiez le contenu de du dossier \Setup\Data de votre DVD sur votre serveur dans /CallOfDuty4/ (par exemple avec FilleZilla permettant le FTP ou le SFTP)
# ... soyez patients, juste 6.3Go à transférer par internet :) ...
# Créez le dossier dans lequel vous allez télécharger le dernier patch
serveur:/# mkdir -p /COD4/iso/Patchs/
serveur:/# cd /COD4/iso/Patchs/
serveur:/COD4/iso/Patchs/# wget "http://treefort.icculus.org/cod/cod4-linux-server-12202007.tar.bz2"
# Décompressez votre archive
serveur:/COD4/iso/Patchs/# bzip2 -d cod4-linux-server-12202007.tar.bz2
serveur:/COD4/iso/Patchs/# tar -xvf cod4-linux-server-12202007.tar
# Copie des fichiers du serveur linux 1.4
serveur:/# cp /COD4/iso/Patchs/cod4-linux-server/cod4_lnxded* /CallOfDuty4/
serveur:/# cp -r /COD4/iso/Patchs/cod4-linux-server-12202007/cod4-linux-server/main /CallOfDuty4/
serveur:/# cp -r /COD4/iso/Patchs/cod4-linux-server-12202007/cod4-linux-server/zone /CallOfDuty4/
serveur:/# mv /CallOfDuty4/zone/english/* /CallOfDuty4/zone/french/
# Copie du fichier server crack linux 1.4
serveur:/# cp /COD4/iso/Patchs/COD4-Linux-1.4-Private-Server-No-wait-patch/cod4_lnxded-bin /CallOfDuty4/
# Rendre le binaire exécutable
serveur:/# chmod +x /CallOfDuty4/cod4_lnxded-bin
# Copie des fichiers du serveur cod4 linux 1.5
serveur:/# cp /COD4/iso/Patchs/COD4_1.5_Privat-Server_No-Wait_Patch_LINUX/cod4_lnxded-bin /CallOfDuty4/
# Copie des fichiers du serveur cod4 linux 1.6
serveur:/# cp /COD4/iso/Patchs/COD4_1.6_Privat-Server_No-Wait_Patch_LINUX/cod4_lnxded-bin /CallOfDuty4/
# Upload des nouveaux fichiers de call of duty 1.6
/main/iw_13.iwd
/zone/french/
 code_post_gfx_mp.ff
 ui_mp.ff
 mp_broadcast.ff
 mp_broadcast_load.ff
 mp_carentan.ff
 mp_carentan_load.ff
 mp_crash_snow.ff
 mp_crash_snow_load.ff
 mp_creek.ff
 mp_creek_load.ff
 mp_killhouse.ff
 mp_killhouse_load.ff
# Copie des fichiers du serveur cod4 linux 1.7
# Il suffit de déziper le contenu de cod4_lnxded_17.zip pour en extraire cod4_lnxded vers /CallOfDuty4/cod4_lnxded-bin
serveur:/CallOfDuty4# chmod +x cod4_lnxded-bin
# Upload des fichiers modifiés de call of duty 1.7
/main/iw_13.iwd

# 1er lancement du serveur pour initialiser les fichiers de configuration dans le home : ~/.callofduty4/
serveur:/CallOfDuty4# /CallOfDuty4/cod4_lnxded-bin +map mp_bloc

# Copiez des fichiers de conf dans le home : ~/.callofduty4/main
cod4_lnxded
Lancer le serveur depuis un script de lancement : /CallOfDuty4/start.sh
#!/bin/bash

# Génère les nouvelles maps
lynx -source http://cod4.placeoweb.com/COD4.generateur.MapRotation.cfg.php > /root/.callofduty4/main/maprotation.cfg

# Start server now!
cd /CallOfDuty4

# v1.3
#screen -A -m -d -S cod4public /CallOfDuty4/cod4_lnxded-fixed_13 +map mp_crash +set loc_language 1 +exec server.cfg

# v1.4, 1.5, 1.6 et 1.7
#screen -A -m -d -S cod4public /CallOfDuty4/cod4_lnxded-bin +map mp_crash_snow +set net_port 28960 +set loc_language 1 +exec server.cfg

# Avec le mod Modern Warfare
# screen -A -m -d -S cod4public /CallOfDuty4/cod4_lnxded-bin +set fs_game mods/modwarfare +map mp_shipment +set loc_language 1 +exec server.cfg

map=mp_killhouse
players="+set ui_maxclients 62 +set sv_maxclients 64"

# Génère un choix binaire, c'est-à-dire "vrai" ou "faux".
BINAIRE=2
T=1
nombre=$RANDOM
let "nombre %= $BINAIRE"
# Notez que let "nombre >>= 14"    donne une meilleure distribution aléatoire
# (les décalages droits enlèvent tout sauf le dernier nombre binaire).
if [ "$nombre" -eq $T ]
then
       map=mp_shipment2
       mod="+set fs_game mods/lvmj_beta_1"
else
        mod=""
fi

# Lancement paramétré de COD4
screen -A -m -d -S cod4public /CallOfDuty4/cod4_lnxded-bin +map $map +set loc_language 1 +exec server.cfg $mod $players

# v1.4, v1.5, v1.6 et v1.7
#screen -A -m -d -S cod4public /CallOfDuty4/cod4_lnxded-bin +map mp_killhouse +set loc_language 1 +exec server.cfg
#screen -A -m -d -S cod4public /CallOfDuty4/cod4_lnxded-bin +map mp_killhouse +set loc_language 1 +exec server.cfg +set fs_game mods/modwarfare
#screen -A -m -d -S cod4public /CallOfDuty4/cod4_lnxded-bin +map mp_killhouse +set loc_language 1 +exec server.cfg +set fs_game mods/lvmj_beta_1 +set ui_maxclients 64 +set sv_maxclients 64
Stopper le serveur avec un script d'arret : /CallOfDuty4/stop.sh
#!/bin/bash
screen -S cod4public -X quit
# Rendre ces scripts exécutables
serveur:/# chmod +x /CallOfDuty4/start.sh
serveur:/# chmod +x /CallOfDuty4/stop.sh

# Installer screen au besoin 
serveur:/# apt-get install screen

# Lancer le serveur COD4 v1.5 configuré
serveur:/# /CallOfDuty4/start.sh
En cas de clés déjà utilisées

Si votre serveur tourne et lorsque vous le joignez, il vous dit que votre clef est déjà utilisée, faites un tour dans vos logs au démarrage vous devriez avoir :

Resolving cod4master.activhsion.com
cod4master.activhsion.com resolved to 63.146.124.21:20810
Hitch warning: 7851 msec frame time
Sending heartbeat to cod4master.activhsion.com
Resolving cod4master.activhsion.com
cod4master.activhsion.com resolved to 63.146.124.21:20800

Sachez que le domaine activhsion.com réponds depuis le 05/05/2009

  Domain Name: ACTIVHSION.COM
     Created on: 05-May-09

Rajoutez donc une ligne dans /etc/hosts avant de relancer votre serveur

88.191.83.34 cod4master.activhsion.com
Prioritiser vos processsus

Afficher la performance de tous les processus du noyau.

ps -eo pid,user,args,nice

Ici, on peut fixer la priorité accordée au processus et dire combien de temps il utilise le CPU et la RAM.

Priorité:

De 20 à - 20 tout le reste est hors limites. La priorité standard est est 0.
Où -20 pour PLUS et 20 pour MOINS aussi, c'est seulement une proposition pour le noyau. 
Il doit suivre, mais il n'a pas obligation de le faire, car le noyau à son propre contrôle interne et calculateur de priorité.

Le tout doit être inférieur à l'utilisateur: racine fait, on ne peut pas de la bande passante de ses propres priorités également attribuer des autorisations. Je voudrais faire en sorte que le serveur Cod4 reçoive plus de ressources du noyau, en le passant en priorité 10 :

renice -10 -p 6702 (processus COD4 : cod4 ./cod4_lnxded-bin ...)

Bien évidement pouvez mixer screen et nice pour lancer le serveur avec une priorité haute ou non, en modifiant les arguments de screen :

screen -A -m -d -S cod4public nice -n -10 /CallOfDuty4/cod4_lnxded-fixed_13 et les options de COD4

Marre de jouer toujours au mêmes cartes ? Heureusement l'utilisation des mods de COD4 le permet

Pour jouer à d'autres maps

Activez un mod

Il vous faudra lancer votre serveur en précisant un mod existant en rajoutant +set fs_game mods/modwarfare Sinon appeler une map sans mod vous retournera l'erreur :

Error: Can't find map "mp_pripyat".
A mod is required for custom maps
Rajouter vos maps

Commencez par télécharger vos nouvelles cartes (custom maps) COD4.

Créez sur votre serveur, le dossier "usermaps" à la racine de votre install de COD4. Ensuite chaque map doit avoir son propre répertoire, après décompression, vous devriez avoir quelque chose de similaire :

/CallOfDuty4/usermaps/mp_burg:
.
..
mp_burg.ff
mp_burg.iwd
mp_burg_load.ff

/CallOfDuty4/usermaps/mp_subway:
.
..
mp_subway.ff
mp_subway_load.ff
mp_subway_readme.txt
Rendre vos maps personnalisées disponibles au téléchargement

Configurez votre fichier ~/.callofduty4/main/server.cfg en remplassant bien sûr l'URL http://files.cod4.placeoweb.com/ par la votre contenant l'accès à la racine de votre installation de COD4. Donc ici l'URL http://files.cod4.placeoweb.com/ pointe sur le dossier /CallOfDuty4.

set sv_allowdownload "1"
set sv_wwwDownload "1"
set sv_wwwBaseURL "http://files.cod4.placeoweb.com"
set sv_wwwDlDisconnected "0"

Attention à votre configuration,

A/ Téléchargement rapide mais plante

set sv_allowdownload "1"
seta sv_wwwDownload "1"
seta sv_wwwBaseURL "http://files.cod4.placeoweb.com"
seta sv_wwwDlDisconnected "1"

Log serveur web :

[19/May/2008:02:18:07 +0200] "GET /usermaps/mp_pripyat/mp_pripyat.iwd HTTP/1.1" 200 360129 "-" "ID_DOWNLOAD/1.0 libwww/5.3.1"

Log serveur COD 4 :

Redirecting client 'clientCod4' to http://files.cod4.placeoweb.com/usermaps/mp_pripyat/mp_pripyat.iwd

Log client :

Download failure while getting 'http://files.cod4.placeoweb.com/usermaps/mp_pripyat/mp_pripyat.iwd'

B/ Ceci est la bonne configuration, mais parfois le téléchargement des maps sous COD4 est ultra long (3Ko/sec), dans ce cas quitter et reconnectez vous il devrait repartir à 600Ko/sec

set sv_allowdownload "1"
seta sv_wwwDownload "1"
seta sv_wwwBaseURL "http://files.cod4.placeoweb.com"
seta sv_wwwDlDisconnected "0"

Log serveur web :

[19/May/2008:02:10:24 +0200] "GET /usermaps/mp_pripyat/mp_pripyat.iwd HTTP/1.1" 200 360129 "-" "ID_DOWNLOAD/1.0 libwww/5.3.1"

Log serveur COD 4 :

Redirecting client 'clientCod4' to http://files.cod4.placeoweb.com/usermaps/mp_pripyat/mp_pripyat.iwd
Client 'clientCod4' reported that the http download of '' failed, falling back to a server download

Log client :

Ca fonctionne à 600Ko/sec ou apres beaucoup d'attente de DL à 3 Ko/sec, on se connecte sur la map.

NOTE : Attention au disque plein, a force de télécharger de maps de 50Mo, il se peut que votre disque dure soit plein, auquel cas vous resterez sur l'écran noir de téléchargement avec 0Ko.

Administration de serveur de jeu en jouant depuis la console

Plutôt que de changer votre server.cfg à chaque modification, ou faire appel à des CallVote, vous aimeriez sans doute pouvoir commander le serveur via la console proposée dans le jeu. Ce système s'appelle RCON (liste des commandes RCON pour COD4), si vous avez déjà administré un serveur de jeu vous êtes sans doute familier avec cette interface. Voici donc la configuration et utilisation de rcon. Avec ces commandes vous pourez bannir un joueur, changer et relancer une carte.

/rcon login [mot de passe] s'authentifier admin pour la prise de contrôle distante
/rcon serverinfo obtenir les informations du serveur
/rcon systeminfo obtenir les informations système du serveur
/rcon status obtenir les informations du status du serveur
/rcon exec [nom du fichier] exécuter un fichier de configuration (ex : server.cfg)
/rcon writeconfig [nom du fichier] effectuer une sauvegarde de la configuration de serveur dans un fichier
/rcon say écrire un message dans le chat
/rcon map [nom de la carte] changer la carte actuelle du serveur pour la carte [nom de la carte]
/rcon map_rotate effectuer une rotation de carte à la suivante
/rcon map_restart recharger la carte en cours
/rcon fast_restart recharger rapidement la carte en cours
/rcon kick [nom] kicker un joueur par son nom
/rcon kick all kicker tous les joueurs présents sur le serveur
/rcon onlykick [nom] kicker un joueur par son nom (nul besoin d’inclure les codes couleur)
/rcon onlykick all kicker tous les joueurs présents sur le serveur
/rcon clientkick [ID] kicker le joueur par son ID joueur (pour obtenir l'ID d'un joueur > status)
/rcon banUser [nom] bannir un joueur par son nom
/rcon banClient [ID] bannir un joueur par l'ID
/rcon g_banIPs [IP] bannir un jouer par l'IP (pour obtenir l'IP d'un joueur > status)
/rcon tempBanUser [nom] kicker temporairement un joueur par son nom
/rcon tempBanClient [ID] kicker temporairement un joueur par son ID
/rcon unbanuser [nom] débannir un joueur par son nom

Informations :

serverinfo : donne des informations sur le serveur.
systeminfo : donne des informations sur le système.

Preprocesseur :

exec <filename.cfg> : execute un fichier de conf présent sur le serveur.

Chat :

say : envoi un message à toutes les personnes présentes sur le serveur.

Commandes kick & ban :

status : affiche les joueurs et leur id
clientkick <player id> : kick un joueur par son id
kick <player name> : kick un joueur par son nom (nom avec les codes couleur si il y en a)
onlykick <player name> : kick un joueur par son nom (sans les codes couleur)
banclient <player id> : ban un joueur par son id
banuser <player name> :ban un joueur par son nom (nom avec les codes couleur si il y en a)
tempbanClient <player id> : ban temporairement un joueur par son id (cf. sv_kickBanTime)
tempbanUser <player name> : ban temporairement un joueur par son nom (nom avec les codes couleur si il y en a)
unbanuser <player name> : deban un joueur par son nom. Comme il est difficile de connaitre son nom ici (puisqu'il n'est plus listé) il vaut mieux passer par la suppression directe du joueur dans le fichier ban.txt depuis ConfigFileEditor ou par FTP.

Map et rotation :

map <mapname> : Charger la carte
map_restart / fast_restart : Recharger la carte
map_rotate : passe à la carte suivante dans la rotation

Au niveau du serveur ce sont essentiellement les 4 dernières qui vont nous intéresser. Liste des variables par ordre alphabétique :

cl_maxpackets "60" : côté client - limite du nombre de paquets IP envoyés au serveur
cl_motd "1" : [0/1] côté client - autorise l'affichage du motd
cl_noprint "0" : [0/1] côté client - cache les messages et commandes des autres joueurs
cl_timeout "125" : côté client - Nombre de msec avant de quitter le serveur si il ne répond plus.
com_introplayed "1" : [0/1] côté client - saute l'intro du jeu
con_notifytime "3" : temps d'affichage des messages à l'écran
debuggraph "0" : [0/1] : affiche un graphe donnant des infos de debug
g_allowVote "1" : [0/1] Autorise le vote
g_forcerespawn "10" : Temps au bout duquel un joueur tué respawnera (réapparaitra) automatiquement. (0 : le joueur n'est pas forcé de respawner)
g_gametype "xx" : Type de jeu (remplacez xx par les mods suivants)
 war: Deathmatch par équipe
 dm: Mélée générale (deathmatch)
 dom: Domination
 sd: Recherche et destruction
 koth: HeadQuarter
 sab: Sabotage
g_gravity "800" : gravité (g) sur la map (800 : normale)
g_inactivity "0" : Secondes permises d'inactivité avant d'être explulsé. (0: aucune limite)
g_knockback "1000" : recul du perso infligé par un tir. (1000 : normal)
g_log "games.log" : nom du fichier de log
g_motd "Welcome" : Message of the day - (utilisez | pour plusieurs lignes)
g_speed "190" : vitesse de déplacement des persos (320 par défaut)
set scr_friendlyfire "0" [0/1/2/3] : Autorise le tir ami (tuer ou blesser ces co-équipier) (0: vous ne pouvez blesser personne; 1: le tir ami est activé; 2: si vous tirez sur un ami vous subirez les dégats; 3 les blessures sont partagées)
set scr_hardcore "1" : active le mod hardcore (ff on, par de régénération, etc ...)
set scr_oldschool_mw "0" : Active (valeur 1) ou non (valeur 0) le mode OldSchool. Ne pas utiliser en même temps la valeur 1 pour Hardcore et OldSchool.
set ui_hud_obituaries "1" : Active (valeur 1) ou non (valeur 0) l'afichage des orbituaries (qui a tué qui).
set scr_game_playerwaittime "0" : Ecrivez ici le temps d'attente en seconde des joueurs au début d'une map.
set scr_game_matchstarttime "0" : Ecrivez ici le temps d'attente en seconde de début d'une partie, au début d'une map, après le temps d'attente des joueurs.
set scr_enable_nightvision "1" : Autorise (valeur 1) ou non (valeur 0) l'utilisation de la vision de nuit.
set scr_enable_music "1" : Autorise (valeur 1) ou non (valeur 0) la musique. lorsque l'on est près d'un ennemis.
set scr_enable_hiticon "1" : Autorise (valeur 1) ou non (valeur 0) la croix qui nous permet de savoir si l'on a touché un joueur.
set scr_game_allowkillcam "0" : Active (valeur 1) ou non (valeur 0) la Killcam.
set scr_game_deathpointloss "0" : Règle le nombre de point qu'un joueur pert lorsqu'il meurt.
set scr_game_suicidepointloss "0" : Règle le nombre de point qu'un joueur pert lorsqu'il se suicide.
set scr_team_teamkillpointloss "0" : Règle le nombre de point qu'un joueur pert lorsqu'il tue un coéquipier.
set scr_team_fftype "0" : Détermine ce qui se passe lorsque l'on tire sur un coéquipier :
 0 : aucune action (les balles traversent)
 1 : activé (le coéquipier se prend les dégâts)
 2 : reflété (c'est vous qui vous vous prenez les dégâts)
 3 : partagé (les dégâts sont partagés entre vous et le coéquipier)
set scr_game_spectatetype "1" : Détermine le type de spectateur (libre, coéquipier seulement)
set scr_game_forceuav "0" : Enlève (valeur 0) ou laisse (valeur 1) le radar 
password "ofkzef" : côté client - Mot de passe utilisé pour se connecter au serveur
rate "25000" : taux de transfert IP maximum.
rconPassword "dpozekf" : mot de passe d'administration du serveur
snaps "40" : côté client - fréquence des requêtes au serveur.
sv_allowdownload "1" [0/1] : autorise le client à télécharger les maps, modèles et sons du serveur si ils ne les ont pas localement.
sv_cheats "1" : [0/1] active la triche sur le serveur
sv_floodProtect "1" : [0/1] protection contre les floods (attaques informatique par envoi massif de requètes IP)
sv_fps "40" : nombre d'images par seconde envoyée au client.
sv_hostname "Mon serveur" : titre du serveur
sv_keywords "" : mots clés caractérisant le serveur pour la recherche
sv_mapname : (lecture seule) map en cours sur le serveur
sv_master1 ... sv_master5 "": adresse du master server. sv_master1 est à "master3.idsoftware.com" par defaut qui est le serveur officiel.
sv_maxRate "28000" : taux de transfert maximum d'envoi des informations à chaque client connecté
sv_privateClients "0" : nombre de places réservées sur un serveur public à des joueurs autorisés (VIP).
sv_privatePassword "" : mot de passe pour les joueurs autorisés (VIP).
sv_pure "1" : [0/1] Active la vérification des modifications des fichiers officiels (.iwd). Compare les fichiers du client avec ceux du serveur afin d'éviter la triche par la modification des packs de base. A mettre à 0 si vous utiliser des maps ou des modèles particuliers.
sv_reconnectlimit "5" : limite de déconnexion/reconnexion pour un joueur sur le serveur.
sv_timeout "120" : Nombre de msec avant d'expulser un joueur si il ne répond plus.
timegraph "0" : [0/1] affiche le compteur de temps
timelimit "0" : limite de temps en minute d'une map. Si les autres limites pour gagner ne sont pas atteintes (capturelimit, fraglimit) le jeu se termine quand même. (0 : aucune limite)
cg_drawfps "1" : [0/1] Côté client - affiche le niveau de FPS (images par secondes) que vous avez.
cg_drawlagometer "1" : [0/1] Côté client - affiche un graph vous montrant le niveau de lag de votre FPS et de votre ping.
com_maxfps "125" : Côté client - permet de bloquer votre FPS au nombre donné. Il est conseillé de le mettre à 125 ou 250 pour éviter les kicks sur certains serveurs.

Classement des commandes :

cl_* : client (préférences générales)
cg_* : client game (préférences du jeu)
r_* : renderer (pour l'affichage graphique)
m_* : mouse (réglages de la souris)
in_* input (réglage des périphériques d'entrées)
s_* : sound (réglage du son)
ui_* : user interface (pour le jeu en solo)
net_* : network (protocole et réglages du réseau)
bot_* : bots (gère les bots)
sv_* serveur (agit sur le serveur au niveau moteur)
g_* : game (agit sur le serveur au niveau du jeu)
* : autres (variables diverses non classées)

Le site de verygames.net récapitule et explique très bien la configuration des fichiers .cfg : rcon, map rotation, mods, atouts, armes

Administration du serveur de jeu COD4 depuis des programmes externes

  • Modern Rcon (version actuelle : Modern Rcon 0.8) que vous retrouverez sur Call Of Duty 4 : Modern Warfare :: Utilitaires.
  • RconMax est un logiciel d'administration de serveur comme ModernRcon mais beaucoup plus complet (gestion des perks par exemple necessitant quand meme l'utilisation du mod ModWarfare) et en plus il est traduit en français.
  • miniAdmin3 (par défaut en Allemand, permet utilisation en Anglais) mais je n'ai pas réussi à faire grande chose simplement.

Supprimer certains atouts

Désactiver le le martyr ou d'autres atouts tels que le lance grenade

Autres infos

Suivre le README

=============================
Call Of Duty 4(tm)
Linux Multiplayer Server Code
Version 1.3
Readme
Last update: 2007-12-03
=============================


1. Introduction

This document explains how to install the Call of Duty 4(tm) Linux server version 1.3. Installation from scratch and upgrading an existing installation are both covered.

Usage is very similar to other Call of Duty(tm) titles ... many of the console commands, command lines, and cvars are identical, 
so if you are comfortable maintaining dedicated servers for those games, you will find this process familiar.


2. Upgrading to 1.3

Just stop the game server, replace cod4_lnxded-bin, etc on your server with the files included in this package, and restart the game server. 
Please verify that your mods are compatible with the new version; that is beyond the scope of this document.


3. Installation From Scratch

- Get the retail Call of Duty 4(tm) disc(s) (there may be multiple discs depending on what edition of the game you have obtained, or perhaps a single DVD-ROM disc).
- Copy the contents of disc one's "Setup/Data" directory to wherever you want to install the Call of Duty 4(tm) Linux server.
There should be a "localization.txt" file in the root of this directory, and a "main" Subdirectory.
Each additional disc should be opened and the contents of each "Data" folder should be copied over to the existing Main folder.
When you have copied everything, the final installation size is around 6.3 gigabytes.

- OPTIONAL: Install PunkBuster:

    ./pbsetup.run -e
    ./pbsetup.run --add-game=cod4 --add-game-path=/where/i/uploaded/cod4/
    ./pbsetup.run -u

  You will need to agree to the PunkBuster license before you may install it.
  This will download the latest version of the Punkbuster software to your Linux server, so you need an Internet connection.

- Now, run the server:
    cd /where/i/copied/callofduty4
    ./cod4_lnxded

- When you see "--- Common Initialization Complete ---", the game server has started, but you need to start a map before the server will accept connections.
  At this point, type:

    map mp_crash

  ("mp_crash" being a given map's name).

- Now you should see your server in the in-game browser. You will now want to customize your server, including writing config files and command lines 
  that don't require human interaction, but that is beyond the scope of this document.


4. Note for localized versions of the game

 If you have a copy of the game that does not include the English translations, you will need to explicitly set the game's language or the server 
 will not be able to find its data files. If you have, for example, the french data files, you must add this to your server's command line:

  ./cod4_lnxded +set loc_language 1

 This is a list of values for various languages. English installations can ignore this.

  English (default): +set loc_language 0
  French: +set loc_language 1
  German: +set loc_language 2
  Italian: +set loc_language 3
  Spanish: +set loc_language 4


// end of README.linux ...

Tips

  • Infos sur COD4 telles que :
    • Afficher son FPS (Frame Per Second) (images par seconde) avec la console : /cg_drawFPS 1
    • Regarder si on lague à cause de l'état du réseau, toujours avec la console : /cg_drawLagometer 1
    • Comment fonctionne la hiérarchie des grades et comment évoluer
    • Déverrouiller tous les rangs et extras

Sauvegarder son profil et ses grades (expérience) acquis durant les parties de Call of Duty 4

Pour éviter de perdre votre profil (assignation des touches et aussi votre grade... et oui, ça arrive par exemple si vous ré-installez votre Windows), vous pouvez le sauvegarder dans un autre répertoire. Pour sauvegarder ses grades c'est le fichier mpdata qui ce trouve dans

leCheminDansLequelLeJeuxEstInstallé>Call of Duty 4 - Modern Warfare>players>profiles>leNomDeVotreProfil>mpdata

Si vous voulez complètement sauvegarder vos paramètres + grades récupérez tout le dossier players.

Erreurs

  • Sys_Error: Hunk_FreeTempMemory: bad magic

Essayer d'allouer plus de mémoire ou de lancer votre serveur avec les options +map mp_crossfire +exec server.cfg

  • ERROR: Hunk_AllocateTempMemory: failed on 12193864 bytes (total 10 MB, low 11 MB, high 0 MB), needs 1708104 more hunk bytes

Allouer plus de mémoire dans votre serveur.cfg : seta com_hunkmegs "512"

Chercher des parties de COD4 en ligne (rechercher, filtrer, détailler et de se connecter simplement à des parties de jeux sur des serveurs internet)

Autres serveurs crackés (permet de jouer sans une clef officielle)

Ajouter votre serveur de jeu COD4 et liste d'IP de serveurs COD4

Pour proposer votre serveur de jeu, ne laissez pas de message ! Utiliser l'outil fait exprès, vous rajouter l'IP de votre serveur et il est immédiatement publié sur la page qui liste les serveurs de jeux COD4 online. Si quelqu'un consulte la page et que votre serveur ne réponds pas, alors votre serveur est retiré de la liste, pour le réactiver, même procédure que le simple ajout.

Merci et bon jeu !