Print Friendly, PDF & Email

Après Z sorti en 1996, un autre jeu commercialisé la même année allait connaitre un grand succès : Duke Nukem 3D Atomic Edition

Je continue à jouer à ce jeu encore aujourd’hui et la question était de savoir, si après Minecraft, Zod Engine (Z) et Counter-Strike Source, j’allais réussir à installer un serveur Duke Nukem 3D sur mon serveur Linux Ubuntu 12.10.

Etat des lieux

Il existe encore plusieurs façon de jouer à Duke Nukem 3D Atomic Edition sur votre PC :

  • En achetant un CD sur le Net : une simple recherche et vous trouvez des tonnes d’occasion entre 5 et 15 €
  • En achetant une version électronique de sur le site gog.com à 6 €
  • En téléchargeant une version portée ou packagée qui permet de passer à la haute résolution grâce à des packs HRP (High Resolution Pack), modernisant ainsi grandement ce jeu vieux de 17 ans

Aujourd’hui, 2 versions packagées sortent du lot :

Mais une seule est multi-plateforme et multi-joueur : EDuke32

A noter que EDuke32 a besoin de 2 fichiers originaux pour fonctionner : DUKE3D.GRP et DUKE.RTS. Pour les récupérer, il faut soit une version originale du jeu sur CD-ROM, soit télécharger Duke Nukem 3D sur gog.com pour en extraire ces 2 fichiers.

Pour installer le jeu sur votre PC :

  • Créez le dossier suivant : C:\EDuke32
  • Dézippez la version 3214 du jeu dans le dossier C:\EDuke32  – pas la dernière version car le paquet Linux installe sur le serveur la v3214 et il est important d’avoir la même version client/serveur pour que le jeu fonctionne correctement en mode multi-joueur
  • Recopiez les fichiers originaux DUKE3D.GRP et DUKE.RTS dans le dossier C:\EDuke32
  • Installez le pack HRP en dézippant les fichiers dans le dossier C:\EDuke32
  • Editez le fichier de configuration C:\EDuke32\settings.cfg et modifiez ou ajoutez en fin de fichier le paramétre suivant : cl_autovote “2” – cette variable précise que l’on vote positivement à toute demande de changement de carte en mode multi-joueur. En effet, il y a un bug et le vote ne fonctionne pas correctement, c’est donc une façon de contourner le problème
  • Pour jouer en mode multi-joueur, créez le fichier eduke32.bat dans le dossier C:\EDuke32 avec les commandes suivantes :
    @echo off
    eduke32.exe -connect adresse_IP_de_votre_serveur -hduke3d_hrp_polymost.def
  • Puis créez un raccourci du fichier eduke32.bat sur votre Bureau Windows
  • Double-cliquez sur le raccourci et paramétrez le lanceur de la façon suivante :

Il existe des « mods » intéressants comme DukePlus avec un design différent des armes et de nouvelles maps. Toutefois, DukePlus installant une version de EDuke32 non compatible avec le serveur, je vous conseille de commencer par l’installation de ce mod puis de reprendre entièrement la procédure ci-dessus.

Serveur EDuke32 sur Linux

Sur votre Bureau, en mode graphique ou en mode console :

  • Créez le dossier eduke32
  • Rendez-vous dans le dossier eduke32
  • Ajoutez le dépôt de paquets, en copiant/collant les commandes suivantes en mode terminal :
    echo -e "deb http://apt.duke4.net $(lsb_release -cs) main\n\
    deb-src http://apt.duke4.net $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/eduke32.list
  • Importez la clé de sécurité pour authentifier les paquets à télécharger : 
    wget -q http://apt.duke4.net/key/eduke32.gpg -O- | sudo apt-key add –
  • Installez EDuke32 :
    sudo apt-get update
    sudo apt-get install eduke32
  • Copiez les 2 fichiers du jeu original, les mêmes que pour votre PC Windows (voir plus haut), dans le dossier suivant : /home/nom_d_utilisateur/.eduke32
  • Vous pouvez créer le dossier polymost_hrp et y copier le fichier zippé du pack haute résolution
  • Editez le fichier de configuration settings.cfg et modifiez ou ajoutez en fin de fichier le paramètre suivant : cl_autovote “2” – cette variable précise que l’on vote positivement à toute demande de changement de carte en mode multi-joueur. En effet, il y a un bug et le vote ne fonctionne pas, c’est donc une façon de contourner le problème
  • Créez le script serveur_duke.sh dans le dossier eduke32 qui servira à lancer le serveur Duke Nukem 3D :
    #!/bin/sh
            sleep 1
            screen -A -m -d -S duke eduke32 -server
  • La commande screen permet de conserver le processus actif même après s’être déconnecté du serveur Linux
  • Lui donner les droits d’exécution :
    chmod +x serveur_duke.sh
  • Vous pourrez le lancer avec la commande suivante :
    sh serveur_duke.sh
  • Une fois démarré, cliquez sur New Game et lancez un Dukematch sans monstres en cliquant sur Start Game :
  • A partir de ce moment les joueurs peuvent se connecter sur votre serveur. Pour info, pour lister les Screens actifs :
    screen -ls
  • Pour aller dans le Screen :
    screen -r duke
  • Pour quitter le Screen : touches CTRL + A puis D
  • Pour killer le Screen : touches CTRL + A puis K

Sécurité – pare-feu

Pensez à sécuriser vos accès Internet via le pare-feu de votre routeur ou de votre Box + le pare-feu Ubuntu en autorisant le port UDP de destination utilisé par EDuke32.

Ne pas oublier de rediriger le port de destination vers le serveur Linux via le menu adéquat de votre routeur ou de votre Box.

Le port de destination suivant est utilisé par le serveur EDuke32 :

  • Port UDP 23513

Sous Ubuntu 12.10, la commande du pare-feu Ufw est la suivante :

  • En mode terminal, saisissez
    sudo ufw allow 23513/udp
  • Si Gufw + Ufw ne sont pas installés sur votre serveur Linux, voir comment procéder dans l’article suivant

Conclusion

Le mode serveur de EDuke32 est loin d’être parfait :

  • Malgré un paramétre en ligne de commande permettant de lancer le serveur Duke Nukem 3D sous Linux, il faut toute de même démarrer manuellement une partie multi-joueur… beaucoup trop contraignant…
  • Par ailleurs, côté client sous Windows, le jeu est complètement buggé en mode multi-joueur : il arrive trop souvent que les joueurs ne se voient pas entre eux, très gênant en mode deathmatch…
  • De plus, seules les armes à feu fonctionnent correctement, toutes les autres sont buggées comme le RPG, les Pipe Bombs, le Shrinker, le Devastator, etc.

En conclusion, EDuke32 est très réussi en mode solo, notamment grâce au pack haute résolution, par contre, il a encore d’énormes progrès à faire en mode multi-joueur vu le nb trop élévé de bug. Affaire à suivre…