Créer un serveur
 

 

1.Commencement

I-1) Ingrédients

Pour faire ton serveur dédier jedi Knight 2 il te faut suivre la liste des ingrédients suivant :
- archive du serveur dédier 1.04 Windows (ou linux suivant le système d'exploitation).
- les fichiers du jeu a savoir : "assets0.pk3, assets1.pk3, assets2.pk3, assets5.pk3".

I-2) Installation

Elle est très simple a faire, en premier on extrait l'archive par exemple dans un répertoire JK2Server.
on a alors dans ce répertoire les fichiers suivant :
- "Disclamer-Jedi Outcast Dedicated Server.doc" qui contient la licence d'utilisation.
- "JK2Ded.exe" le serveur dédier.
- "readme.txt" sans commentaire.
- "Server option.txt" qui lui est incomplet au possible.
- un répertoire "base".

le répertoire "base"
C'est dans ce fichier que l'on doit mettre les fichier ".pk3" du jeu.
remarque :
si vous désirer mettre des maps additionnelles vous devez les y mettre aussi
sinon le serveur ne pourra les exécuter.
le répertoire "base" contient maintenant plein de fichiers ".pk3"
et un fichier qui se trouve ma foi être fort intéressant : "server.cfg" sur lequel nous reviendrons plus tard.

I-3) Installation de mod Alors comme dans le jeu de base si vous voulez utiliser un mod il faut l'installer dans le répertoire du serveur de manière a obtenir une arborescence ou on voit dans le répertoire du serveur le répertoire "base" et à côté de lui ces petits camarades les répertoires des mods.
Il faut aussi mettre dans le répertoire des mods un fichier "server.cfg" afin de pouvoir exécuter le serveur dédié avec le mod, dans un premier temps la copie de celui du répertoire "base" suffira.
Remarque :
Si un mod nécessite que soit mis un fichier dans le répertoire "base", il faut l'y mettre.

II) Exécution du Serveur

Dans un premier temps nous allons exécuter le serveur de base sans avoir configurer le fichier "server.cfg" afin de vérifier le bon fonctionnement du server.
Pour lancer le serveur dédié dans la version de base de jk2, on lance jk2Ded.exe et une fois qu'il est lancé, on tape a l'invite "exec server.cfg" sans les guillemets.
par défaut, les serveur se lance en mode Internet c'est a dire qu'il signale sa présence au master serveur de "Raven" pour éviter cela il faut le configurer dans le fichier "server.cfg" avec la ligne "set dedicated 1".
Remarque :
Afin de faciliter le lancement des différent serveur il est conseillé de créer des raccourcis
avec dans la ligne de commande destiner a lancer le serveur sa configuration initiale afin de
gagner du temps et ceux ci pour chaque mod que l'on souhaiterait exécuter sur le serveur

par exemple :
- pour lancer un serveur jk2 base, on met dans la cible (propriété du raccourci) :
"./jk2server/jk2Ded.exe +set dedicated 1 +exec server.cfg".
- pour lancer un serveur jk2 mod, on met toujours dans la cible : "./jk2server/jk2Ded.exe +set fs_game +set dedicated 1 +exec server.cfg" il est a noter que les espaces dans les lignes sont nécessaires.
Et maintenant vous n'avez plus que a tester le bon fonctionnement de votre serveur.


III) Configuration du serveur

Par défaut, le fichier "server.cfg" est configuré comme ceci :
// Server Config
seta sv_hostname "jkii-ded v1.02"
//seta g_motd "woot"
//rconpassword "a clever password"
seta sv_maxclients 16
seta g_inactivity 0
sv_maxRate 10000
set g_allowvote 1
set timelimit 20
set capturelimit 20
set g_autoMapCycle 1
map ffa_bespin
Alors c'est tout basic, tout pas optimiser, moyen quoi mais cela suffira a la plupart d'entre nous.

III-1) Etude du fichier

Pour commencer, les lignes derrière “//”ne sont pas exécutée par le serveur ce sont des commentaires.
En réaliser ce fichier est une suite de commandes que le programme utilise pour l'exécution du serveur.
Maintenant pour vraiment commencer nous allons prendre des choses simples c'est a dire pas complexe, je ne traiterais ici que les commande les plus usitées parce que sinon vous serez encore en train de lire demain.
Remarque :
Les commandes "set" et "seta" sont quasiment identiques les servent a fixer le s variables aux valeurs voulue, donc que l'on mette l'un ou l'autre na quasiment aucune importance même si on ne les mets pas mais il est tout de même conseillé de mettre au moins set.

III-2) Les commandes

Les commandes configurant le serveur :
- sv_hostname " " Sert a définir le nom du serveur c'est a dire celui qui sera visible dans l'interface "rejoindre serveur" du jeu.
- g_motd "x" "x" message d'accueil du serveur afficher au changement de map.
- sv_allowDownload "x" "x"=1 autorise les clients a downloader les maps depuis le serveur.
"x"=0 fonction désactivée.
- sv_allowAnonymous "x" "x"=1 autorise des utilisateurs non identifier a se connecter sur le serveur.
"x"=0 fonction désactivée.
- sv_privateClients "x" "x" nombre de client privé réserver sur le serveur, ils doivent rentré un mot de passe pour se connecter au server.
- sv_privatePassword "x" "x" définition du password pour les clients privés.

- sv_maxclients "x" "x" nombre de places sur le serveur, le nombre de client privés est soustrait pour l'affichage du nombre de client exemple maxclients=20 et privateclients=6 le serveur affichera 20-6=14 places publique accessibles les 6 autres places seront accessible uniquement grace au mot de passe définit grâce au privatepassword.
- sv_floodprotect "x" "x"=1 limite le flooding pour ne pas surgager le serveur. "x"=0 fonction désactivée.
- sv_maxrate "x" limite le taux de donnée a "X".
- sv_maxPing "x" "x" ping maximal autorisé pour les clients sur le serveur.
- sv_minPing "x" "x" ping minimal autorisé pour les clients sur le serveur.
- sv_pure "x" "x"=1 le serveur se limite au skins d'origine du jeux.
"x"=0 fonction désactivée.

Les commandes configurant les parties :
- g_friendlyFire "x" "x"=1 les tirs des joueurs de la même équipe peuvent nous atteindre.
"x"=0 fonction désactivée.
- g_friendlySaber "x" "x"=1 les sabres des joueurs de la même équipe peuvent nous atteindre.
"x"=0 fonction désactivée.
- g_allowVote "x" "x"=1 les votes sont autoriser sur le serveur.
"x"=0 fonction désactivée.
- g_dismember "x" "x"=1 le serveur autorise les démembrements.
"x"=0 fonction désactivée..
- g_privateDuel "x" "x"=1 le serveur autorise les duels entre joueurs.
"x"=0 fonction désactivée.
- g_allowDuelSuicide "x" "x"=1 autorise le suicide en duel.
"x"=0 fonction désactivée.
- g_spawnInvulnerability "x" "x" temps que dure l'invulnérabilité au respawn d'un joueur temps en millisecondes.

- g_duelweapondisable "x" Autorise ou non les armes lors des duel (voir annexe Armes)
- g_weapondisable "x" Autorise ou non les armes lors des parties (voir annexe Armes)
- g_forcepowerdisable "x" Autorise ou non les pouvoirs de la Force lors des parties
(voir annexe Pouvoirs)
- duel_fraglimit "x" "x" nombre de victoire en duel requise pour terminer la partie.
(uniquement pour les parties en duel)
- fralimit "x" "x" nombre de victoire requise pour terminer la partie.
- capturelimit "x" "x" nombre de drapeau pris a l'ennemis requis pour terminer la partie.
- timelimit "x" "x" limite de temps de la partie.
- g_redTeam "x" "x" nom de l'équipe rouge.
- g_blueTeam "x" "x" nom de l'équipe bleue.
- g_teamForceBalance "x" "x"=1 force l'équilibrage des équipes.
"x"=0 fonction désactivée.
- g_forceBasedTeams "x" "x"=1 base les équipes sur la force Jedis VS Siths..
"x"=0 fonction désactivée.
- g_maxForceRank "x" "x" niveau maximale de la force dans une partie.
- g_forceRegenTime "x" "x" temps de régénération de la force dans une partie.
- g_gametype "x" "x" type de la partie : 0=FFA, 1=Holocron, 2=Jedi Master, 3=Duel, 5=TFFA, 7=CTF, 8=CTY.
- map "x" "x" nom de la map à lancer.
- g_automapcycle "x" "x"=1 roulement automatique des maps sur le serveur.
"x"=0 fonction désactivée.
Remarque :
Les commandes présentées ci dessus sont les commandes génériques elles suffise la plupart du temps a configurer un serveur simple, ce sont aussi issue pour la plupart de jk2 mais un grand nombre de commande de Quake 3 peuvent être récupérer et utiliser dans jk2 car il s'agit du même moteur de jeu.

Il est possible dans JK2 de configurer ces maps une a une si l'on ne désire pas que le serveur le fasse de lui même ou si l'on désire varier les mod de jeu.
exemple :
g_automapcycle "0"
set map1 "g_gametype 0 ; fraglimit 20 ; g_weaponDisable 65531 ; g_forcePowerDisable 0 ; map ffa_bespin ; set nextmap vstr map2"
set map2 "g_gametype 3 ; fraglimit 1 ; duel_fraglimit 10 ; g_weaponDisable 65531 ; g_forcepowerDisable 32757 ; map duel_pit ; set nextmap vstr map3"
set map3 "g_gametype 7 ; fraglimit 20 ; g_weaponDisable 0 ; g_forcePowerDisable 0 ; map ctf_ns_streets ; set nextmap vstr map1"
On voit dans l'exemple précèdent la manière dont il faut procéder pour configurer les maps individuellement, seul les commandes du deuxième tableau celle configurant les partie peuvent être utiliser entre les guillemets sauf la dernière.

IV) Annexes

IV-1) les armes

Les armes autorisées dans une partie sont en fait signifier par un nombre codé sur 16 bit non signé il vous sera alors simple de déterminer quelle sont les armes que vous souhaiter utiliser dans une partie grâce au commande g_duelweapondisable et g_weapondisable. pour cela il suffira d'additionner les valeurs des armes que vous ne voulez pas dans votre partie a l'aide du tableau suivant.
Bit arme correspondante valeur
1 rien 1
2 matraque électrique 2
3 sabre laser 4
4 pistolet Bryar 8
5 Blaser 16
6 Disrupteur (snipeur) 32
7 arbalète Wookie 64
8 Blaster impérial 128
9 Demp2 256
10 Fléchette Golan 512
11 Lance Missile 1024
12 Détonateur Thermal 2048
13 Mines 4096
14 Bombe 8192
15 rien 16384
16 rien 32768
Alors maintenant c'est très simple il suffit d'additionner les valeurs
correspondante au armes
que vous voulez exclure de votre partie par exemple on souhaite gardez dans une partie que le sabre et les mines on additionne donc les valeurs des armes que l'on ne désire pas garder ( il faut toujours additionner les valeurs des bits 1,15 et 16 aux autres ) cela nous donne alors
1+2+8+16+32+64+128+256+512+1024+2048+8192+16384+32768=61435
on met donc dans le fichier de configuration la commande "g_weapondisable" 61435.
Il faut savoir que si une arme quelconque a par le sabre est activée, cela active aussi les items
comme la tourelle automatique ou les déflecteurs. Il est a noté aussi que la commande "g_weapondisable 0" est celle qui débloque toute les armes.

Vous pouvez également configurer les armes plus rapidement, et sans faire de calculs avec notre outil: Générateur Arme



IV-2) Les pouvoir de la Force

Eh bien on prend le même et on recommence c'est le même système que pour les armes sauf que cette fois c sur 15 bits
Bit Pouvoir correspondant valeur 1 santé 1
2 saut 2
3 vitesse 4
4 avant 8
5 arrière 16
6 persuasion 32
7 poigne 64
8 éclair 128
9 rage 256
10 protection 512
11 absorption 1024
12 santé équipe 2048
13 force équipe 4096
14 épuisement 8192
15 vision 16384
Comme pour les armes on additionne les valeurs des pouvoirs que l'on ne veut pas garder
et on met le nombre obtenu dans la configuration a l'aide de la commande :
g_forcepowerdisable "32757" par exemple pour ne conserver que les pouvoir de saut et avant.
Il est a noter que l'on ne peut désactiver les pouvoir du sabres que si l'on interdit tous les pouvoirs.

Vous pouvez également configurer les armes plus rapidement, et sans faire de calculs avec notre outil: Générateur Force
Vous avez plus qu'à aller dans creer serveur et c'est OK.