Créer son serveur - par FSMOD
AVANT_PROPOS

Il existe une première méthode sur laquelle je ne m'étendrai pas et qui consiste à démarrer SOF2 puis cliquer sur l'icône 'Create Server', proposé dans la version originelle de ROCMOD.
Cette option n'offre que des possibilités limitées et ne convient qu'à la mise en oeuvre d'un serveur LAN très dépouillé pour accueillir quelques copains autour d'une même table dans des tournois conviviaux ![]()
A noter que sur ma version client cet icône n'est plus proposée.
Donc on oublie vite et on passe à la réalisation plus sérieuse d'un serveur digne de ce nom.
Je propose l'installation "clef en main" de ma version rocmod_fs_2.2, créée à partir des sources originelles de ROCMOD, CRSBOT et GOLDRUSH.
INSTALLATION PAS A PAS

Téléchargez le fichier pc_serveur
Décompactez. Vous obtenez 10 fichiers et 2 répertoires:

Créez un répertoire que vous baptiserez sof2, à la racine de votre disque dur et dans lequel vous placerez les 2 répertoires et les 10 fichiers que vous venez de décompresser.
le répertoire base contient pour l'instant 2 fichiers sons:

Allez dans le répertoire base de votre sof2 client et copiez / collez les 11 fichiers système vers le répertoire base de votre futur serveur.

A près cette opération le répertoire base serveur se présentera comme suit:

Le répertoire rocmod contient 10 répertoires et 8 fichiers:

INVENTAIRE DU REPERTOIRE ROCMOD

botfiles
Contient :
botroutes
Contient 326 fichiers wps en mode DM et CTF assurant les trajectoires des bots dans les différentes maps concernées.
colbot
Contient 40 fichiers d'identité des bots. Vous pouvez modifier uniquement les paramètres funname, identity et personality. Ces fichiers sont gérés par le CVAR g_botsFile pour chaque map inscrite dans les fichiers mapcycle.
ext_data
Contient: 2 fichiers de configuration des armes:
mapcycles
Contient 13 fichiers assurant le lancement des différentes maps, standard, customisées et SP. Chaque fichier comporte 20 maps dont les paramètres peuvent être ajustés à votre convenance.
Concernant les maps customisées je vous propose dès à présent de télécharger le pack complet de 172 maps ici ==>
.
A noter que vous devrez également posséder ces maps dans votre répertoire base client.
scripts
Contient notamment les fichiers afférents aux différents gametypes, chargés de fournir les informations et les illustrations sur les différents types de jeux, par la commande 'Objectives' du menu principal.
svcfg_adm
Contient toutes les commandes attribuées aux Admins.
svcfg_say
Contient toutes les annonces associées aux commandes Admin et Sysop.
svcfg_sys
Contient toutes les commandes dévolues au Sysop.
vm
Contient le fichier principal sof2mp_game.qvm du mode serveur utilisé ainsi que 9 fichiers qvm satellites assurant le pilotage des différents gametypes.
extracmds.cfg
Contient toutes commandes que les Admin pourront utiliser sous réserve des cessions de droits accordés par le Sysop.
scan_adm.cfg
Base de données retraçant les principaux shaders natifs de SOF, assortis de leur clef de codage MD5. Le résultat des requêtes envoyées au client suspect, se traduira uniquement par une alerte aux Admins.
scan_all.cfg
Base de données retraçant les principaux shaders natifs de SOF, assortis de leur clef de codage MD5. Le résultat des requêtes envoyées au client suspect, se traduira par une alerte générale pour tous les joueurs en ligne.
scan_kick.cfg
Base de données retraçant les principaux shaders natifs de SOF, assortis de leur clef de codage MD5. Le résultat des requêtes envoyées au client suspect, se traduira par une éjection du dit client.
scan_log.cfg
Base de données retraçant les principaux shaders natifs de SOF, assortis de leur clef de codage MD5. Le résultat des requêtes envoyées au client suspect, se traduira simplement par un enregistrement dans le log.
server.cfg
Fichier de lancement du serveur renseigné de tous les paramètres nécessaires à son fonctionnement optimal. Consultez éventuellement la documentation suivante pour en savoir plus ==> 
spmaps.pk3
Pack renfermant 38 maps SP (Single Player) adaptées à la version Gold multiplayers.

voicecmds.cfg
Bibliothèque des sons assortis de leur texte. Ce fichier reprend les 83 sons standards déjà encapsulés dans le fichier système musicandsound.pk3 auxquels viennent se joindre des sons UK et FR en accord avec les 2 packs rocsound_uk.pk3 et rocsound_fr.pk3.
Un développement plus détaillé de certains des éléments du répertoire ROCMOD sera abordé après ceci....
Mais avant de poursuivre, voici un récapitulatif de tout ce que vous devez voir dans votre configuration à ce stade de l'installation:
| Répertoire SOF2 | Répertoire base | Répertoire rocmod |
base |
maps.pk3 |
botfiles |
rocmod |
models.pk3 |
botroutes |
cgamex86.dll |
mp.pk3 |
colbot |
EaxMan.dll |
musicandsound.pk3 |
ext_data |
ffx86.dll |
rocsound_fr.pk3 |
mapcycle |
gamex86.dll |
rocsound_uk.pk3 |
scripts |
IFC22.dll |
skins.pk3 |
svcfg_adm |
Menusx86.dll |
textures0.pk3 |
svcfg_say |
servercache.dat |
textures1234.pk3 |
svcfg_sys |
snd_alx86.dll |
therest.pk3 |
vm |
snd_dsx86.dll |
update101.pk3 |
extracmds.cfg |
sof2mp.exe |
update1021.pk3 |
scan_adm.cfg |
update103pk3 |
scan_all.cfg |
|
.........172 maps customisées |
scan_kick.cfg |
|
scan_log.cfg |
||
server.cfg |
||
spmaps.pk3 |
||
voicecmds.cfg |
QUELQUES PRECISIONS....

Voici quelques explications non exhaustives sur certains points de la configuration du serveur. Pour davantage d'informations, il vous appartient de consulter les autres pages de ce site.
Quand bien même vous ne trouveriez pas votre bonheur, votre ami Google pourrait toujours vous venir en aide, à moins que vous ne préfériez déposer une requête sur le forum. Votre serviteur assurera toujours le SAV à toute heure. 
Les fichiers mapcycles
D'une manière générale toutes les maps inscrites dans les fichiers se présentent sous cette forme:
map4 g_botsFile "colbot/d.txt" g_motd "^I[Map 4-v1]-^7Next ^y[aptsii]" |
Cette conception est la plus simple. Les seuls éléments qui changent d'une map à l'autre sont, le nom de la map évidement, mais aussi l'appel d'un nouveau fichier bot ( ici d.txt) et le nombre de bots ( ici bot_minplayers "9" ) en fonction de la taille de la map.
Tous les autres CVAR importants sont déjà fixés par le fichier de configuration principal server.cfg et seront appliqués par défaut à toutes les maps de tous les fichiers mapcycle qui suivront.
Cependant si vous désirez les modifier dans une map particulière il faudra le préciser entre les accolades du paragraphe cvars.
Exemple:
map83 g_gametype "ctf" disable_pickup_weapon_AN_M14 "1"bot_minplayers "10"
|
Dans cet exemple les éléments qui ont été modifiés dans la map N° 83 sont scorelimit qui est passé à 40 (par défaut 50 dans server.cfg), g_gametype qui est devenu ctf (dm par défaut dans server.cfg) et pour terminer la suppression de la grenade incendiaire AN_M14 par l'index "1" (autorisée dans server.cfg)
Attention :
Ainsi la map suivante N° 84 devra se présenter comme suit, le scorelimit est repassé à 50, le g_gametype est revenu en DM et la grenade AN_M14 est de nouveau diponible (index 0):
map84 scorelimit "50" g_gametype "dm" |
Un autre exemple :
map162{ Command "map remagenfinal;wait 5;kick allbots" cvars { g_botsFile "colbot/v.txt" g_motd "^I[Map 2-v9]-^7Next ^y[pra6]" dmflags "0" disable_pickup_weapon_US_SOCOM "1"
disable_pickup_weapon_M19 "1" disable_pickup_weapon_silvertalon "1" disable_pickup_weapon_microuzi "1" disable_pickup_weapon_M3A1 "1" disable_pickup_weapon_MP5 "1" disable_pickup_weapon_USAS_12 "1" disable_pickup_weapon_M590 "0" disable_pickup_weapon_MSG90A1 "1" disable_pickup_weapon_M4 "1" disable_pickup_weapon_AK_74 "1" disable_pickup_weapon_SIG551 "1" disable_pickup_weapon_M60 "1" disable_pickup_weapon_M84 "1" disable_pickup_weapon_SMOHG92 "1" disable_pickup_weapon_AN_M14 "1" disable_pickup_weapon_M15 "1" bot_minplayers "10" } } |
Dans la map 162 le dmflags est à 0 ce qui implique qu'en fonction de la hauteur, les sauts pratiqués par les joueurs leur infligeront des blessures qui impacteront leur capital santé.Dans la map 163 qui suivra ces modifications seront annulées, le dmflags reprend sa valeur initiale 8 (pas de dommages dans les sauts) et toutes les armes sont réattribuées (index à 0) comme suit:
map163
{ Command "map pra6;wait 5;kick allbots" cvars { g_botsFile "colbot/w.txt" g_motd "^I[Map 3-v9]-^7Next ^y[mp_pra1]" dmflags "8" disable_pickup_weapon_US_SOCOM "0"
disable_pickup_weapon_M19 "0" disable_pickup_weapon_silvertalon "0" disable_pickup_weapon_microuzi "0" disable_pickup_weapon_M3A1 "0" disable_pickup_weapon_MP5 "0" disable_pickup_weapon_USAS_12 "0" disable_pickup_weapon_M590 "0" disable_pickup_weapon_MSG90A1 "0" disable_pickup_weapon_M4 "0" disable_pickup_weapon_AK_74 "0" disable_pickup_weapon_SIG551 "0" disable_pickup_weapon_M60 "0" disable_pickup_weapon_M84 "0" disable_pickup_weapon_SMOHG92 "0" disable_pickup_weapon_AN_M14 "0" disable_pickup_weapon_M15 "0" bot_minplayers "5" } } |
Un exemple particulier:
Dans le cas du choix de l'option bots.txt, vous pouvez activer la ligne seta g_messageNew "^IHello ^7#z, ^IWelcome aboard !" (suppression du double slash) dans le fichier server.cfg. Attendu en effet, que les mêmes bots restent dans le jeu d'une map à l'autre, ce message ne sera diffusé qu'à la connexion de joueurs rééls. A contrario l'option g_botsFile qui soustend l'introduction de nouveaux bots à la rotation des maps générera un défilé redondant de messages de bienvenue qui se révéleront fastidieux à la longue. A vous de choisir.
Les répertoires svcfg
Considérons que le Sysop ou l'Admin désirent changer la vitesse de déplacement des guerriers. Ils ouvriront le panel Controls du menu principal et cliqueront sur le bouton 340 comme illustré ci-dessous.
Pour mieux comprendre ce qui va se passer il convient de se plonger dans le fichier ingame_sysop.menu encapsulé dans ma version client rocmod_fs_2.2. Rassurez vous, vous n'aurez pas à l'ouvrir, c'est juste dans un but explicatif pour les curieux 
Pour l'exemple on va décortiquer pas à pas l'extrait suivant qui concerne donc l'action sur le bouton de sélection d'une vitesse indexée à 340.
Nota: Toutes les actions incluses dans le fichier ingame_sysop.menu présentent la même syntaxe.
action |
Le fichier extracmds.cfg
Rappel : Le Sysop possède le rcon du serveur, il a donc toute latitude pour en modifier les réglages selon son gré. Toutefois il peut déléguer certains de ses droits aux Admins pour des actions simples dont l'impact ne sera pas de nature à induire des réglages abusifs ou erronés.
Le fichier extracmds.cfg est intimement lié au répertoire svcfg_adm. Ce fichier ne doit en aucun être modifié ou renommé.
Toutes les commandes disponibles pour le Sysop y sont inscrites. Toutefois c'est au niveau du répertoire svcfg_adm que les restrictions seront gérées.
Exemple
Dans le fichier extracmds.cfg on peut lire cet extrait sur le choix possible entre les 2 fichiers de configurations des armes:
//******************* |
Si vous décidez d'interdire aux Admins le droit de sélectionner le fichier extreme.cfg par la commande prévue dans le menu 'Controls' .....
.......vous procéderez comme suit:
ouvrez le répertoire svcfg_adm
ouvrez le répertoire extdata
déplacez le fichier extreme.cfg vers le répertoire 'Classement'. A l'inverse, si vous voulez rétablir la situation d'origine vous replacerez le fichier extreme.cfg dans le répertoire extdata.
Au final vous obtenez ceci dans le répertoire extdata :

Un autre exemple:
Toujours dans le fichier extracmds.cfg le paragraphe réservé aux bots fixant leur nombre, leur éjection (rmvbots) et leur degré d'habileté (botskill) se présente comme suit:
|
|
On suppose que le Sysop ne désire pas que les Admins puissent introduire plus de 10 bots sur le terrain ni qu'ils accèdent à leur degré d'habileté. En conséquence il déplacera les lignes concernées vers le répertoire Classement présent dans le répertoire svcfg_adm / bots.
Les répertoires mobilisés se présenteront donc au final comme suit, les Admins ne pourront introduire qu'un maximum de 10 bots sur le terrain mais ils pourront les éjecter du jeu (rmvbots):
| Répertoire svcfg_adm | Répertoire Classement |
![]() |
![]() |
Remarquesles répertoires 'reset' et 'svrstart' n'ont pas de répertoire 'Classement' car ces commandes doivent toujours être accessibles aux Admins. En effet il est nécessaire qu'à la suite d'une commande malencontreuse, un Admin ait la possibilité de relancer le serveur ou à tout le moins, la map avec des réglages basiques. 
Les 2 fichiers du répertoire pass, relatifs à la validation ou le retrait du mot de passe serveur (ne pas confondre avec le rcon), ont été placés d'office dans le répertoire Classement. En effet un Admin indélicat ou distrait pourrait très bien valider le pass du serveur, rendant toute connexion impossible.

PREMIER DEMARRAGE

Premiers réglages
Allez dans le répertoire rocmod, ouvrez le fichier server.cfg et renseignez impérativement les CVARS suivants, en remplaçant les astérisques:
Nota: pour les besoins de la démo, le server est baptisé : DRAKKAR PC
Création d'un raccourci
Revenir dans le répertoire principal sof2.
Clic droit sur le fichier sof2mp.exe, puis 'créer un raccourci vers le bureau'.
Revenir sur le bureau de Windows
Baptisez ce raccourci à votre convenance comme Serv_SOF par exemple.
Clic droit sur le raccourci puis 'Propriétés'
Dans le champ 'Cible' ajoutez après Sof2mp.exe, un espace puis la ligne suivante :
+set fs_game rocmod +set dedicated 2 +exec server.cfg
A ce stade vous venez juste de créer un serveur LAN, invisible sur le net mais cette configuration temporaire va vous permettre de vérifier si vous avez bien fait les choses jusque la. Pour ce faire cliquez sur le raccourci Serv_SOF et vérifiez que l'affichage de la console ne présente aucun message d'erreur, en rouge dans le bandeau supérieur, et que les bots arrivent normalement sur le terrain.
Déclaration de vos droits de Sysop
Lancez votre SOF2 client et connectez vous à votre serveur. Il sera visible dans la fenêtre 'Local' puisqu'il n'a pas été encore déclaré sur le Net.
Vous arriverez dans le jeu en qualité de client.
Ouvrez la console et entrez le rcon comme suit
rconpassword VotreRcon
Quittez la console et cliquez sur 'Controls' dans le menu principal.
Cliquez sur l'onglet 'Actions'
Sélectionnez en surbrillance votre nom, puis la commande 'Add Sysop' et validez par 'Do it'.
Cette action apparaitra en console:

Vous êtes désormais enregistré comme Sysop et un fichier sysop.cfg a été créé dans le répertoire rocmod du serveur. La mention 'Sysop' apparaîtra également au regard de votre tag, dans le panel des scores.
A noter que ce statut de Sysop reste permanent pendant toute la session de jeu, toutefois chaque fois que vous vous connecterez à nouveau, vous serez tenu d'entrer en console le rconpassword. Cela peut se révéler fastidieux selon la nature alambiquée de votre mot de passe.
Astuce: Ainsi chaque fois que vous vous connecterez à votre serveur vous serez automatiquement authentifié comme Sysop.
Vous remarquerez après ce premier démarrage du serveur, que les fichiers suivants ont été créés:
admin.log dans lequel votre première action a été enregistrée:

logroc.log
scanner.log
sof2mp.cfg
sysop.cfg qui a enregistré votre tag assorti de votre GUIDDU SERVEUR LAN AU WAN

La condition minimum requise pour que votre serveur soit identifiable sur le net, est de bénéficier d'une adresse IP statique, c'est à dire, qui ne change pas dans le temps, suite au bon vouloir de votre provider ou après des reboots de votre box.
En cas d'IP dynamique, vous pouvez toujours recourir au service DynDNS mais cette option ne sera pas développée ici.
Afin de déclarer votre serveur sur le net il convient de modifier la ligne de commande dans la fenêtre 'Cible' du panel de propriétés du raccourci bureau.
Après sof2mp.exe effacez le reste de la ligne +set fs_game rocmod +set dedicated 2 +exec server.cfg
Remplacez ce qui vient d'être effacé par +set fs_game rocmod +set dedicated 2 +set net_port 20110 +exec server.cfg
Ainsi le paramètre net_port a été ajouté, autorisant le serveur à se montrer sur la toile, par l'ouverture du port 20110 de votre PC. Bien entendu vous pouvez choisir une autre valeur de port, attendu toutefois que la plage normalisée pour SOF2 va de 20100 à 20112.
IMPORTANT:
Pour que votre ordinateur puisse communiquer avec l'extérieur il est impératif de déclarer une IP privée pour votre PC (ne pas confondre avec l'IP publique allouée par votre Provider) et d'autoriser l'accès au port 20110 dans le NAT.
Pour ce faire il faudra vous connecter à votre passerelle (box). Les procédures d'une box à l'autre sont assez semblables, toutefois en ma qualité de client chez l'opérateur historique je vous expose la procédure à effectuer sur une LiveBox 5. C'est cadeau 
Ouvrez votre navigateur et tapez dans la barre d'adresse, l'IP de la box, 192.168.1.1 par défaut
Cliquez sur l'icône Réseau.
Cliquez sur l'onglet DHCP. Il se presente sous cet aspect initial:
Analyse:
Dans les baux DHCP dynamiques (j'ai opté pour le protocole DHCP) il y a 5 terminaux connectés sur mon réseau. L'ordinateur sur lequel est installé mon serveur LAN est baptisé Main et son IP est 192.168.1.10. Le but est de déclarer cet équipement en IP statique.
Dans la capture suivante, l'opération est finalisée. L'équipement Main est passé dans les baux DHCP statiques et sera prêt à être identifié sur le Net.
Cliquez ensuite sur l'onglet NAT/PAT. Il se présente sous cet aspect, aucun port n'est ouvert:
Analyse:
La capture suivante montre que l'équipement Main a autorisé l'application SOF à communiquer avec toutes les IP extérieures par le port exclusif 20110.
Votre configuration serveur est terminée. Quand vous lancerez votre SOF client assurez vous que votre serveur n'apparaisse plus en source: Local mais désormais dans la source : Internet.
Si vous cliquez sur le bouton Server Info vous verrez dans le champ address votre IP publique adossée à votre port 20110. Vous êtes donc maintenant parfaitement visible sur le net.
A noter l'icone réseau au regard du serveur DRAKKAR PC et la faible valeur de son ping !
LA VERSION CLIENT ROCMOD FS 2.2

En qualité de manager, il vous la faudra évidemment car elle est nécessaire pour piloter aisement votre serveur, à moins que vous ne la possédiez déjà. Elle est toujours disponible en téléchargement sur le site ici
Ma version client présente toutefois une particularité car elle dispose d'une touche en lien direct vers mon serveur DRAKKAR.

Je suppose qu'il vous serait agréable d'avoir un raccourci identique pour joindre le votre. Je vous propose donc en remplacement, ce nouveau concept:

La touche FAV SERV en remplacement de l'ancienne vous connectera directement à votre serveur.
Mais avant cela, vous devrez opérer comme suit:
Télécharger le fichier favServeur.rar
Après décompactage vous obtenez 2 fichiers:
Placez ces 2 fichiers dans votre répertoire rocmod client
Ouvrez le fichier favserv.cfg et remplacez les X par votre IP publique
Rappel:
Votre IP publique est celle que vous avez lue dans la fenêtre Server Info de votre serveur. Il existe par ailleurs une foultitude de sites sur le Net qui vous révéleront votre adresse publique, comme ici
Un dernier point :
Afin de normaliser et d'apairer les modes serveur / client il est conseillé de placer le fichier client rocmod_fs_2.2.pk3 dans le répertoire rocmod de votre serveur.
Par ailleurs, au plan de la sécurité, je conseille vivement de:
Utiliser un rcon complexe avec caractères minuscules et majuscules, chiffres et caractères de ponctuation.
Eviter de nommer votre fichier de configuration serveur de l'appellation traditionnelle server.cfg. Ne pas perdre de vue que ce fichier renferme votre rcon. J'ai utilisé ce terme générique dans ma doc pour faciliter la compréhension mais si un hacker tente une attaque informatique par force brute, il commencera par viser les fichiers archi connus comme server.cfg, start.cfg, config.cfg, etc...

Attention toutefois si vous choisissez cette option nominative, il conviendra de renommer les fichiers server.cfg dans les répertoires svcfg_adm/svrestart et svcfg_sys/svrestart, dans la ligne de commande du raccourci bureau, ainsi que dans le fichier extracmds.cfg.
Bonne chance dans l'élaboration et l'exploitation de votre serveur. 
