Table des matières

Debugmode

Le debugmode/mode de debug est un mode du client de jeu que l'on peut débloquer en activant certaines options à la compilation. Il permet d'avoir accès à de nombreuses informations de … debug (FPS, accès disque, accès réseaux …), les symboles de debug (utile si vous lancez votre client avec gdb, permet d'avoir énormément d'informations sur le crash) et des commandes particulières, très variée.

Activer le debugmode

(!!Je n'ai pas de quoi retester que ce sont bien ces options qu'il faut activer, je ferai ça en début de semaine prochaine!!)

Faites une compilation classique de ryzom (voir https://ryzomcore.atlassian.net/wiki/display/RC/Build+Source+on+Linux). Arrivé à l'étable de configuration de la compilation, celle où on bidouille avec cmake, je vous conseille d'installer cmake-gui et de le lancer. Vous aurez un écran qui ressemble à ça :

!!Si quelqu'un peut hoster l'image sur le wiki, je n'ai pas les droits!! Rentrez l'adresse absolue du code source dans la première ligne, l'adresse absolue pour les binaires sur la deuxième.(habituellement, un sous-dossier build/ dans le dossier du code).

Appuyez sur “configure”, choisissez “unix makefile” dans la liste déroulante, cochez “use default native compilers”. Attendez un peu, et vous allez avoir une liste des options. Pour activer le mode debug :

La suite se passe comme une compilation normale.

Utiliser le debug mode

Les symboles de debug

Pour pouvoir utiliser les symboles de debug, en cas de crash, c'est très simple, lancez khanat ainsi : (j'ai enlevé les informations que gdb donne pour ne pas alourdir, mais cela devrait ressembler à cela)

$ gdb khanat_client
(gdb) start
(gdb) continue//Oui, parce qu'on a une erreur 

En cas de crash, un simple

(gdb) thread apply all bt

suivi d'un

(gdb)quit

suffira. Le log d'erreur s'affichera dans le terminal, pensez à le sauvegarder !

Les commandes de debug

Dans l'interface touches, vous avez à la fin la section “touches de debug” avec la liste d'une bonne partie des touches de debug (certaines peuvent faire crasher votre client, à vos risques et périls :p). Commandes utiles :

Commande Explication
Shift+F1Aide du mode debug (pas entière)
Shift+F2Infos de debug (appuyer plusieurs fois pour changer) : état des I/O disque, FPS, textures chargées, interface utilisées …
Shift+F8Mode vol. Permet de déplacer la caméra avec les touches de déplacement et page haut/page bas. Cette commande (parfaitement légale, hein) justifie l'acquisition d'un client debug à elle toute seule, elle vous fera réussir tous vos lucios, ramènera le conjoint infidèle, apportera bonheur et prospérité à votre foyer … Bref : tout ce qu'on peut espérer d'une commande
Shift+F9“Souris libre”, aussi appelée “gros curseur”. C'est très chiant à utiliser, si jamais vous avez ça réutilisez la commande (ça m'arrive fréquemment de taper shift+F9 au lieu de shift+F8)
Ctrl+DOuvre la commande de debug
Ctrl+alt+OAffiche les zones de collisions de chaque entité.

Les commandes de la console de debug

Ce ne sont pas à proprement parler les commandes de la console de debug, vous pouvez aussi les rentrer dans le chat habituel du jeu (il faudra par contre précéder la commande d'un /). La sortie de la commande s'effectue dans la console de debug (dans de rares cas, vous aurez des informations dans le sys.infos)

CommandeExplication
helpAffiche l'aide, possibilité d'avoir une aide plus détaillée sur une command via help command
pos x yVous téléporte aux coordonnées [x,y] données. Vous rend inattaquables par les monstres tant que vous n'utilisez pas un pacte de téléportation
paintTarget 0-7Permet de colorer la cible sélectionnée. Sur des PJ, change la couleur des habits et des cheveux. Sur des PNJ, change l'arme qu'ils ont en main (ou leur en fait porter une s'ils n'en n'ont pas). Sans effets apparemment sur un monstre. Effets visibles uniquement en local !
money XVous donne X dappers. Effet purement visuel, disparaît à la déconnexion et ne permet pas d'acheter des objets
learnAllBrickPermet d'apprendre toutes les briques du jeu. Impossible d'utiliser celles obtenus illégalement par contre, et elles disparaissent à la déconnexion. Notons qu'on peut tout de même profiter des titres liés à certaines briques (champion kami/karavan, la poisse, etc …) pendant la session où on se les ai donné
setAllSkillValue XMet tous vos skill au niveau X. Vous avez accès aux titres et si vous regardez votre arbre de compétences vous les avez bien ; cependant, au niveau du jeu ça ne change rien (votre esquive/parade ne changera pas par exemple), il considérera que vous avez toujours vos anciens niveaux. Disparaît à la déconnexion