Stellaris Guide

Mod Aide/Tuto/Information for Stellaris

Mod Aide/Tuto/Information

Overview

Comment faire pour Ajouter, Activer, Désactiver, Supprimer définitivement un mod ?Comment fonctionne le modding dans Stellaris et qu’elles sont les astuces pour le modding ?Pourquoi certains mods ne sont pas compatible entre eux ?

Introduction et Présentation

Présentation

Bonjour à vous,
Je préviens dès le début que pour beaucoup de personne ce guide sera inutile.
De part l’intuition ou indication sur forum ou tuto, il reste assez facile d’avoir ces informations en anglais généralement.
Malgré tout, je présente ce guide pour le pourcentage que cela peut intéresser.
Je vous invite à commenter et donner votre avis, afin d’améliorer ensemble ce guide.

Remerciement pour l’aide :
  • Stellaris Wiki Officiel — Merci pour certaines informations en anglais.

Introduction

Les mods dans Stellaris sont présents avec un certain nombre, de part la facilité de production que les développeurs du jeu ont offert.
Par moment, certains mods nous ont pas plu (ou bug) et reste présent dans notre système même après désinscription; voir d’autre ne sont pas compatible entre eux et nous force au choix.

  • Mais comment faire pour choisir ou supprimer définitivement des mods dont on sait désincrit du workshop et qui persiste ?
  • Où se trouve le code source du jeu ?
  • Comment puis je faire mon propre mod ?
  • Comment fonctionne la compatibilité des mods de Stellaris ?

Ce sont des exemples de question qu’on peut se poser et que nous allons étudiés ici dans ce guide.

Le travail sur ce guide est encore en cours.
Il reste des correctifs de langue et quelques ajouts.
Désolé pour les désagréments occasionnés !

Ajout/Activation/Désactivation Mod

Sommaire :

  • Ajout de mod par Workshop
  • Ajout de mod Manuellement
  • Activer un Mod
  • Désactiver un Mod

Stellaris nous offre la possibilité d’ajouter des mods grâce au workshop ainsi que manuellement (Utile pour certain mod +18 qui n’ont pas le droit d’être présent dans le workshop par exemple).

  1. Ajout de mod par Workshop

    Dans le workshop, il est assez facile d’ajouter des mods.
    1- Allez dans la rubrique workshop du jeu Stellaris.
    2- Inscrivez vous sur le mod de votre choix.

    Après l’inscription, le mod compressé sera téléchargé sur votre ordinateur (mais pas installer).

    Windows : ~DocumentsParadox InteractiveStellarisworkshopcontent Linux : ~/.paradoxinteractive/Stellaris/workshop/content or ~/.local/share/Paradox Interactive/Stellaris/workshop/content/ Mac : ~/Documents/Paradox Interactive/Stellaris//workshop/content/

    le symbole ~ indique le chemin dynamique, en soit sur windows par exemple le résultat sera : C:UsersBobDocumentsParadox InteractiveStellarisworkshopcontent
    Le disque étant C: , l’utilisateur : Bob

    3- Lancez le jeu (Launcher)

    Le mod sera installé uniquement après le lancement du “launcher” dans :

    Windows : ~DocumentsParadox InteractiveStellarismod Linux : ~/.paradoxinteractive/Stellaris/mod/ or ~/.local/share/Paradox Interactive/Stellaris/mod/ Mac : ~/Documents/Paradox Interactive/Stellaris/mod/

  2. Ajout de mod Manuellement

    1- Après téléchargement d’un mod sur un site
    2- Collez les fichiers (décompressé) dans le fichier mod

    Windows : ~DocumentsParadox InteractiveStellarismod Linux : ~/.paradoxinteractive/Stellaris/mod/ or ~/.local/share/Paradox Interactive/Stellaris/mod/ Mac : ~/Documents/Paradox Interactive/Stellaris/mod/

  3. Activer un mod

    1- Dans le launcher, sélectionnez le slide “Mod”
    2- Cliquez sur le mod que vous voulez activer (il faut que le mod soit en brillance).

    Activé : Mod en surbrillance (flèche verte);
    Désactivé : Mod non en surbrillance (flèche rouge);

  4. Désactiver un mod

    1- Dans le launcher, sélectionnez le slide “Mod”
    2- Cliquez sur le mod que vous voulez desactiver (il faut que le mod soit PAS en brillance).

Désinstallation Mod

  1. Workshop désinscription Mod


    1- Allez dans les objets abonnés workshop
    Vous pouvez avoir accès facilement en allant sur votre profil et cliquant sur workshop, puis sur le bouton “Objects abonnés”

    2- Appuyez sur le bouton “Se désabonner”
    En théorie, steam va supprimer le fichier installer de ce mod dans le répertoire “mod”.

    En cas de visibilité du mod dans le launcher slide mod : c’est que tout simplement cela c’est mal désinstallé. Dans ce cas suivre la procédure manuel.

  2. Désinstallation Manuel


    1- Aller dans le répertoire Mod

    Windows : ~DocumentsParadox InteractiveStellarismod Linux : ~/.paradoxinteractive/Stellaris/mod/ or ~/.local/share/Paradox Interactive/Stellaris/mod/ Mac : ~/Documents/Paradox Interactive/Stellaris/mod/

    2- Supprimez le mod en question
    Si c’est un mod installer, vous allez avoir un nom de répertoire concernant l’ID Workshop du mod. C’est un peu plus compliqué, car il faut savoir reconnaitre l’ID des objets du workshop.

  3. Retrouver l’ID workshop d’un mod


    Pour retrouver l’ID workshop d’un mod, il vous faut connaitre le nom du mod et faire un peu de recherche dans votre ordinateur (rien de compliqué, je vous rassure).

    1- Allez dans le répertoire workshop content

    Windows : ~DocumentsParadox InteractiveStellarisworkshopcontent Linux : ~/.paradoxinteractive/Stellaris/mod/ or ~/.local/share/Paradox Interactive/Stellaris/workshop/content/ Mac : ~/Documents/Paradox Interactive/Stellaris/workshop/content/

    Dans le répertoire content, il y a un répertoire avec un ID, il vous faut l’ouvrir pour avoir accès aux répertoires avec ID du workshop de tous vos mods Stellaris installer du workshop.

    2- Fouillez dans chacun des répertoires ID pour trouver le fichier ZIP avec le nom du mod en question.

    3- Dès que vous avez trouvé le nom du mod en question, vous avez l’ID (c’est le nom du répertoire)

    Après si vous voulez faire la désinstallation manuel par exemple et bien vous savez l’ID du mod et vous pouvez supprimer le mod dans le répertoire Mod (voir la rubrique désinstallation).

Comment voir le code source du jeu ?

Pour le code source, il y a une majeur partie du code qui est visible dans votre répertoire du jeu.
Cela n’indique pas que vous allez forcément comprendre comment fonctionne le code, mais vous pouvez en tout cas le lire.

1- Allez dans le répertoire du jeu :

Windows : ~SteamSteamAppscommonStellaris Linux : ~/Steam/SteamApps/common/Stellaris/ Mac : ~/Steam/SteamApps/common/Stellaris/

2- Prendre le répertoire de votre choix (par exemple : flags), l’ouvrir
3- Puis ouvrir le fichier de votre choix (par exemple : colors.txt) avec un éditeur de texte.

Ici dans mon exemple : vous pouvez voir le code source des couleurs de drapeau du jeu.
Il faut éviter de toucher à l’intégrité du code en applicant des modifications sur les fichiers du jeu (ici).
La source du jeu est faite pour de la lecture uniquement. Toute modification seront certe visible comme dans un mod, mais toucherons l’intégrité du jeu et si il y a de la casse : les fichiers cassés de votre jeu seront à re-télécharger.

Modding : Comment en faire ?

Je vais vous présenter comment ajouter les éléments de modding et comment faire un mini mod “tout bête”, qui ajoute une couleur pour les drapeaux.

Au lancement du jeu, dans le slide de mod, vous pouvez certe activer/désactiver vos mods, mais vous avez aussi un bouton qui vous permet de créer “Outils du mod”.

1- Cliquez sur le slide “Mod”.
2- Cliquez sur le bouton “Outils du mod”.

Une fenètre s’ouvre,
1- Cliquez sur “Créer un mod”
2- Renseignez Mods disponible qui est le nom du mod que vous voulez donner.
3- Renseignez le nom du répertoire qui va être créer
4- Choisissez des balises du mod
5- Cliquez sur créer un mod

Après cela, vos fichiers de base pour la création d’un nouveau mod viennent d’être créés dans votre dossier mod.

Windows : ~DocumentsParadox InteractiveStellarismod Linux : ~/.paradoxinteractive/Stellaris/mod/ or ~/.local/share/Paradox Interactive/Stellaris/mod/ Mac : ~/Documents/Paradox Interactive/Stellaris/mod/

Exemple d’un mod :

On va continuer notre exemple sur les couleurs et notre mod va ajouter une couleur.
Ce mod sera donc une modification de donnée statique dans un environnement statique (un exemple simple).

Qu’est ce que cela veut dire ?
Tout simplement notre mod va remplacer le fichier “/flags/colors.txt” que vous avez vu avant dans le guide.

1- Copiez le fichier source “colors.txt” situé dans le répertoire “flags”.

Source :

Windows : ~SteamSteamAppscommonStellarisflags Linux : ~/Steam/SteamApps/common/Stellaris/flags/ Mac : ~/Steam/SteamApps/common/Stellaris/flags/

2- Puis allez dans le répertoire de votre mod

Windows : ~DocumentsParadox InteractiveStellarismodnom_du_mod Linux : ~/.paradoxinteractive/Stellaris/mod/nom_du_mod/ or ~/.local/share/Paradox Interactive/Stellaris/mod/nom_du_mod/ Mac : ~/Documents/Paradox Interactive/Stellaris/mod/nom_du_mod/

3- Ajoutez un répertoire “flags” (dans votre répertoire “nom_du_mod”)
4- Dans le répertoire “flags”, collez le fichier “colors.txt”
5- Ouvrez le fichier “colors.txt”
6- Dans le fichier (voici le début du fichier)

#this file is reloadable with the filewatcher only colors = { dark_brown = { flag = hsv { 0.07 0.6 0.23 } map = hsv { 0.06 0.5 0.35 } } brown = { flag = hsv { 0.07 0.6 0.4 } map = hsv { 0.08 0.5 0.55 } } orange = { flag = hsv { 0.08 0.9 0.7 } map = hsv { 0.075 0.8 0.7 } } red_orange = { flag = hsv { 0.01 0.75 0.7 } map = hsv { 0.028 0.75 0.7 } } red = { flag = hsv { 0.98 1.0 0.4 } map = hsv { 0.99 0.8 0.5 } } burgundy = { flag = hsv { 0.95 0.8 0.35 } map = hsv { 0.93 0.6 0.42 } } pink = { flag = rgb { 130 50 105 } map = hsv { 0.95 0.35 0.6 } } purple = { flag = rgb { 100 54 158 } map = hsv { 0.8 0.4 0.5 } } dark_purple = { flag = rgb { 61 27 96 } map = hsv { 0.85 0.6 0.35 } } indigo = { flag = hsv { 0.71 0.85 0.5 } map = hsv { 0.71 0.85 0.5 } } dark_blue = { flag = hsv { 0.64 0.85 0.45 } map = hsv { 0.58 0.7 0.4 } } blue = { flag = hsv { 0.64 0.75 0.75 } map = hsv { 0.6 0.5 0.6 } } turquoise = { flag = hsv { 0.49 0.6 0.6 } map = hsv { 0.53 0.6 0.5 } } teal = { flag = hsv { 0.42 0.6 0.5 } map = hsv { 0.43 0.3 0.5 } } dark_teal = { flag = hsv { 0.5 0.6 0.3 } map = hsv { 0.48 0.6 0.42 } } green = { flag = hsv { 0.32 0.6 0.40 } map = hsv { 0.32 0.4 0.55 } } dark_green = { flag = hsv { 0.33 0.6 0.27 } map = hsv { 0.33 0.4 0.3 } } grey = { flag = hsv { 0.65 0.05 0.35 } map = hsv { 0.58 0.15 0.6 } use_as_border_color = no } dark_grey = { flag = hsv { 0.65 0.05 0.22 } map = hsv { 0.6 0.2 0.3 } use_as_border_color = no } black = { flag = hsv { 0.5 0.3 0.05 } map = hsv { 0.7 0.1 0.18 } use_as_border_color = no } }

Il y a du code qui suit l’exemple copié ici, ne le supprimez pas.

7- Ajoutez la couleur blanche : écrivez cette ligne sous la ligne “black”.

white = { flag = hsv { 0.0 0.0 1.0 } map = hsv { 0.0 0.0 1.0 } }

8- Rendu du code :

#this file is reloadable with the filewatcher only colors = { dark_brown = { flag = hsv { 0.07 0.6 0.23 } map = hsv { 0.06 0.5 0.35 } } brown = { flag = hsv { 0.07 0.6 0.4 } map = hsv { 0.08 0.5 0.55 } } orange = { flag = hsv { 0.08 0.9 0.7 } map = hsv { 0.075 0.8 0.7 } } red_orange = { flag = hsv { 0.01 0.75 0.7 } map = hsv { 0.028 0.75 0.7 } } red = { flag = hsv { 0.98 1.0 0.4 } map = hsv { 0.99 0.8 0.5 } } burgundy = { flag = hsv { 0.95 0.8 0.35 } map = hsv { 0.93 0.6 0.42 } } pink = { flag = rgb { 130 50 105 } map = hsv { 0.95 0.35 0.6 } } purple = { flag = rgb { 100 54 158 } map = hsv { 0.8 0.4 0.5 } } dark_purple = { flag = rgb { 61 27 96 } map = hsv { 0.85 0.6 0.35 } } indigo = { flag = hsv { 0.71 0.85 0.5 } map = hsv { 0.71 0.85 0.5 } } dark_blue = { flag = hsv { 0.64 0.85 0.45 } map = hsv { 0.58 0.7 0.4 } } blue = { flag = hsv { 0.64 0.75 0.75 } map = hsv { 0.6 0.5 0.6 } } turquoise = { flag = hsv { 0.49 0.6 0.6 } map = hsv { 0.53 0.6 0.5 } } teal = { flag = hsv { 0.42 0.6 0.5 } map = hsv { 0.43 0.3 0.5 } } dark_teal = { flag = hsv { 0.5 0.6 0.3 } map = hsv { 0.48 0.6 0.42 } } green = { flag = hsv { 0.32 0.6 0.40 } map = hsv { 0.32 0.4 0.55 } } dark_green = { flag = hsv { 0.33 0.6 0.27 } map = hsv { 0.33 0.4 0.3 } } grey = { flag = hsv { 0.65 0.05 0.35 } map = hsv { 0.58 0.15 0.6 } use_as_border_color = no } dark_grey = { flag = hsv { 0.65 0.05 0.22 } map = hsv { 0.6 0.2 0.3 } use_as_border_color = no } black = { flag = hsv { 0.5 0.3 0.05 } map = hsv { 0.7 0.1 0.18 } use_as_border_color = no } white = { flag = hsv { 0.0 0.0 1.0 } map = hsv { 0.0 0.0 1.0 } } }

Il y a du code qui suit l’exemple copié ici, ne le supprimez pas.

9- Lancez le jeu, Allez dans le slide Mod, Activez le mod
10- Amusez-vous avec la couleur blanche ajouté de votre mod à vous =D.

Modding : Donnée et Environnement

J’invite les personnes qui veulent modder à lire les documentations de l’éditeur sur les forums ou lire les documents sur le stellaris wiki.
Même si les informations sont en généralement en anglais, cela aide.

Je vais vous présenter quelques informations sur le type de contenu, ce qui améliora la compréhension du fonctionnement. Ici les termes descriptifs sont des représentations.

  • Modification de donnée statique dans un environnement statique.
    Donnée statique ? Ce sont les données qui ne sont pas générées et qui sont fixes (on applique justement des mods pour changer ces données non configurable dynamiquement).

    Environnement statique ? Ce sont les fichiers où on est “obligé” d’avoir le même nom du fichier que celui de source, c’est ce qu’on appelle une surcharge. (le mod remplacera donc le fichier initial avec son intégralité de code).
    Par moment, c’est l’ignorance/l’incompréhension du système(du jeu) qui nous oblige à faire ça.

    Données Statiques :

    colors = { dark_brown = { flag = hsv { 0.07 0.6 0.23 } map = hsv { 0.06 0.5 0.35 } } brown = { flag = hsv { 0.07 0.6 0.4 } map = hsv { 0.08 0.5 0.55 } } orange = { flag = hsv { 0.08 0.9 0.7 } map = hsv { 0.075 0.8 0.7 } } … dark_green = { flag = hsv { 0.33 0.6 0.27 } map = hsv { 0.33 0.4 0.3 } } grey = { flag = hsv { 0.65 0.05 0.35 } map = hsv { 0.58 0.15 0.6 } use_as_border_color = no } dark_grey = { flag = hsv { 0.65 0.05 0.22 } map = hsv { 0.6 0.2 0.3 } use_as_border_color = no } black = { flag = hsv { 0.5 0.3 0.05 } map = hsv { 0.7 0.1 0.18 } use_as_border_color = no } } …

    Environnement Statique :

    Windows : ~DocumentsParadox InteractiveStellarismodnom_du_modflagscolors.txt Linux : ~/.paradoxinteractive/Stellaris/mod/nom_du_mod/flags/colors.txt or ~/.local/share/Paradox Interactive/Stellaris/mod/nom_du_mod/flags/colors.txt Mac : ~/Documents/Paradox Interactive/Stellaris/mod/nom_du_mod/flags/colors.txt

  • Modification de donnée statique dans un environnement dynamique.
    Dans Stellaris, nous pouvons ajouter de nouveaux fichiers (dans notre mod) qui vont remplacés du contenu statique.
    L’exemple le plus visible se trouve dans le fichier source “00_defines.lua”, situé dans le code source :

    Windows : ~SteamSteamAppscommonStellariscommondefines Linux : ~/Steam/SteamApps/common/Stellaris/common/defines/ Mac : ~/Steam/SteamApps/common/Stellaris/common/defines/

    Données Statiques :

    NDefines = { NCamera = { FOV = 35, — Field-of-View ENTITY_SPRITE_DESIGN_ENTRY_CAM_DIR = { -1.0, -0.6, 0.3 }, …

    Environnement dynamique :
    L’environnement est lui dynamique, car dans vos mods il vous sera possible de faire d’autres defines.lua (avec des noms différents) pour remplacer certaines valeurs.

    Exemple : créons un nouveau fichier defines avec des modifications qu’on va appeler : nom_du_mod_defines.lua et non pas 00_defines.lua (afin de ne remplacer uniquement les valeurs qu’on désire dans notre nouveau fichier).

    Windows : ~DocumentsParadox InteractiveStellarismodnom_du_modcommondefinesnom_du_mod_defines.lua Linux : ~/.paradoxinteractive/Stellaris/mod/nom_du_mod/common/defines/nom_du_mod_defines.lua or ~/.local/share/Paradox Interactive/Stellaris/mod/nom_du_mod/common/defines/nom_du_mod_defines.lua Mac : ~/Documents/Paradox Interactive/Stellaris/mod/nom_du_mod/common/defines/nom_du_mod_defines.lua

    Code du fichier “nom_du_mod_defines.lua” :

    NDefines.NCamera.FOV = 70 — Field-of-View

Modding : Compatibilité

  • Compatibilité entre mod :

    Les éléments théoriques ci-dessous peuvent aider à comprendre, même si les tests restent la meilleur des solutions.

    • Des données statiques dans un environnement statique remplace automatiquement son prédecesseur = Uniquement un mod peut-être fonctionnel (il y a aura donc incompatibilitées entre les mods qui touchent les mêmes documents sources).
    • Des données statiques dans un environnement dynamique reçoit tous les ajouts statiques des mods.
      Mais attention, certains éléments peuvent rentrés en collision (suivant comment cela est construit)
  • Achievements :

    Les achievements peuvent être reçu uniquement en mod Ironman.

  • Compatibilité en multiplayer :

    La déduction aide pour savoir si mon mod sera compatible en multiplayer (comme pour l’ironman), et aussi non le test est la meilleur façon de savoir.

  • Fonctionne en Ironman :

    C’est encore la déduction qui aide, et aussi non le test est une solution. Mais généralement comme la documentation l’indique “Tout les mods qui touche à l’intégrité du gameplay : désactiveront l’ironman.”

Modding : Test avec commandes console

Les commandes de la console servent principalement à tester le code de nos mods.

Dans nos mods, nous pouvons ajouter du contenu, modifier, voir supprimer.
Dans la plus part des cas, les tests se résument à lancer le jeu, voir si le contenu existe et si il fonctionne en jeu.

Pour d’autre cas, comme l’ajout d’évènement (Ajout de contenu histoire), il va falloir les déclancher avec une commande (en plein jeu par exemple).

Je rappel qu’en principe les testes se font en “non IronMan”.

  1. Pour avoir accès à la console de commande, il vous suffit en premier lieu de cliquer sur le bouton :
    ~ ou ^ ou ¤ ou ² ou `

    La clé varie en fonctione de votre type de clavier.

    Une console va alors apparaître en noir transparent, et vous allez pouvoir taper vos commandes.

  2. La liste des commandes est accessible par commande
    >

    help

    soit via le wiki (stellariswiki) où la liste est entièrement donnée avec des détails.

  3. Maintenant que vous savez la commande et les options, vous pouvez la taper dans la console.

    Exemple :

    event story.5

    event = la commande
    story = [event id]
    5 = [target id]

  4. Si on veut des détails sur une commande ?
    Vous pouvez ! il vous suffit de taper “help” devant la commande que vous voulez connaitre (pour savoir les options ou détails).

    Exemple :

    help event

Modding : Edicts & Events

Description :

Les événements se produisent tout au long du jeu. Il y a toute une série d’événements dans le jeu, qui peuvent entraîner des résultats positifs, négatifs et mitigés pour l’empire d’un joueur. Ils prennent la forme d’une notification contextuelle sur l’écran du joueur, qui peut présenter un choix au joueur, ou simplement informer le joueur des conséquences et exiger qu’il reconnaisse que l’événement s’est produit.

Les types d’évènements :

Le type d’évènement informe sur qu’elle terme de modification, information nous allons être actifs dans l’évènement.

event – événement pour un jeu entier
country_event – événement pour un empire entier
planet_event – événement pour une planète
fleet_event – événement pour une flotte
ship_event – événement pour un navire
pop_faction_event – événement pour une faction
pop_event – événement pour une unité de population

La localisation dans notre mod

Tous vos évènements doivent se placer dans le dossier “events” de votre mod.

Source :

Windows : ~DocumentsParadox InteractiveStellarismodnom_du_modevents Linux : ~/.paradoxinteractive/Stellaris/mod/nom_du_mod/ or ~/.local/share/Paradox Interactive/Stellaris/mod/nom_du_mod/events/ Mac : ~/Documents/Paradox Interactive/Stellaris/mod/nom_du_mod/events/

Il est conseillé de bien nommer vos évènements par rapport au travail qu’ils effectuent.
exemple: nom_du_mod_anomaly_events_1.txt

Pourquoi nommer votre fichier texte avec votre nom de mod ?
Tout simplement que si vous le nommez avec un nom existant ou avec un nom trop classique, l’event de ce mod remplacera celui existant du jeu ou celui d’un autre mod (Ce qui en résulte une incompabilitée entre mod).

Ecriture en cours… / Work In Progress

Faite le savoir si vous attendez particulièrement cette partie ?

SteamSolo.com