Documentation
Toutes les pages
Paramétres  -  par FSMOD
F O V 



Le CVAR FOV ( Field Of View ) offre la possibilité de modifier votre profondeur de champ visuel.
Il peut s'apparenter à un zoom et malgré son degré de grossissement peu élevé, il en subira néanmoins les inconvénients, à savoir une sensation de déplacement plus lent et l'impression d'un jeu "mou". Il peut toutefois être utile dans des maps de grandes dimensions.

A paramétrer comme suit dans votre fichier de configuration:

set cg_fov  " X "

X doit être compris entre 80 et 100
100 pour la profondeur de champ maximale.
80 est la valeur par défaut fixée par le jeu.

Il est possible de modifier la valeur en mode console en entrant simplement la ligne cg_fov suivie de la valeur désirée.
Dans l'exemple ci-dessous la valeur FOV a été définie à 90 par la ligne cg_fov 90
une nouvelle saisie de cg_fov affiche le résultat et rappelle la valeur par défaut ainsi que la plage autorisée.
 
consolchange.jpg

Il est également possible de modifier la valeur FOV par une boucle VSTR incluse dans votre fichier de configuration, comme suit:

 

   // change FOV  bind touche b

  bind b "vstr fov"

  set fov "cg_fov 80;bind b vstr fov1"
  set fov1 "cg_fov 90;bind b vstr fov2"
  set fov2 "cg_fov 100;bind b vstr fov"

 


A chaque appui sur la touche b le CVAR  FOV prendra une valeur différente, de 80 à 100 par palier de 10.

Et pour terminer voici trois vues qui illustrent ce bind.


fov80.jpg
 

fof90.jpg


fov100.jpg


puce2.gif NOTA: ma version ROCMOD autorise une plage de FOV de 60 à 120.

-=smile=-
Publié le 05/02/2019 17:22  Prévisualiser...   Imprimer...   Haut
Recul des armes  -  par FSMOD
RECUL DES ARMES

 
Le recul des armes est fixé par le fichier SOF2.wpn encapsulé dans le répertoire EXT_DATA du serveur.
Ce répertoire est initialement intégré dans le fichier therest.pk3.
Pour les besoins de la version GOLD, il a été modifié par le fichier update101.pk3 puis finalement par le fichier update102.pk3.
Pour un paramétrage plus aisé, le répertoire EXT_DATA et son contenu a été recréé dans le répertoire lié au mode sur le serveur
.


Le recul de l'arme, surtout lors de rafales longues, affecte 2 paramètres :

  • dérive du canon vers le haut
  • dérive du canon de la gauche vers la droite.

 

Ces 2 valeurs sont fixées par l'instruction mp_kickAngles.
Voici un extrait du fichier SOF2.wpn concernant une partie des paramétres du bloc "attack" du MP5.

Tout d'abord il faut remarquer qu'il existe également une instruction kickAngles.
Il convient à ce stade de préciser que les valeurs affectées aux instructions ayant un préfixe mp sont prioritaires sur ceux ayant la même racine.
Ainsi mp_kickAngles est prioritaire sur kickAngles.

Les préfixes mp ont été ajoutés pour adapter le jeu en mode multiplayers.

         muzzleFlash                     "effects/muzzle_flashes/mflash_silencer_mp5"
        muzzleSmoke                  "effects/muzzle_flashes/smoke_m4"
        3rdPersonMuzzleFlash    "effects/muzzle_flashes/mflash_silencer_mp5_world"
        ShellCasingEject             "effects/shell_brass_small"
        EjectBone                        "ejection_mp5"
        inaccuracy                       ".00"
        maxInaccuracy                ".0"
        range                                "8000"
        volume                              "0.75"
        kickAngles                       "1 1.7 -2 1"
    
        mp_maxInaccuracy              "1.5"
        mp_inaccuracy                      ".19"
        mp_damage                          "130"
        mp_animFire                        "TORSO_ATTACK_MSG90A1_ZOOMED"
        mp_extraClips                      "10"

        mp_kickAngles                     "1 1.7 -2 1"
        mp_range                             "9000"
        mp_ammoType_outfitting    "9mm|mp5"
        mp_fireDelay                        "-15"


Les 4 paramètres de mp_kickangle représentent respectivement:

  1. - valeur minimum de la dérive du canon vers le haut
  2. - valeur maximum de la dérive du canon vers le haut
  3. - valeur minimum de la dérive gauche droite du canon
  4. - valeur maximum de la dérive gauche droite du canon

A noter que les valeurs minimum ne sont pas exploitées par le programme, seules les valeurs maxi sont interprétées.


Pour annuler les dérives de l'arme il suffit de mettre toutes les valeurs x, y à zéro comme suit.

mp_kickAngles            "0 0 0 0"

Cette opération peut être répétée pour toutes les armes.

Toutefois, vous aurez peut-être constaté que, malgré ce paramétrage côté serveur, votre arme reste toujours affectée d'un léger tressautement.
Ce n'est pas génant en soi, toutefois pour ceux qui veulent une arme parfaitement stable il suffit de mettre également à zéro les valeurs de mp_kickAngle côté client.


 

-=smile=-
Publié le 05/02/2019 17:21  Prévisualiser...   Imprimer...   Haut
De son utilité  -  par FSMOD

La commande CONDUMP

J'ai déjà évoqué dans la rubrique trucs et astuces/création d'un log client la manière d'utiliser la commande condump à dessein de générer un log client dans le but de conserver une trace des chats échangés entre les protagonistes du jeu, conférez ICI

Je compléterai ce développement en précisant l'importance de cette commande pour tout utilisateur avisé désireux de vérifier une parfaite corrélation entre les fichiers client et ceux du serveur, détecter d'éventuels conflits ou pointer vers des fichiers douteux ou corrompus. Cette commande représente un outil nécessaire pour qui sait en user.

Je n'ai pas la prétention de dresser une liste exhaustive de toutes les anomalies possibles, tout d'abord pour la raison simple que je ne les connais pas toutes pour ne les avoir pas encore rencontrées aussi quelques exemples suffiront. A noter que certaines anomalies ne sont pas forcément synonymes de plantage mais leur détection et leur correction ne peuvent être que favorables pour le jeu.

Dans le but d'utiliser condump pour détecter des discordances entre client et serveur, il convient toujours de lancer la commande dès la connexion au serveur.

calendard.gif LES EXEMPLES

1suivant.gif   Lors du codage de ma version je me suis souvent servi de condump pour mettre en évidence des fautes de syntaxe souvent indétectables. Ce fut le cas dans l'élaboration du très long fichier ingame_sysop.menu. Le simple oubli d'une accolade fermante dans un groupe itemDef visible dans l'extrait suivant:

nobrace.jpg

a généré le texte suivant dans le fichier log.txt, issu de la commande condump:

ERROR: ui/ingame_sysop.menu, line 840: unknown menu item keyword itemDef
ERROR: ui/ingame_sysop.menu, line 841: unknown menu item keyword {

 

Sans cette annonce l'erreur n'aurait pas été décelée car même une relecture minutieuse du fichier ingame_sysop.menu n'a pas révélé cette lacune. Cette omission d'un détail graphique n'était en rien préjudiciable dans l'activation du jeu, mais cela n'a pas toujours été le cas et ce gros fichier a été long a mettre au point dans lequel certaines erreurs amenaient un plantage systématique.

Pour illustrer ce propos voici les images qui résument cette petite avarie. Cherchez l'erreur !

Omission de l'accolade fermante Correction de l'accolade fermante
nodraw.jpg draw.jpg


2suivant.gif  Dans l'exemple qui suit on reste dans le domaine de la mise au point du programme. Dans le recodage des sources côté serveur concernant les armes j'avais omis côté client une configuration liée à la définition du shotgun. Cette définition non conforme au fichier sof2.inview natif a généré le texte suivant:

CG_RegisterWeapon: Unable to load weapon world model:
models/weapons/Mossberg-590/m590.glm

Une fois de plus ce "bug" n'a en rien perturbé le fonctionnement du shotgun car le programme dans son infinie sagesse a repris par défaut les configurations de base fixées dans les fichiers systèmes tels que therest.pk3 et les update101.pk3 et update102.pk3 qui ont suivi l'évolution de la version gold. L'ajout d'un répertoire mossberg adéquat a résolu le problème.

moss.jpg


3suivant.gif  Dans l'exemple suivant la commande condump indique la balance entre les fichiers stockés sur le serveur et vos propres fichiers. Très utile pour orienter les recherches en téléchargement de maps absentes de votre PC. Tous les managers de serveur ne fournissent pas toujours un lien très clair vers un pack customisé.

WARNING: You are missing some files referenced by the server:
rocmod/rocmod_2.2v_adm.pk3 (local file exists with wrong checksum)
base/xmas-bbc_xmasitaly.pk3
base/mp_cargo1.pk3
base/inferno2003.pk3
You might not be able to join the game
Go to the setting menu to turn on autodownload, or get the file elsewhere

Explications dans l'ordre d'apparition:

Mon fichier rocmod_2.2v.pk3 possède un checksum différent de celui du serveur.  Il est vrai que d'une mise au pont à l'autre du programme j'ai quelque fois raté le upload de la dernière correction vers le serveur. A noter que cette discordance n'a pas influé le jeu car le serveur est réglé en mode IMPURE. Dans le cas d'un mode PURE, j'aurais été recalé LOL.

Les maps xmas-bbc_xmasitaly, mp_cargo1 et inferno2003 sont installées sur le serveur mais pas de mon côté. Rien de bloquant bien entendu sauf si le lancement de l'une d'elle aurait pour conséquence de m'éjecter du jeu.

D'ailleurs le serveur m'indique gentiment que je suis susceptible de ne pas pouvoir jouer et m'invite à passer mon autodownload sur ON. Ce qui ne sera pas suivi d'effet attendu que le download n'est pas autorisé sur mon serveur.

-=tongue=-

Publié le 05/02/2019 17:20  Prévisualiser...   Imprimer...   Haut
cl_timenudge  -  par FSMOD
Le CVAR cl_timenudge
 

Pour commencer, je dois d'abord évoquer l'une des principales caractéristiques de SOF2 qui rend ce jeu FPS très particulier par rapport à tous les autres qui exploitent le même moteur, Quake3. Hélas, la plupart des joueurs ne savent même pas que cette caractéristique existe et encore moins quelle est sa fonction. Il s'agit du CVAR cg_antilag côté client, intimement associé au CVAR g_antilag côté serveur.

L'antilag est codé d'origine dans les sources ROCMOD et ses constantes et algorithmes ne sont pas paramétrables par le Sysop.
En revanche le CVAR cg_antilag peut être validé (1) ou invalidé (0) par le client. Il est toujours fortement recommandé de valider cg_antilag.

Son but essentiel est de tenter d'aplanir les différences de latence entre les joueurs. Cela signifie que vous ne verrez jamais un joueur ayant un ping de 20 tuer systématiquement un joueur avec un ping de 130, sans que ce dernier n'ait une chance de réagir, sauf si vous utilisez un cl_timenudge avec une valeur négative, mais ce volet sera évoqué plus tard.
Cela signifie qu'un joueur au faible ping aura la sensation de s'acharner sur un joueur au ping élevé sans pour autant que celui-ci morde la poussière, alors que lui même devient très vulnérable et se retrouve au tapis.
 
Pour faire plus simple, cette sensation résulte du fait que le joueur au faible ping vit dans ce cas plus longtemps qu'il ne devrait, car l'antilag égalise la différence de ping. Ainsi le joueur au faible ping doit faire de son mieux et devra attendre que le joueur au ping élevé fasse lui-même de son mieux. Si le joueur au ping élevé fait preuve d'une meilleure adresse, le joueur au faible ping se fera tuer, avec toutefois un léger retard.

L'antilag est donc en fait un égaliseur temporel, et c'est même la notion fondamentale du ping.
Des différences de ping très importantes peuvent être ainsi aplanies et cette caractéristique de SOF2 permet à tout joueur, de s'assurer des tirs au but efficients, pour peu que son ping, même élevé, reste stable dans le temps.
Tout cela est possible car le serveur conserve également une mémorisation de chaque trajectoire des joueurs et vérifie pour ses calculs où la cible est sensée se trouver pour être visible sur l'écran de l'attaquant au moment de l'action. Bien entendu, comme cela a été évoqué plus haut, il est absolument nécessaire que la connexion soit stable. En cas contraire l'affichage sur votre moniteur ne correspondra pas avec les prévisions de calculs du serveur.


Cela nous amène à aborder le plus perfide de tous les CVAR, à savoir cl_timenudge. A l'opposé de l'antilag,
cl_timenudge est codé non pas dans le mode de jeu mais dans l'exécutable sof2mp.exe. Il est donc commun à tous les jeux exploitant le moteur Quake3.
Son principe fondamental se fonde sur l'exploitation de 2 instantanés consécutifs afin d'interpoler les mouvements du joueur.
La plupart des serveurs sont cadencés par défaut à 20 Hz, ce qui signifie qu'un paquet de données est envoyé toutes les 50 ms.
Le serveur envoie donc un paquet au temps t1, contenant un instantané de tous les éléments de la map, y compris les joueurs, puis, au temps t2, soit 50ms plus tard, le serveur envoie un autre instantané, puis un autre au temps t3 et ainsi de suite.
Lorsque le client a reçu les 2 premiers paquets (au temps t1 et t2), il effectue l'interpolation des autres joueurs dans le jeu, de leur première position au temps t1 vers leur nouvelle position au temps t2.
La seconde interpolation sera calculée entre les temps t2 et t3 et ainsi de suite.
Par défaut
cl_timenudge est fixée à 0, ce qui signifie que l'écart de 50ms entre 2 instantanés sera respecté.
Par contre si le client affecte une valeur négative à
cl_timenudge le temps d'interpolation sera réduit d'autant.
Par exemple si l'on a
cl_timenudge -20, cela voudra dire que l'interpolation sera réduite de 20ms.
A l'extrême, le temps de l'interpolation peut être nul dans le cas où
cl_timenudge -50.

puce2.gif Mais creusons le sujet un peu plus.

Lorsque
cl_timenudge a une valeur négative, toutes les entités autres que les joueurs sont tout simplement extrapolées plus tôt. Le terme "toutes les entités" englobe tous les éléments de la map qui sont sensés être fixes. La transmission de ces entités statiques ne nécessite qu'un seul paquet d'informations pour l'extrapolation, ce qui simplifie le calcul. Ces entités devraient être traitées plus tard en raison de la latence intrinsèque, mais compte tenu d'un cl_timenudge négatif tout ce que vous verrez sur votre moniteur, à l'exception des joueurs, sera le reflet exact de la réalité du terrain. Cela arrivera simplement un plus tôt qu'il ne devrait être avec un cl_timenudge nul.

Lorsque les mouvements des joueurs vont être traités par la fonction trajectoire de SOF, l'origine de sortie sera identique à l'origine d'entrée puisque l'interpolation des joueurs n'aura pas encore été exécutée au temps t2. Ainsi ils ne se déplaceront que quand le nouvel instantané (t2) arrivera.
Ce déplacement devrait être brutal et donnerait l'impression que les joueurs se meuvent à 20 FPS (*) alors que tout le reste, comme le travelling des décors de la map, resterait fluide.
C'est là que le CVAR antilag intervient. Il va intégrer les joueurs dans les autres éléments de la map de manière à ce que la fonction trajectoire puisse les extrapoler correctement. De cette façon, avec un
cl_timenudge négatif, les joueurs vont être extrapolés comme toutes les autres entités de la map.
Les erreurs d'extrapolation peuvent toutefois créer des latences fugaces qui donneront l'impression que la cible se déplace par saccades, surtout si
cl_timenudge a une valeur fortement négative. A noter que les autres joueurs ne vous verront pas affecté de ces soubresauts.
cl_timenudge négatif est particulièrement efficace sur une cible en déplacement radial.

puce2.gif Conclusion

En adoptant un
cl_timenudge négatif dont la valeur est généralement fixée empiriquement par ceux qui affectent ce CVAR, la dernière position des adversaires est affichée plus rapidement à l'écran et offre ainsi une meilleure chance de tir au but, avant que la cible puisse s'esquiver.
Le CVAR
cl_timenudge, réminiscence de quake3, ne devrait jamais être paramétré négativement, dans la mesure où la fonction antilag, propre à SOF2, offre une parfaite équité entre les joueurs ayant des pings parfois très différents.
Une bataille de désignation est souvent observée sur les forums dédiés où certains collent une étiquette délictueuse sur
cl_timenudge alors que d'autres s'en défendent et la considèrent comme un outil indispensable pour compenser les fluctuations de leur débit internet.
Pour ceux qui voudraient bannir ce CVAR équivoque de leur serveur, il ne reste que la solution désuète d'activer punkbuster en modifiant toutefois le fichier de configuration et d'y introduire ou modifier la ligne suivante:

pb_sv_cvar cl_timenudge IN 0 0

Pour ma part je n'active jamais punkbuster sur mon serveur, bien que considérant
cl_timenudge comme un certain préavis de tir qui confère à son utilisateur un pseudo avantage qui, au demeurant, n'est pas toujours avéré. Je l'ai testé sur quelques serveurs dont le mien et je n'ai pas vraiment vu d'amélioration sensible dans le gameplay. Avec les faibles performance de mon flux internet, j'y ai plutôt vu des nuisances.

ROCMOD à la faculté de porter à la connaissance de l'admin les valeurs de CVAR.

N'en déplaise à ceux que j'ai déjà identifiés. Je ne leur inflige aucun kick et encore moins un ban, juste un petit rappel de la chose interdite.
 
NB: les termes interpoler et extrapoler sont très significatifs dans le texte. Ne confondez pas leur acception.  

(*)  1 frame ou capture toutes les 50 ms soit 20 Frames Par Seconde.



-=eek=-
Publié le 05/02/2019 17:19  Prévisualiser...   Imprimer...   Haut
Les bons réglages  -  par FSMOD
LES BONS REGLAGES ET CE QU'ILS PERMETTENT
Voici une petite galerie non exhaustive de videos, qui illustrent les possibilités offertes par de bons réglages dans des déplacements particuliers au sein de certaines maps standards et customisées de SOF2.
Je rappelle que ces réglages portent essentiellement sur les valeurs suivantes de certains CVAR que je vous invite vivement à utiliser si vous jouez sur mon serveur:
  • com_maxfps 200
  • snaps 50
  • rate 25000

Parmi ces 3 CVAR, le plus important est com_maxfps qui doit être impérativement fixé à 200 afin de vous permettre de vous affranchir des sauts les plus hauts. Par ailleurs il conviendra de paramétrer votre bind affecté au high jump sous la forme suivante:

bind SPACE "+strafe; +moveup; wait 4; -strafe; -moveup; wait 4; +strafe; +movedown; wait 4; -strafe; -movedown"

ATTENTION:  les possibilités offertes par ces réglages ne s'apparentent en aucune manière à des scripts malsains visant à tricher. En effet, dans la mesure où chaque belligérant sur le terrain a le choix d'agréer ces réglages, celui qui préférera ceux d'un autre temps, ne devra pas se plaindre, ni accuser les autres joueurs de tricher. Aussi l'inviterai-je vivement à aller barboter ailleurs. biggrin

Je précise enfin que ces prouesses de saut sont avant tout autorisées par le serveur dont les réglages priment sur ceux du client. A ce titre le CVAR serveur g_gravity doit être inférieur ou égal à 500. Toute valeur supérieure limitera la hauteur des sauts. Sur mon serveur g_gravity est plafonné à 500 sur toutes les maps. L'accession aux points élevés vous est ouverte !

Cliquez sur les images


On commence avec une map particulière mp_pra1 qui offre une possibilité de sky walking. Je n'ai jamais réussi à savoir si cet effet avait été voulu par le programmeur où s'il s'agissait d'un bug incontrôlé (glitch). En tous cas ce perchoir céleste offre un indéniable avantage!

A noter que le chemin pour descendre et le même que pour grimper.

mp_pra1.jpg


mp_hk1

mp_hk1.jpg

mp_hk2
mp_hk2.jpg


mp_kam2

mp_kam2.jpg

mp_hos1

mp_hos1.jpg


mp_air1

Encore un sky walking partiel!

mp_air1.jpg


mp_jor1

  

mp_jor1.jpg


mp_kam5

mp_kam5.jpg


mp_shop2

mp_shop2.jpg


mp_kam1

Il y a parfois des coins transparents...... tongue

mp_kam1.jpg

mp_italy

Une des meilleures map pour le roofing wink

mp_italy.jpg

mp_shop69

mp_shop69.jpg

VOK

Un point de télétransport assez original, il fallait le trouver. Il y en a un autre plus évident et plus connu.....

vok.jpg

Et pour finir la map mp_pra2 qui présente un curieux dessin derrière une porte de cave, dessin qui n'a aucune utilité dans le jeu mais qui rappelle un peu les easter eggs que les programmeurs déposent parfois dans leurs oeuvres, notamment chez Microsoft. 

mp_pra2.jpg


Il existe encore une foultitude de maps qui offrent des surprises et des trucs bizarres. Un bon moyen de les découvrir est de lancer votre propre serveur LAN sans les bots et de fureter dans les maps de votre choix le temps qu'il vous plaira.

 

-=frown=-

Publié le 05/02/2019 16:58  Prévisualiser...   Imprimer...   Haut
Installation  -  par FSMOD

Installation Client

J'ai souvent constaté que certains joueurs rencontraient des problèmes de connexions aléatoires sur les serveurs, quelque soit le mode utilisé. Malgré des configurations qui leur semblent correctes et des liaisons ADSL performantes leur connexion est instable voire impossible.

A l'évidence ces problèmes sont essentiellement liés à leur propre configuration, à l'usage de fichiers corrompus ou conflictuels ou encore à une perte ou altération de leurs propres réglages. Trouver l'origine n'est pas toujours évidente surtout pour un joueur parfois excellent dans le jeu mais pas très à l'aise avec les manipulations de fichiers.

La procédure la plus simple est de réinstaller le jeu de A à Z et de concevoir une configuration claire et saine.

C'est parti

En premier lieu il est judicieux de garder votre ancien répertoire qui devrait se situer à C:/Program Files/Soldier of Fortune II - Double Helix et qui pourrait malgré tout contenir quelques fichiers à récupérer comme des pack sons par exemple.

calendard.gif Création du répertoire principal SOF2

Sur la partition de votre choix créer un répertoire SOF2 et y décompacter les fichiers provenant de vos sources d'installation, internet ou DVD, double helix et patch gold.

jaquette.jpg

Le répertoire SOF2 doit contenir à minima les répertoires et fichiers suivants:

sof2_rep.jpg

Le répertoire BASE doit contenir le répertoire et fichiers suivants:

base_rep.jpg

Le répertoire MP doit normalement être vide. Récupérez le fichier sof2key du répertoire MP de votre ancien répertoire de jeu "C:/Program Files/Soldier of Fortune II - Double Helix" et placez le dans le nouveau. 

Quant au répertoire PB, il ne présente pas un grand intérêt dans la mesure où la grande majorité des serveurs ne l'activent plus. Il ne sera donc pas nécessaire de l'installer

calendard.gif Création du répertoire propre au aux mode utilisé.

On ne s'intéressera qu'au plus utilisé.

Créer un répertoire ROCMOD et y placer le fichier client rocmod_2.2v_client.pk3

Pour d'autres modes il vous appartiendra de télécharger les fichiers client nécessaires sur le net et selon vos choix vous pourriez avoir un répertoire SOF2 ressemblant à l'arborescence suivante:

sof2_modes_rep.jpg

calendard.gif Premiers paramétrages

Avant d'attaquer il est bon de créer un raccourci du fichier sof2.exe depuis le répertoire principal d'installation SOF2 et de le déposer sur le bureau.

raccourci.jpg icone_raccourci.jpg

screen.png Lancer le jeu en cliquant sur le raccourci.

Effectuez les réglages de vos binds en affectant une action à une touche particulière. Réglez les sons et effets. Définissez vos paramètres video.

dep_controls.jpg

IMPORTANT: dans l'onglet NETWORK SETTINGS, sélectionnez principalement les options suivantes:

  • Rate: DSL
  • Max FPS: 115
  • Allow Download: No

no_download.jpg

Ce sont les critères minima indispensables pour accéder au serveur dans les meilleures conditions. RATE et FPS pourront être réglés ultérieurement à des valeurs plus élevées. Pour mémoire l'option DSL correspond à un rate de 9000, généralement très insuffisant pour l'ADSL.

Ce premier lancement générera le fichier sof2mp.cfg, chargé de mémoriser tous vos réglages. Attendu que vous n'avez pas encore connecté un serveur, sof2mp.cfg sera uniquement stocké dans le répertoire MP.

mp_rep_sofcfg.jpg

suivant.gif Connectez un serveur, le mien par exemple. Vous vous apercevrez que l'affreuse couleur verte originelle de SOF2 laissera place à la nouvelle interface bleue de mon mode, attestant de votre arrivée sur mon serveur. Comme il s'agit de ROCMOD, un fichier sof2mp.cfg sera également créé dans votre répertoire ROCMOD et sera identique à celui précédemment généré dans le répertoire MP.

Il en sera de même si vous connectez ensuite un serveur ROCmod ou tout autre serveur exploitant un mode différent. Il y aura au final un même fichier sof2mp.cfg dans chaque répertoire afférent à un mode différent.

A ce stade on peut considérer que SOF2 est opérationnel et ne devrait plus présenter de problèmes. Vous pouvez connecter les serveurs et leur mode associé en toute quiétude. Cependant on va continuer par quelques compléments et améliorations.

calendard.gif  autoexec.cfg et fichiers annexes

Personnellement je ne souscris guère au fait que SOF2 enregistre les réglages en cours de jeu et les mémorise dans un fichier sof2mp.cfg. Ce fichier est volatile par nature dans la mesure où seul SOF2 peu le générer et le modifier. A qui n'est-il pas déjà arrivé de perdre tous ces réglages suite à un plantage du jeu. L'idéal est de pouvoir conserver ces propres références dans des fichiers incorruptibles et de pouvoir les appeler à tout moment.

Principe:

Vous créez un fichier autoexec.cfg placé dans votre répertoire MP.

Vous créez dans autoexec.cfg un fichier principal cfg.txt

Vous recopiez dans cfg.txt tout le contenu de votre fichier sof2mp.cfg.

A chaque lancement de SOF2 le fichier autoexec.cfg sera lu et le fichier cfg.txt exécuté. Si vous perdez vos données en cours de jeu ou si vous vous êtes un peu perdu dans leurs valeurs, il suffit de se reconnecter et toutes vos valeurs seront récupérées.

D'autres fichiers txt pourront être créés, chacun ayant une attribution particulière dans la gestion des paramètres, comme les sons, les mouvements, etc.

L'avantage de ses fichiers est qu'il permet de créer sur plusieurs lignes de véritables instructions sous forme de routines alors que les simples fichiers sof2mp.cfg n'autorisent qu'une ligne par instruction.

calendard.gif Les sons

Cette installation ne serait pas complète sans la gestions des binds affectés aux sons.

Le manager de serveur ou le leader d'un clan digne de ce nom propose généralement un pack renfermant des sons sous la forme d'un fichier pk3. Après téléchargement sur le site ou forum dédié ce fichier pk3 sera installé dans le répertoire du mode.

calendard.gif Les maps

Tel que votre SOF2 est configuré vous ne pourrez accéder qu'aux serveurs qui tournent sous des maps MP ou SP standard.

Si vous désirez d'autres maps il faudra les installer dans le répertoire BASE de votre SOF2.

Attention toutefois à ne pas y déposer trop de maps au risque de planter votre jeu. Faîtes le ménage de temps en temps et ne laissez que celles proposées dans le cycle du serveur.

calendard.gif Les cochonneries annexes

On terminera par ce qui représente le plus souvent l'origine de votre problème, j'ai nommé les fichiers addons pk3 dont raffolent certains joueurs pour agrémenter et RALENTIR leur jeu, sensés offrir certains effets visuels et sonores. Le net en regorge sans compter les scripts douteux pouvant parfois s'apparenter à de la triche.

A proscrire systématiquement !

Ah, un dernier point, les fichiers PK3 sont à installer et à utiliser en l'état. NE PAS LES DECOMPACTER DANS LE JEU.

Bon courage

-=biggrin=-

Publié le 05/02/2019 16:57  Prévisualiser...   Imprimer...   Haut
Fichiers arena  -  par FSMOD
FICHIERS ARENA

suivant.gif  Il vous est peut-être arrivé de voir ce genre d'information dans votre console sans avoir pu identifier la commande qui en est à l'origine.
Ce problème m'est arrivé récemment et bien qu'il ne semblait pas influencer le jeu, j'ai quand même voulu en connaître la cause. En aucun cas j'ai soupçonné un bug inhérent à ma version client ROCMOD, dans la mesure où il est apparu bien après son installation. Malgré tout j'avoue avoir longtemps cherché avant de mettre le doigt sur l'avarie.

console.jpg


La première ligne Missing { in info file m'a déjà permis, dans une première approche, d'être convaincu que le problème se situait dans un fichier texte dans lequel une accolade ouvrante ({) faisait défaut. Restait juste à trouver lequel parmi les centaines qui trônent dans SOF2.

Par un coup de chance j'ai pu constater que ces informations apparaissaient en console uniquement lorsque j'activais les onglets Admin ou Vote dans le bandeau de menus.

menu.jpg


Chaque onglet appelant un fichier menu spécifique, j'ai donc cherché un élément commun présent dans les fichiers ingame_sysop.menu et ingame_callvote.menu.

J'ai retenu la ligne uiScript loadVoteArenas.

Et une certaine lumière m'est apparue, non pas celle de la vierge, mais plutôt la petite luciole interne qui s'exclame par un "Bon dieu mais c'est bien sûr".
Ce script permet d'extraire les informations contenues dans le fichier arena encapsulé dans le fichier pk3 de chaque map. Ces informations autorisent ensuite l'affichage sous forme de liste, des maps contenues dans le répertoire BASE du client.

Donc l'erreur se situait dans plusieurs fichiers arena. Je dis plusieurs car je me suis rendu compte par la suite que les 3 lignes
Unexpected end of info file qui apparaissaient dans ma console, concernaient 3 maps. Sur les 350 que j'héberge sur mon ordi je m'estimais heureux de n'avoir que 3 canards boiteux.smile

Comme je le répète, ces erreurs n'ayant aucune incidence sur le jeu, je me suis juste amusé a chercher une map qui présentait un tel défaut.

Et j'ai trouvé celle ci :
mp_ics-02.pk3


Inspection avec Pakscape:

infofile1.jpg



En éditant le premier fichier ics_bank2.arena, j'ai découvert cette horreur:

infofile2.jpg

On s'aperçoit qu'il y a 2 accolades fermantes mais une seule ouvrante., or je rappelle qu'il doit toujours y avoir autant d'ouvrantes que de fermantes.
Le concepteur de cette map a vraisemblablement connu un moment d'égarement car le libellé convenable doit être le suivant:

{
map "ics_bank2"
longname "ICS - Bank of France"
type "dm tdm elim inf ctf dem"
}


J'ai abandonné la recherche des 2 autres maps car beaucoup trop fastidieux.

suivant.gif  Un autre cas très intéressant est celui de la map mp_farm dont un ami m'a informé du problème rencontré. Alors qu'il sollicitait une action sur les bots par le biais de l'onglet Admin, le CVAR évoqué plus haut uiScript loadVoteArenas inscrit dans le fichier ingame_sysop.menu lui retourna en console le groupe suivant :

mp_farm_cons.jpg

Cette information révèle 2 problèmes dans le même fichier arena:

  1. Il manque une accolade ouvrante : missing {
  2. Le fichier arena lui-même présente une taille prohibitive pour le système

Si l'erreur N°1 peut être facilement interprétée on peut s'interroger sur la taille du fichier qui normalement ne dépasse guère 5 courtes lignes.

Après décompactage du fichier mp_farm.pk3 le répertoire scripts nous livre entre autre, le fichier arena

script_rep.jpg

Et la surprise est de taille à l'ouverture du fichier mp_farm.arena avec un simple éditeur de texte:

word_txt.jpg

EXPLICATION: Le créateur de la map a tout simplement écrit le fichier sous Word, l'a sauvegardé dans l'extension doc propre à ce pur produit Microsoft puis l'a renommé en extension arena. Et le tour fut joué !

Grossière erreur alors que le libellé correct dans un vrai fichier texte renommé en extension arena aurait du être de la forme suivante:

{
map "mp_farm"
longname "Farm Manor"
type "dm tdm elim inf "
}

suivant.gif  En résumé, ces erreurs d'écriture ne présentent pas pour la plupart, des conséquences rédhibitoires, voire critiques pour le système mais peuvent certainement engendrer des doutes, à juste titre, dans l'esprit de leur utilisateur.

Tout de même on peut s'interroger sur la compétence de certains concepteurs de map qui, malgré d'évidentes aptitudes à l'art graphique et à l'imagination picturale, n'en demeurent pas moins de piètres codeurs dans de simples scripts dédiés.


-=eek=-
Publié le 05/02/2019 16:29  Prévisualiser...   Imprimer...   Haut
Masterserver  -  par FSMOD
Panne du Masterserver

Ravensoft, créateur de SOF2, a déjà plusieurs fois par le passé, suspendu l'hébergement du jeu sur son serveur maître, pour des raisons jamais évoquées. Il est fort probable que cela se reproduira encore dans le futur pour peut-être aboutir un jour, à une mort définitive. Ne pas oublier, à l'heure où je rédige ces lignes que SOF2 entre dans sa 17ème année.

La conséquence fâcheuse de cette avarie entraine une liste vide sur votre SOF client si d'aventure, vous effectuez un rafraîchissement ou une nouvelle recherche de serveurs. Et c'est sans espoir de les récupérer tant que Ravensoft n'a pas décidé de relancer son Masterserver.

Pour pallier à ce problème et conserver votre précieuse liste de serveurs et des favoris associés, il suffit au préalable, d'effectuer une sauvegarde du fichier servercache.dat qui se trouve dans le répertoire principal SOF2. Bien entendu, comme il n'y a aucun préavis de la part de Ravensoft, il est nécessaire d'effectuer cette sauvegarde le plus tôt possible et de la conserver dans un répertoire spécifique.

NOTA : Le fichier servercache.dat, de type binaire, présente toujours le même poids (496k) quelle que soit la liste des serveurs, vide ou pleine.

Durant la panne de Ravensoft, il suffit de remplacer l'ancien servercache.dat par votre sauvegarde et vous récupérerez ainsi tous vos serveurs.

Bien entendu les serveurs streamés par Gameserver seront toujours visibles sur le net, et si vous avez définitivement perdu votre servercache.dat, il vous restera toujours la possibilité de saisir les IP dans vos favoris.


 
-=smile=-
Publié le 05/02/2019 16:28  Prévisualiser...   Imprimer...   Haut
r_gamma  -  par FSMOD
Erreur r_gamma


Il est parfois utile et judicieux, dès le lancement de SOF, d'ouvrir la console pour éventuellement y déceler des messages d'erreur.
Ils ne conduisent pas forcément à un plantage du jeu, mais la connaissance de leur origine et de leur remède peuvent vous prémunir d'avaries plus pénalisantes.

Le CVAR r_gamma en fait partie.

Si vous ouvrez votre console dès le lancement de SOF il peut vous arriver de lire ceci:

gamma.jpg


C'est la ligne SetDeviceGammaRamp failed qui retiendra notre attention.
Pour pousser plus loin le lever de doute, cliquez sur OPTIONS/MISC.SETUP et actionnez votre curseur BRIGHTNESS.

Ouvrez la console, vous devriez obtenir ce qui suit:

gamma2.jpg


La preuve est faîte, votre carte graphique ne supporte pas le réglage interne fixé par la valeur du CVAR r_gamma. En fait cette erreur apparaît dès que le r_gamma dépasse la valeur 1.
Or dans la majorité des cas, afin d'obtenir une image à la fois contrastée et suffisamment lumineuse, une valeur de 1.5 à 1.7 est couramment usitée.

Cette valeur est mémorisée dans votre fichier sof2mp.cfg du mod utilisé. Elle peut bien sûr et c'est préférable, être inscrite dans un fichier txt lancé par l'autoexec.cfg.
Dans les deux cas, comme cette valeur dépassant 1 est lue au démarrage de SOF, elle générera un message d'erreur.

Solution
Actualisez vos drivers vidéos et diminuez éventuellement vos réglages graphiques.

Si d'aventure il vous est impossible d'y porter remède par les simples moyens évoqués ci-dessus et pour éviter la survenue de problèmes bloquants, il est possible d'annuler l'action du r_gamma interne en créant ou modifiant la ligne suivante dans votre fichier de configuration:


seta r_ignorehwgamma "1"

La valeur 1 de ce CVAR inhibera le r_gamma, quel que soit son poids.
Les réglages de contraste et luminosité devront être exécutés directement sur le moniteur.

-=rolleyes=-
Publié le 05/02/2019 16:27  Prévisualiser...   Imprimer...   Haut
MAX_CVARS  -  par FSMOD
Erreur MAX_CVARS
 

cvar.jpg

Peut-être avez vous déjà eu cet écran d'erreur qui s'est affiché lors d'un passage d'un serveur à un autre. Cette avarie s'accompagnant parfois d'une altération du gamma de l'écran.

Ce problème m'est arrivé récemment lors de mes nombreux essais.

Après quelques recherches je suis arrivé aux conclusions suivantes:


 

Premier point, évitez de lancer trop de fichiers txt par le biais de l'autoexec.cfg, surtout si ces fichiers renferment des boucles VSTR relatives à des sons multiples.


C'est le cas lorsque vous affectionnez plusieurs serveurs et pour lesquels vous avez créé un fichier son pour chacun d'entre eux. Si les boucles VSTR sont trop longues (en gros plus d'une centaine de sons) le passage d'un serveur à l'autre ne permettra pas le vidage de la mémoire allouée à SOF et vous obtiendrez le message d'erreur.

Comme je l'ai déjà dit dans ma doc adoptez plutôt la méthode qui consiste à créer pour chaque serveur, son propre icône de lancement sur le bureau de votre ordi. Le passage d'un serveur à l'autre vous obligera à passer par le dit bureau et vider ainsi la mémoire avant la connexion à un autre serveur.



Deuxième point important toujours lié à la fréquentation de plusieurs serveurs, évitez de charger trop de maps dans votre répertoire BASE. Une centaine de taille moyenne est largement suffisant pour vous éviter une surcharge pondérale de la mémoire.
Faîtes le ménage de temps à autre pour vous débarrasser des maps inutiles, La fluidité de votre jeu n'en sera que meilleure.


 

-=smile=-
Publié le 05/02/2019 16:26  Prévisualiser...   Imprimer...   Haut
Rubriques

Vous êtes ici :   Accueil » Documentation