[Linux] Serveur dédié battlefield 2142

Après le test de battlefield 2142 quoi de plus normal qu'un petit tutorial pour l'accompagner
Nous verrons donc à travers ce tutorial comment mettre en place un serveur dédié Battlefield 2142 sous linux. Pour les allergiques du pingouin, un tutorial Windows devrait suivre .

Prérequis



Les configurations nécessaires :
- Config mini, pour 16 joueurs:
CPU: 1 Ghz
RAM: 256 Mb

- Config recommandée, pour 64 joueurs:
CPU: 3 Ghz. For AMD Athlon 64 CPU: 3500+ (2.2 Ghz)
RAM: 2 Gb

- Recommandée, pour 48 joueurs titan:
CPU: 3.6 Ghz. For AMD Athlon 64 CPU: 4800+
RAM: 2 Gb

- Optimal, pour 64 joueurs en conquete:
une instance de BF2142 par CPU avec Hyperthreading désactivé
CPU: AMD Athlon 64 4800+ or 3.6GHz Xeon.
RAM: 2Gb per physical CPU

- Optimal Specification, our 48 joueurs titan:
une instance de BF2142 par CPU avec Hyperthreading désactivé
CPU: AMD Athlon 64 4800+ or 3.8GHz Xeon.
RAM: 2Gb per physical CPU

Avant toute chose vous allez devoir télécharger la dernière version du serveur dédié. Vous pouvez par exemple le récupérer chez clubic : Sv dédié Linux (88Mo).
Placer le dans un endroit facile à retrouver Le dossier personnel sera parfait.
Pour la suite du tutorial je considérerais que vous n'avez pas d'interface graphique, mais que vous travailler en SSH ou mode console si vous avez un accès physique à la machine.
Pourquoi ? Tout simplement car l'installation d'un serveur Battlefield 2142 nécessite un serveur dédié qui généralement bob pas d'interface graphique

Installation



Vous avez fini le téléchargement et vous vous retrouver avec un fichier .sh .
Première manipulation à effectuer : Modification du chmod pour vous autoriser l'execution du fichier.
Ici on s'embête pas :
chmod 700 battlefield_2142_serveur_dedie_v1.0.9.1_linux_multi-langues_26569.sh


Lançons ensuite le fichier :

./battlefield_2142_serveur_dedie_v1.0.9.1_linux_multi-langues_26569.sh


Vous obtiendrez alors la réponse suivante :

Verifying archive integrity... All good.
Uncompressing Battlefield 2142 Dedicated Linux Server 1.0.9.1......................................................................................................................................................................

You will now be shown the EULA for the BF2142 dedicated Linux server.
Press return to continue.

Concrètement le fichier est décompresser et avant l'installation vous devrez lire les fichier EULA afin d'accepter les termes d'utilisation.
Presser donc la touche "enter" comme demandé.

La lecture du premier fichier EULA est très instructive (aller pas imaginer que je l'ai vraiment lu hein )

Please type 'accept' or 'decline': accept


On accepte docn volontier tous les termes de cette tartine de texte...Pour s'en retaper une autre cette fois ci pour Punkbuster :

You will now be shown the EULA for PunkBuster. Press return to continue.

On appuie une nouvelle fois sur "enter" :

Please type 'yes' or 'no': yes

On accepte l'installation de punkbuster ainsi que ses termes d'utilisation.
L'installation à proprement parler du serveur peut alors débutée :

The target installation directory is where the bf2142 directory will be created
and must be an existing directory.

Entrons donc comme demander le dossier d'installation du serveur :

Enter your target installation directory: /home/olivier/serveur/

Je choisis de le placer dans mon dossier personnel. Un dossier BF2142 sera automatiquement créer.
Je valide et au miracle :

Installing BF2142 to /home/olivier//bf2142...
Installing PunkBuster...

Installation complete.

Et voilà l'installation terminée
Une petite vérification pour s’assurer du contenu du dossier d'installation :





Configuration et Lancement



A ce stade vous pouvez tout à fait lancer votre serveur, il sera fonctionnel. Cependant il peut être intéressant de le configurer

serversettings.con
C'est le fichier de configuration principal de votre serveur. C'est par exemple là que vous définirez le nom de votre serveur.
Pour le modifier rendez vous dans : %dossier_installation%/Mods/BF2142/Settings/

Quelques lignes utiles :
  • sv.serverName "Lanforums : Bf2142" : Correspond au nom de votre serveur
  • sv.password "" : Vous permet de spécifier un mot de passe pour votre serveur
  • sv.internet 0 : permet de définir si il s'agit d'un serveur Lan ou internet
  • sv.maxPlayers 64 : défini le nombre de joueurs maxi
  • sv.roundsPerMap 3: Nombre de round par map
  • sv.serverPort xxxxx Ligne qui défini le port utilisé par le serveur. C'est ce même port qui devra être ouvert sur votre routeur.


Pour le reste regarder bien le fichier de configuration les nom y sont relativement explicites.
Voici pour exemple un fichier de configuration : Télécharger

maplist.con
C'est le fichier qui gère la rotation de vos maps sur le serveur.
Pour ajouter une map à votre fichier il faut respecter la syntaxe suivante :
maplist.append [map name] [game mode] [map size]

Ce qui donnera pour minsk en mode conquete pour 32 joueur :
mapList.append minsk gpm_cq 32

Si vous ne donnez pas de taille pour la carte c'est celle du sv.MaxPlayers qui sera utilisée.
Pour le détail des maps regarder un peu plus bas

Votre serveur est donc à présent configuré correctement vous pouvez donc le lancer.
Pour se faire utiliser la commande :

./start.sh

A noter que si vous utilisez un serveur "Ranked" la commande sera un peut différente puisque vous devrez ajouter les options suivantes :
[gras]+provider ""
+region ""
+type 0 ou 1 (0 pour serveur Ranked [/gras])
Ce qui donnerai :
./start.sh +provider "Electronic Arts" +region "FR" +type 0


Une fois la commande exécutée vous obtiendrez alors résultat suivant :


Vous pouvez donc voir l'état de votre serveur (map en cours, round en cours , nombre de joueurs...) mais aussi l'administrer grâce au commandes d'admin.

Pare-feu



Dans le cas ou votre serveur serait protéger par un firewall voici la liste des ports à ouvrir :

UDP 27900
UDP/TCP 29900
TCP 80
TCP 4711
UDP 27901
UDP 1500-4999
UDP/TCP 1024-1124
UDP 29900
UDP/TCP 27900
UDP 16567
UDP 55123-55125
UDP/TCP 18000
UDP/TCP 18300


Cela n'est valable que si vous ne faites tourner qu'un serveur sur votre machine. Si vous en avez plusieurs chaque serveurs devront avoir un port unique.

Administration à distance



Comme tout le monde n'a pas la chance d'avoir un serveur dans son salon, il peut être intéressant d'activer l'administration à distance (donc depuis le jeu) via le rcon.
Pour cela dans le dossier /admin/ créer un fichier default.cfg et entrez ceci à l'intérieur :
[code]port=4711
password=votremdp[/code]
Sauvegarder le fichier et redémarrez le serveur. Le rcon est donc disponible.
Pour l'utiliser :
Dans le jeu pressez la touche "²" (ou "~" si vous avez un clavier QWERTY) pour ouvrir la console.
Logguez vous au rcon :
rcon login [YourPassword]

Vous pouvez alors administrez entièrement votre serveur via les commandes d'administration console habituelle en utilisant :
rcon exec [commande]

Par exemple :
rcon exec admin.kickPlayer 3


Annexes



Liste des maps et de leurs modes de jeu :

- Shuhia Taiba
Map name – shuhia_taiba
Sizes – 16, 32, 64
Modes – gpm_ti (48), gpm_cq

- Minsk
Map name – minsk
Sizes – 16, 32, 64
Modes – gpm_ti (48), gpm_cq

- Suez Canal
Map name – suez_canal
Sizes – 16, 32, 64
Modes – gpm_ti (48), gpm_cq, gpm_coop

- Verdun
Map name – verdun
Sizes – 16, 32, 64
Modes – gpm_ti (48), gpm_cq, gpm_coop

- Camp Gibraltar
Map name – camp_gibraltar
Sizes – 16, 32
Modes – gpm_cq

- Tunis Harbor
Map name – tunis_harbor
Sizes – 16, 32
Modes – gpm_cq

- Sidi Power Plant
Map name – sidi_power_plant
Sizes – 16, 32, 64
Modes – gpm_ti (48), gpm_cq, gpm_coop

- Belgrade
Map name – belgrade
Sizes – 16, 32
Modes – gpm_cq, gpm_coop

- Fall of Berlin
Map name – fall_of_berlin
Sizes – 16, 32, 64
Modes – gpm_cq, gpm_coop

- Cerbére Landing
Map name – cerbere_landing
Sizes – 16, 32
Modes – gpm_cq, gpm_coop

Attention le mode titan ne supporte que 48 joueurs au maximum !

Listes des commandes d'administration des cartes :

- mapList.list
Chaque map sur le serveur à une ID, qui est utilisée pour le vote de changement de map. Cette commande liste les ID, le nomdes map, les modes de jeu et le nombre de joueurs si il est spécifié.

- mapList.configFile
utilisé pour spécifier l'emplacement du mapList.con

- mapList.mapCount
Montre le nombre de map dans la rotation

- mapList.currentMap
Montre l'ID de la map actuelle

- mapList.clear
Vide la maplist actuelle
Attention si aucune map n'est dispo au démarrage du serveur personne ne pourra y accéder

- mapList.remove
Enlève la map spécifier de la maplist

- mapList.append [number of players]
Ajoute une nouvelle map au maplist
Vous devez spécifier le nom de la map ainsi que le mode de jeu. le nombre de joueurs est optionnel

- mapList.insert [number of players]
La même chose que précédement mais vous pouvez spécifier l'ID de la map

Listes des commandes d'administration du serveur :



- admin.listPlayers
liste les joueurs connectés (ID, nom et IP)

- admin.runNextLevel
Forces le serveurs à terminer le round et à passer à la prochaine map

- admin.runLevel
Ajoute une map à la liste et la lance immédiatement. Par exemple:

admin.runLevel minsk gpm_ti 48

Ajoute minsk en mode titan pour 48 joueurs et la lance.

- admin.currentLevel
Donne l'ID de la map actuelle
idem que mapList.currentMap.

- admin.nextLevel
Permet de définir quelle sera la prochaine map

- admin.restartMap
Redémarre la map actuelle

- admin.banPlayer [timeout]
Entrer l'ID du joueur à bannir. Banni en utilisant l'adresse IP
Le ban peut être effectuer sur le CD key
Les bans sont stockés dans banlist.con. Les bans seront permanant tant que il seront dans le fichier.
Vous pouvez choisir un timeout pour le ban:
Entrez 'perm' pour un ban définitif. (par défaut si rien n'est spécifier)
Un nombre représente le nombre de seconde du ban (i.e. 3600 signifie 1h).
Entrez 'round' pour bannir jusqu'au prochain round.
Un nombre précéder de : (i.e. :1234567), représente le timestamp d'expiration (nombre de seconde depuis 1 Jan 1970).

- admin.banPlayerKey [timeout]
Entrer l'ID du joueur à bannir. banni via le hash cd key.
Vous pouvez également spécifier un timeout

- admin.addAddressToBanList [timeout]
Entrer l'Ip que vous voulez bannir
Vous pouvez également spécifier un timeout

- admin.addKeyToBanList [timeout]
Entrer le hash du Cd key à bannir.
Vous pouvez également spécifier un timeout

- admin.removeAddressFromBanList
Entrez l'Ip à retirer de la ban list

- admin.removeKeyFromBanList
Entrez le hash du cd key à retirer de la ban list

- admin.clearBanList
Vide la ban list

- admin.listBannedAddresses
Affiche la liste des Ip bannies

- admin.listBannedKeys
Affiche la liste des cd key bannies

- admin.kickPlayer
Entrer l'ID du joueurs à kicker

Pour toutes questions n'hesitez pas à utiliser le Forum

Tuto publié le 2006-10-22 par GrUnK

Creative Commons License
Les commentaires :
Guest
Yo, moi j ai un probleme j ai pour l administration par rcon ca me fait authentifacation failed

Merci bye

Le 22/10/2006 à 19h05
GrUnK
Est tu bien sur de ton mot de passe ? (respect des majuscules particulièrement)

Le 22/10/2006 à 22h24
Guest
C'est bon le prob est regler il falit juste mette le default cfg qui est dans mods/setting/admin dans bf2142/admin voili voilou

Le 23/10/2006 à 18h18
Guest
Ah oui !

Par contre je n arive pas à mettre mon server en ranked y a des config à aporter a par a l execution du serv ???

Si oui serai bien de les mettre merci.

Le 23/10/2006 à 18h19
GrUnK
Merci de la précision .
En revanche pour les serveur ranked , il me semble que seul certains organisme on le droit d'en avoir. Pour la france par exemple c'est Eliott Ness. Mais peut être me trompe-je

Le 23/10/2006 à 18h30
Guest
Ok merci , de l infos

Sinon ben j ai plus que a attendre les regles pour faire des war avec ma team

PoMy

Le 23/10/2006 à 19h14
GrUnK
Bon courage Et pense à t'inscrire sur le site ca coute rien

Le 23/10/2006 à 21h07
Guest
OUe je v ais le faire ti suite chef


Le 23/10/2006 à 23h09
Guest
salut, moi je n'arrive pas du tout a faire fonctionner tout ca, quand mes potes veulent se connecter, il y a le message d'erreur ...

Le 02/11/2006 à 23h37
GrUnK
Quel genre de message d'erreur ? A la limite expose ton problème sur le forum pour qu on en discute

Le 03/11/2006 à 07h50
Guest
comment on met des admin sur le serveur ??

Le 05/11/2006 à 07h23
GrUnK
Je sait pas si tu peux rajouter des administrateur à proprement parler. Mais tu peut tout simplement leur donner le rcon

Le 05/11/2006 à 10h10
Guest
Salut,

Merci pour ce super tutorial par contre j'ai une question. Je possede un serveur dedier sur linux chez un fournisseur d'acces. J'ai reussi parfaitement a installer le serveur bf2142 et a le demarer mais par contre je suis obliger de garder la fenetre ouverte de mon pc, si je la ferme, le serveur se coupe. En faite je voudrais garder mon serveur 24h/24. Comment puis je faire pour que mon serveur dedier le gere tout seul, merci pour vos reponse

Le 09/11/2006 à 03h41
GrUnK
En fait ton problème est dès que tu ferme la fenêtre SSH ton serveur se coupe ?

Si c'est bien ca , tu peux éventuellement faire en sorte que le serveur BF2142 se lance automatiquement au démarrage. Tu reboot ton serveur et normalement ca devrais être bon

Le 09/11/2006 à 19h44
Guest
Oui c'est exactement ca, quand je ferme la fenetre, ca coupe le serveur.

Comment je pourrais faire pour que le serveur de jeu se lance au redemarrage du serveur, je suis nouveau sur linux

merci

Le 10/11/2006 à 00h15
GrUnK
Le plus simple c'est que tu te rend sur le forum de ta distribution (debian, redhat,...) et que tu demande comment inclure le start.sh au démarrage car selon la distribution la manipulation n'est pas la même

Le 10/11/2006 à 07h27
Guest
il et posible de metre son serveur linux que l'on heberge en ranked

si oui comment fair car je trouve pas et

./start.sh +provider "Electronic Arts" +region "FR" +type 0

ne me donne rien il faut peut etre fair une autre manip avec je ne c'est pas

merci de vortre aide

Le 14/11/2006 à 10h00
GrUnK
En fait les serveur ranked ne sont délivré que par les hébergeurs agrée par EA. Dont eliot Ness. Tu ne peut donc pas avoir un ranked hébergé par tes soins

Le 14/11/2006 à 12h40
Guest
ok merci

Le 14/11/2006 à 14h11
Zebraman
Yop !

Je suis sous Window, mais je pense que ce prôblème peut aussi arriver sous Linux. Donc voilà, je vous éxplique ; Je voulais jouer avec mon pote sur un serveur dedié qu'il avait créé. Tout marche bien, sauf que quand j'arrive au chargement de la map, ça prend un temps fou, et lorsqu'il y a la vérification des données clients, je me retrouve sur la liste des serveurs avec ce message d'érreur : La connexion au serveur a échoué, d'ailleur, il me voit avec la console tout le temps, sauf quand le chargement de la map est un peu près au millieu, enfaite, je sais plus, mais vers les données client, il ne me voit déjà plus.

Donc j'aimerais juste savoir si ce prôblème était lié à sa connexion ( 10 Mega ) ou aux ports, par exemple, ou à autre chose.

Merci d'avance.

PS. Pauvre GrUnk, il doit répondre à tant de questions XD

Le 04/01/2007 à 00h51
Zebraman
Ah et, quel est l'ip à mettre ainsi que le port ?

Le 04/01/2007 à 00h53
GrUnK
Salut
Pour ce genre de problème je pencherais plutôt vers un problème de firewall ou quelque chose comme ca ( de son coté et du tiens).
Ou oublie par exemple souvent le firewall Windows.
Vérifie également comme expliqué dans le tuto que les bon ports son ouvert sur le routeur ou la box de ton amis si il en possède.

Faut également pas oublier qu'une connection 10/1M c'estun peu juste pour héberger un serveur

Le 04/01/2007 à 09h59
emSkillz71
Slt a tous !

j ai un pb avec mon serveur dedie kan je veu aler dessus sa marque la version que vous aver est plus recente que celle du serveur que faut il faire svp ?

Le 26/01/2007 à 18h15
GrUnK
il faut t'assurer que ton serveur dédié est à jour.
Si ce n'est pas le cas il faut re-télécharger la dernière version chez EA par exemple et le réinstaller en ayant pris soin de mettre de coté tes fichiers de config si tu les avaient modifiés

Le 26/01/2007 à 19h05
emSkillz71
nn ca c bon moi je peu me connecter au serveur mais les autre sa leur mais probleme de connexion


Le 26/01/2007 à 19h11
Dimistik
Bonjour,

J'ai un problème: les autres joueurs ne peuvent pas acceder au serveur...En effet, il n'est disponible que en LAN...comment résoudre ça?

Le 06/02/2007 à 23h19
GrUnK
Salut je t'invite à regarder ce sujet sur le forum : http://www.lanforums.com/forums/viewtopic.php?id=116

Le 07/02/2007 à 08h26
Dimistik
Merci ca marche nikel

Le 15/02/2007 à 19h13
Langelot
Toujours pas moyen d'ajouter des bots ?

Pour le coup de la fenétre SSH qui coupe le serveur quand on coupe la session (normal ...) 2 solution =>
la premiére grace a un logiciel => screen
la seconde => rajouter un diése a la fin de ta commande (sa permet de reprende la main sur le processus ...) mais reste a voir si a la fermeture de session l'appli reste lancé ...

bref a testé ^_^ see ya !

Le 05/07/2007 à 14h50
maxi-mang
Venez m'aider SVP : http://www.lanforums.com/forums/viewtopic.php?pid=625#p625 !

Le 20/07/2008 à 21h12
dede
bonjour a tous j'aie un souci j'aie installez un serveur linux battelfield 2142 est j'aie un souci pour le lancer quand je met sur ma console
/home/lesdeuxcanards/Desktop/dede/bf2142/start.sh +provider "Electronic Arts" +region "FR" +type 0
sa me met cette erreur
ln: création d'un lien symbolique `pb' vers `pb_ia-32': Le fichier existe.exec: 27: /home/lesdeuxcanards/bin/bf2142: not found
pourquoi merci de maider svp

Le 22/07/2008 à 16h12
dede
avez vous vous un autre lien pour telecharger le derniere verveur linux qui va avec le dernier patch sortie svp merci

Le 22/07/2008 à 16h33

Laisser votre commentaire


Vous devez être membre pour pouvoir laissez votre commentaire. Inscrivez vous ou connectez vous