Dans cette rubrique je vais vous expliquer comment j'ai installer plusieurs serveurs dédiés sur un même serveur sous Mandriva 2003 (valable sous Debian etch également).

Première étape : les fichiers !

Pour installer UnrealTournament sous Linux vous devez disposez des fichiers Unreal, à savoir une arboressence du genre :

Si vous ne disposez pas de ces fichiers vous pouvez utiliser cette archives : ut-server-436.tar.gz ou sur PlanetUnreal

Pour installer le serveur et ses fichiers, lancez : tar -zxvpf ut-server-436.tar.gz

Celà créera un repertoire ut-server avec les fichiers qui vont bien.

Deuxième étape le script de lancement !

Pour pouvoir créer le script qui permet d'éxécuter UnrealTournament en serveur dédié, vous avez besoin de ASU. ASU c'est un petit programme gratuit et bien pratique qui peut même vous servir pour UT2K3 et UT2K4.

Téléchargez donc ASU : asu-0.6.tar.gz ou sur PlanetUnreal

Exécutez ensuite la commande : tar -zxvpf asu-0.6.tar.gz

Delà vous pouvez maintenant utilisez ASU pour créer vos script de démarrage.

Lancez donc la commande : bash asu.sh

Vous obtennez normalement un écran comme celui-ci :

Bot Menu (B) : Vous sert à configurer les noms des BOTs ainsi que leurs nombres. Pour celà, je vous conseille de le faire directement dans le fichier UnrealTournament.ini c'est beaucoup plus pratique. (Voir la configuration d'un fichier UnrealTournament.ini)

Specify UT Directory and active .ini files (D) : C'est ici que vous précisez le serveur Unreal que le script va lancer. Par exemple si vous avez 3 serveurs comme chez moi, le premier un TDM/CTF, le second un ICFT et le troisième un JAILBREAK, vous aurez donc trois repertoires avec les fichiers unreal : /home/ut/ut-DTMCTF/ ; /home/ut/ut-ICTF/ ; /home/ut-jailbreak/

Ainsi dans le menu (D) si vous désirez faire la création du serveur jailbreak, indiquez : /home/ut/ut-jailbreak/System/UnrealTournament.ini (ATTENTION Linux est case sensitive, donc respectez bien les majuscules).

Je passe sur le menu (H) qui est de l'aide.

Install Init Script (I) : C'est avec cette rubrique que vous allez créé le script de lancement. Quand vous appuyez sur i vous obtennez le message suivant :

if you intend to run this program as a user other than root, then enter
the username here .. if you run as root then it will suid to this user

Enter the userid that the ucc program should run as [nobody]

C'est ici qu'il vous faut choisir sous quel utilisateur le serveur tournera : si vous ne désirez pas chosir d'utilisateur appuyez simplement sur entrée et ce sera [nobody] qui sera selectionné par defaut.

Ensuite : If you have more than one IP, enter one with access to the internet (optional)

C'est dans le cas où vous avez plusieurs IP... Je concidère que non et donc on appuie sur Entrée.

1=DM, 2=CTF, 3=DOM, 4=AS, 5=LMS, 6=TDM

Enter the game type [1]

Là vous choisissez le type de serveur que vous allez lancer. Notez que ce n'est valable que pour la première MAP car si vous utilisez le mutator MAPVOTE ce sera dans le fichier unrealtournament.ini que les type de jeux seront choisis.

Je choisis DM (en effet il n'y a pas de JAILBREAK prévu dans ASU...)

Vu que je n'ai laisser qu'une seule map de deathmatch dans le repertoire Maps de mon serveur JailBreak il n'apparait que :

Age,

Select a map to start the game with [Age]

Donc j'appuie sur Entrée ainsi la map par defaut sera choisie

Puis il faut choisir les mutator on obtient un écran :

BDBMapVote302.BDBMapVote BotPack.InstaGibDM BotPack.PulseArena BotPack.FlakArena BotPack.RocketArena BotPack.ShockArena BotPack.SniperArena BotPack.ChainsawMelee BotPack.NoRedeemer BotPack.NoPowerups BotPack.LowGrav BotPack.Stealth BotPack.FatBoy BotPack.InstantRockets BotPack.JumpMatch crotchshot.crotchshot DE.VolatileAmmo De.TeamBeacon De.VolatileWeapon DeluxeChatV4.DeluxeChat disgraced.disgracedMutator FastCap.FC_Mutator JailFight.JailFight JBFatboy.JBFatboy JBMadmen.JBMadmen KickIdlePlayers2.KickIdlePlayers2 Pinata.Pinata Protector230.Protector RandomRelic.RandomRelic Relics.RelicRegen Relics.RelicDefense Relics.RelicSpeed Relics.RelicStrength Relics.RelicRedemption Relics.RelicDeath Revenge.Revenge SLV2.StrangeMutator SLV2.StrangeArena SmartCTFV4.SmartCTF

Là il faut faire attention, ne choisir qu'un seul mutator à la fois ! Quand vous avez choisis tous les mutators que vous voullez, laissez à vide et appuyez sur entrée.

Là il vous enregistrera le fichier ucc.init associé à votre serveur.

Pour lancer votre serveur il suffit donc de lancer la commande /home/ut/ut-jailbreal/ucc.init start et votre serveur sera lancé.

BONUS : Les stats UTSTATS.

Si vous regardez sur mon serveur, vous verrez les stats des joueurs : http://www.nosland.com/ut_server_stats/

Pour installer cette option, voici comment procèder :

Récupèrer les fichiers d'installations : utstats_beta40.zip (pack d'upgrade à beta4.2 : utstats_beta42.zip )

Notez que pour installer la version 4.2 vous devez avoir déjà installer la 4.0.

Une fois décompresser vous obtiendrai l'arboressence suivante :

1- Installation du Mutator de statistique :

Dans le repertoire System que vous avez obtenu après decompression du fichier zip vous trouverez deux fichiers systemes d'unreal :

UTSAccuBeta4.u
UTStatsBeta4.u

Copiez les dans le repertoire System de chacun des serveurs Unreal dont vous désirez avoir les statistiques.

Puis dans le fichier unrealtournament.ini de chacun de vos serveurs placez vous dans la rubrique [Engine.GameEngine] et ajoutez les lignes suivantes :

ServerActors=UTStatsBeta4.UTStatsSA
ServerPackages=UTSAccuBeta4

Afin que le serveur log toutes les parties vérifiez dans la rubrique [Engine.GameInfo] que vous avez bien bLocalLog=False (je sais, ce n'est pas très logique mais c'est comme ça !)

2- Installation du WebServeur et de la base de données.

La base de données : Créez une base de données Utstats (par exemple) depuis votre application MySQL (phpmyadmin par exemple) puis importer les scripts SQL que vous trouverez dans le repertoire "sql" du fichier zip décompressé. Attention, vous devez importez tous les scripts SQL qui sont dans le repertoire !!! Donnez les droits d'ajout, suppression, création de table à un utilisateur que nous appelleront UT avec pour mot de passe UTSTAT puis refermer votre logiciel de gestion de base de donnée MySQL.

Le Serveur WEB : Sur votre serveur web créez où vous voullez par exemple à la racine un repertoire qui sera l'emplacement où vous accèderez aux stats, dans mon exemple je l'applerai utstats, ainsi pour voir les stats ce sera http://monsiteweb/utstats

Recopiez tous les repertoires et fichiers présents dans le repertoire html du fichier zip décompressez dans le repertoire que vous aurez créé. Attention, si vous recopie directement le reperoire html dans votre repertoire utstats, il vous faudra entrez http://monsiteweb/utstats/html/ pour accèdez aux statistiques.

Donnez les droits d'écritures, création, éxécution sur les fichiers (chmod 777 /utstats/* ) afin de pouvoir modifier les fichiers php qui sont contenus dans les repertoires.

Editez ensuite le fichier config.php que vous trouverez dans le repertoire utstats/include/

Changez les lignes suivantes (en rouge ce sont mes commentaires, ces lignes ne doivent pas être ajouter au fichier !) :

$dbname = "Utstats"; Nom de la base de donnée
$hostname = "localhost"; Hostname du serveur MySQL
$uname = "UT"; Nom d'utilisateur qui importera les données
$upass = "UTSTAT";
mot de passe de l'utilisateur qui importera les données

$import_adminkey = 'GWjui76plIM'; Mot de passe pour l'import des données, choisissez un mot de passe assez complexe car avec se mot de passe n'importe qui pourra modifier les stats du serveur depuis l'interface web !!!!

$import_homedir = '/home/www/html/utstats/'; Localisation exact du repertoire des fichiers de logs (nous verrons comment de façon automatique récupérez les fichiers de log de tous vos serveurs.

// FTP Connection Details
$ftp_use = false; En dessous de cette rubrique je n'expliquerai pas, car dans mon exemple nous sommes en local et donc les fichiers de log n'ont pas besoin d'etre envoyer en FTP sur un serveur distant. Si dans votre configuration ce n'est pas le cas, adaptez votre configuration, mais les paramètres FTP dans ce fichier ne sont pas particulièrement compliquer à indiquer.

Enregistrez les modifications et refermer le fichier config.php

3- Création d'un script d'import pour une tache CRON.

Afin que les fichiers de log soient automatiquement pris en en compte par votre serveur sans que vous ayez besoin d'utiliser l'interface web, nous allons créer une tache CRON ou tache plannifiée pour les windowsiens qui exécutera à intervalle régulier le script.

Pour créer la tache CRON le plus simple est encore d'utiliser WebMin (l'interface graphique de configuration de votre serveur linux). Paramètrer un schedull tous les quart d'heure par exemple ou toutes les dix minutes, mais éviter un intervalle trop court sinon vous risquez que certaines parties soient ajouter en deux fois (chevauchement de deux imports). Vous pouvez également utiliser la commande cron.

Le script est assez simple :

mv -f /home/ut/ut-server-jailbreak/Logs/Unreal.ngLog*.log /home/www/html/utstats/logs/ Emplacement des fichiers de log du premier serveur
mv -f /home/ut/ut-server-icft/Logs/Unreal.ngLog*.log /home/www/html/utstats/logs/ Emplacement des fichiers de log du second serveur
mv -f /home/ut/UnrealTournament/Logs/Unreal.ngLog*.log /home/www/html/utstats/logs/ Emplacement des fichiers de log du troisème serveur
php /home/www/html/utstats/import.php Exécution du fichier import.php en ligne de commande.

En fait votre script récupère à intervalle régulier les fichiers de log de vos serveurs dans les repertoires Logs de ceux-ci. Puis importe les données dans la base MySQL à l'aide du fichier import.php.

Bonnus Mutator Unreal :

Fast Cap : petit mutator permettant de concerver le meilleurs temps du joueurs lors d'une capture de drapeau.

Installation : Decompressez le fichier fastcap.zip et recopiez les fichiers FastCap.int et FastCap.u dans chacun des repertoires System de vos serveur Unreal ayant comme mode de jeu la capture de drapeaux. Puis éditez leur fichiers UnrealTournament.ini et ajouter la ligne ServerPackages=FastCap à la rubrique [Engine.GameEngine]

Kick Idle Players : Mutator indispensable pour les serveurs public, qui permet de kicker les joueurs qui ne jouent pas.

Installation : Decompressez le fichier kickidleplayers2.zip dans le repertoire System de vos serveur UnrealTournament. Editez le fichier kickidleplayers2.ini et choisissez le temps que vous laissez à un joueur qui idle (par ex : KickTime=300) Puis éditez les fichiers Unrealtournament.ini de vos serveurs UT et ajouter la ligne ServerPackages=KickIdlePlayers2 à la fin de la section [Engine.GameEngine] en laissant une ligne vide avant de commencer la section suivante.

Monster Annoncer : Ce mutator permet d'annoncer dans le chat du jeu les differents Kill : Double Kill, MultiKill, UltraKill et MonsterKILL

Installation : Decompressez le fichier MonsterAnnouncer.zip dans les repertoires system de vos serveur UnrealTournament et ajouter la ligne ServerActors=MonsterAnnouncer.MA_ServerActor aux fichiers UnrealTournament.ini à la section [Engine.Engine]

 

Configuration du Client :

La configuration du Client se fait directement dans le logiciel, du moins pour ce qui est disons facile à paramètrer... Toutes fois certaines choses se font dans le fichier UnrealTournament.ini que je détaillerai plutard.

Tout d'abord voyons comment ça se présente dans le logiciel :

La configuration se son joueur :

 

 

Donne =>

 

C'est ici que vous paramètrer votre affichage vidéo. Le choix d'une résolution 800x600 me semble le plus judicieux ainsi vous avez un large champs de vision avec également suffisement de détails pour être précis. La couleur bon, là je pense que c'est suffisement simple et je n'ai pas trop de conseils à donner.

Texture & Skins Détails : Là, je vous recommande d'être prudent, en effet, bien qu'aujourd'hui les machines soient assez puissantes, si vous jouez sur le net notement sur mon serveur (unreal://nosland.com:7777) la bande passante peut être un handicap et donc provoquer du lag. Le choix d'une texture à médium est celon moi un bon compromis. Bon si vous jouez seul en local ou sur un LAN, hésitez pas passer à high directe et faites vous plaisir ;-)
Brightness : Là le conseil du vieux de la vieille vous dira de mettre à fond. En effet, certaines MAP sont peu éclairée et donc avec peu de lumière vous ne verrez pas gand chose. Avec ce réglage au moins vous serez pas mal. Exemple de MAP un peu sombre: ArcaneTemple, utilisez là pour vos réglage, notement dans la zone interne de la MAP (près de l'amplificateur).
GUI Mouse Speed, c'est la vitesse de la souris dans le jeu, bon là ça depends de votre materiel surtout et de votre dexdérité ;-)
Font Size : Quand vous jouez les infos serveurs, le dialogue avec les autres joueurs s'affiche en haut à gauche de l'écran, et bien là vous réglez la taille de la police.
GUI Skin : C'est la tronche de l'écran c'est ... inutile ;-)

Les trois autres paramètres sont un peu flou, laisser par defaut.

 

Ici se paramètre quelques petits point interessant.

Weapon Hand : Si vous désirez être droitier ou gaucher !

Gore Level : Même conseil que pour le détail des Skins, si vous jouez sur le net évitez tro de détails (notez qu'en général se paramètre est imposé par le serveur...). Sur du LAN ou en Local, faites vous plaisir !!!!

View Bob : Si quelqu'un sait : nospheratus@nosland.com !!!

Game Speed : Bon en fonction de vos aptitudes montez ou descendez ;o) Personnellement à 125% je trouve que c'est pas mal.

Les trois cases sont pour moi à être cochées sans vous poser de question, non ?

 

Les autres paramètres sont beaucoup moins interessants. Seul le menu Control doit être regardé mais bon, tout est tellement évident, que je vais pas détailler. Si vous désirez que je le détaille un jour => nospheratus@nosland.com

Passons à la configuration de votre joueur !
Donne =>

 

Dans cet écran vous configurer votre nom de joueur, notez que certains caractères ne sont pas accessibles notement les [crochets] et que si vous voullez créer un nom de personnage avec le nom de votre clan, il faudra ruser et utiliser le fichier unrealtournament.ini
Vous choisissez également la couleur de votre équippe, bien que celle-ci puisse être changé en début de MAP par le serveur.
Vous avez ensuite à disposition trois menus déroulants qui permètent de configurer l'aspect de votre personnage. En fonction des Skins installées dans votre logiciel vous aurez plus ou moins le choix.
Vous pouvez ensuite choisir le type de voix que vous aurez. C'est pas super utile mais bon c'est marrant.