Up to date

This page is up to date for Godot 4.3. If you still find outdated information, please open an issue.

Tutoriel de ligne de commande

Certains développeurs aiment beaucoup utiliser la ligne de commande. Godot est conçu pour leur être agréable, alors voici les étapes pour travailler entièrement à partir de la ligne de commande. Étant donné que le moteur ne nécessite que peu ou pas de bibliothèques externes, les temps d’initialisation sont assez rapides, ce qui le rend adapté à cette méthode de travail.

Note

Sur Windows et Linux, vous pouvez executer un binaire Godot dans un terminal en spécifiant son chemin relatif ou absolu.

Sur macOS, le processus est différent parce que Godot est intégré dans un packet .app (qui est un répertoire et pas un fichier). Pour exécuter un binaire Godot depuis un terminal macOS, vous devez cd dans le répertoire du packet et puis faire Godot.app/Contents/MacOS/Godot suivi par les arguments de commande. Si vous avez renommé le packet Godot vers un autre nom, assurez-vous de remplacer Godot dans la commande par votre nom.

Référence de ligne de commande

Légende

  • Version Disponible dans les compilations de l'éditeur, des modèles d'export de débogage et des modèles d'export de publication.

  • Débogage Disponible uniquement dans les modèles d'export de l'éditeur et de debug.

  • Éditeur Seulement disponible dans les compilations de l'éditeur.

Notez que les arguments de ligne de commande inconnus n'ont aucun effet. Le moteur ne vous avertira pas si vous utilisez un argument de ligne de commande qui n'existe pas avec un type de compilation donné.

Options générales

Commande

Description

-h, --help

Version Affiche la liste des options de ligne de commande.

--version

Version Afficher la chaîne de caractère de version.

-v, --verbose

Version Utiliser le mode verbeux pour la sortie standard (stdout).

-q, --quiet

Version Mode silencieux qui désactive les messages de stdout. Les erreurs sont quand même affichées.

Options d'exécution

Commande

Description

--, ++

Version Séparateur pour les arguments donnés par l'utilisateur. Les arguments suivants ne sont pas utilisés par le moteur, mais peuvent être lus avec OS.get_cmdline_user_args().

-e, --editor

Éditeur Démarrer l'éditeur au lieu de lancer la scène.

-p, --project-manager

Éditeur Démarrer le gestionnaire de projet, même si un projet est autodétecté.

--debug-server <uri>

Éditeur Démarrer le serveur de débogage de l'éditeur ( <protocol>://<host/IP>[:<port>], par ex. tcp://127.0.0.1:6007)

--quit

Version Quitter après la première itération.

--quit-after

Version Arrête après le nombre donné d'itérations. Définir à 0 pour désactiver.

-l, --language <locale>

Version Utiliser un langage spécifique. <locale> suit le format language_Script_COUNTRY_VARIANT où la langue est un code de langue 2 ou 3 lettres en minuscule et le reste est optionnel. Voir Locale codes pour plus de détails.

--path <répertoire>

Version Chemin vers un projet (<directory> doit contenir un fichier 'project.godot').

-u, --upwards

Version Analyser les dossiers vers le haut pour trouver le fichier 'project.godot'.

--main-pack <file>

Version Chemin vers le fichier pack (.pck) à charger.

--render-thread <mode>

Version Mode de rendu de thread ('unsafe', 'safe', 'separate'). Voir Thread Model pour plus d'informations.

--remote-fs <address>

Version Système de fichiers distant (Adresse <hôte/IP>[:<port>]).

--remote-fs-password <mot de passe>

4.3 Mot de passe pour le système de fichiers distant.

--audio-driver <driver>

Version Pilote audio. Utilisez d'abord la commande --help pour afficher la liste des pilotes disponibles.

--display-driver <driver>

Version Pilote vidéo (et pilote de rendu). Utilisez d'abord la commande --help pour afficher la liste des pilotes disponibles.

--rendering-method <renderer>

Version Nom du moteur de rendu. Nécessite le support du driver.

--rendering-driver <driver>

Version Pilote de rendu (dépend du pilote vidéo). Utilisez d'abord la commande --help pour afficher la liste des pilotes disponibles.

--gpu-index <device_index>

Version Utiliser un GPU spécifique (lancer avec --verbose pour obtenir la liste de périphériques disponibles).

--text-driver <driver>

Version Pilote de texte (Polices, BiDi, mise en forme).

--tablet-driver <driver>

4.3 Pilote pour les entrées de tablette graphique.

--headless

Version Activer mode sans tête (--display-driver headless --audio-driver Dummy). Utile pour des serveurs et avec -script.

--write-movie <file>

Version Exécute le moteur d'une manière qu'un film est enregistré (généralement avec .avi ou .png extension). --fixed-fps est forcé quand activé, mais peut être utilisé pour changer les FPS du film. --disable-vsync peut accélérer l'enregistrement du film mais rend l'interaction plus difficile. -quit-after peut être utilisé pour spécifier le nombre de trames à enregistrer.

Options d'affichage

Commande

Description

-f, --fullscreen

Version Demander le mode plein écran.

-m, --maximized

Version Demander une fenêtre maximisée.

-w, --windowed

Version Demander le mode fenêtré.

-t, --always-on-top

Version Demander une fenêtre toujours au premier plan.

--resolution <W>x<H>

Version Demander la résolution de la fenêtre.

--position <X>,<Y>

Version Demander la position de la fenêtre.

--screen <N>

Version Demander l'écran de la fenêtre.

--single-window

Version Utilisez une seule fenêtre (pas de sous-fenêtres séparées).

--xr-mode <mode>

Version Sélectionner le mode XR ('default', 'off', 'on').

Options de débogage

Commande

Description

-d, --debug

Version Débogage (débogueur stdout local).

-b, --breakpoints

Version Liste de points d'arrêt comme paires source::ligne séparées par des virgules, sans espace (utilisez %20 à la place).

--profiling

Version Activer le profilage dans le débogueur de script.

--gpu-profile

Version Afficher un profil GPU des tâches qui ont pris le plus de temps pendant le rendu des trames.

--gpu-validation

Version Active l'api graphique validation layers pour du debuggage.

--gpu-abort

Débogage Avorter sur les erreurs GPU (généralement les erreurs de couche de validation), peut aider à voir le problème si votre système freeze.

--remote-debug <uri>

Version Débogage à distance (<protocol>://<host/IP>[:<port>], par ex. tcp://127.0.0.1:6007).

--single-threaded-scene

Version L'arbre de la scène fonctionne en mode thread unique. Les groupes de sous-thread sont désactivés et s'exécutent sur le fil principal.

--debug-collisions

Débogage Afficher les formes de collision lors de l'exécution de la scène.

--debug-paths

Débogage Afficher les lignes de chemin lors de l'exécution de la scène.

--debug-navigation

Débogage Afficher les polygones de navigation lors de l'exécution de la scène.

--debug-avoidance

Débogage Afficher les visuels de débogage de navigation d'évitement lors de l'exécution de la scène.

--debug-stringnames

Débogage Affiche tous les allocations de StringName vers stdout quand le moteur quitte.

--frame-delay <ms>

Version Simuler une charge CPU élevée (retarder chaque trame de <ms> millisecondes).

--time-scale <scale>

Version Forcer l'échelle de temps (plus rapide avec des valeurs plus élevées, 1.0 pour une vitesse normale).

--disable-vsync

Version Forces disabling of vertical synchronization, even if enabled in the project settings. Does not override driver-level V-Sync enforcement.

--disable-render-loop

Version Désactive la boucle de rendu pour que le rendu ne se produise que lorsqu'il est appelé explicitement depuis le script.

--disable-crash-handler

Version Désactiver le gestionnaire de crash lorsqu'il est pris en charge par le code de la plate-forme.

--fixed-fps <fps>

Version Force un nombre fixe d'images par seconde. Ce paramètre désactive la synchronisation temps-réel.

--delta-smoothing <enable>

|releaseI Activer ou désactiver le lissage de l'image (frame delta smoothing) ('enable', 'disable').

--print-fps

Version Affiche les images par second à la sortie standard stdout.

Outils autonomes

Commande

Description

-s, --script <script>

Version Exécute un script.

--check-only

Version Analyse uniquement les erreurs et quitte (utiliser avec --script).

--import

Éditeur Démarre l'éditeur, attend que toutes les ressources soient importées, puis quitte. Implique --editor et --quit.

--export-release <preset> <path>

Éditeur Exporte le projet en utilisant les préréglages données et le modèle de version correspondant. Le nom des préréglages doit correspondre à un nom défini dans export_presets.cfg. <path> doit être absolu ou relatif au répertoire du projet, et inclure le nom du fichier pour le binaire (par ex. 'builds/game.exe'). Le répertoire cible doit exister. Implique ---import.

--export-debug <preset> <path>

Éditeur Comme --export-release, mais utilise le modèle de débogage. Implique --import.

--export-pack <preset> <path>

Éditeur Comme --export-release, mais n'exporter que le pack de jeu pour le préréglage donné. L'extension <path> détermine s'il sera au format PCK ou ZIP. Implique --import.

--convert-3to4 [<max_file_kb>] [<max_line_size>]

Éditeur Convertit un projet de Godot 3.x en Godot 4.x.

--validate-conversion-3to4 [<max_file_kb>] [<max_line_size>]

Éditeur Affiche quels éléments seront renommés lors de la conversion du projet de Godot 3.x à Godot 4.x.

--doctool [<path>]

Éditeur Écrit la référence de l'API du moteur vers le chemin <path> au format XML, fusionnant les fichiers s'ils existent.

--no-docbase

Éditeur Interdit de jeter les types de base (utilisé avec --doctool).

--gdscript-docs <path>

Éditeur Plutôt que de jeter l'API du moteur, génère la référence de l'API à partir de la documentation intégrée dans les fichiers GDScript trouvés dans <path> (utilisé avec --doctool`).

--build-solutions

Éditeur Build the scripting solutions (e.g. for C# projects). Implies --editor and requires a valid project to edit.

--dump-gdextension-interface

Éditeur Génére une fichier d'entête GDExtension 'gdnative_interface.h' dans le dossier courant. Ce fichier est le fichier de base requis pour implémenter une GDExtension.

--dump-extension-api

Éditeur Generate JSON dump of the Godot API for GDExtension bindings named 'extension_api.json' in the current folder.

--validate-extension-api <path>

Éditeur Valide un fichier API d'extension extrait (avec l'option ci-dessus) d'une version précédente du moteur pour assurer la compatibilité de l'API. Si des incompatibilités ou des erreurs sont détectées, le code renvoyé sera non nul.

--benchmark

Éditeur Benchmark le temps d'exécution et l'affiche dans la console.

--benchmark-file <path>

Éditeur Benchmark le temps d'exécution et enregistre le en format JSON dans le fichier donné. Le chemin doit être absolu.

Chemin

Il est recommandé que votre binaire d'éditeur Godot soit dans votre variable d'environnement PATH, de sorte qu'il puisse être exécuté facilement à partir de n'importe quel endroit en tapant godot. Vous pouvez le faire sous Linux en plaçant le binaire Godot dans /usr/local/bin et en vous assurant qu'il s'appelle godot (sensible à la casse).

Pour effectuer cela sur Windows ou macOS facilement, vous pouvez installer Godot en utilisant Scoop (sur Windows) ou Homebrew <https://brew.sh>`__ (sur macOS). Ceci rendra automatiquement la copie de Godot installée disponible dans le ``PATH :

# Add "Extras" bucket
scoop bucket add extras

# Standard editor:
scoop install godot

# Editor with C# support (will be available as `godot-mono` in `PATH`):
scoop install godot-mono

Définir le chemin du projet

Selon l'endroit où se trouve votre binaire Godot et votre répertoire de travail actuel, vous devrez peut-être définir le chemin d'accès à votre projet pour que les commandes suivantes fonctionnent correctement.

Lors de l'exécution de l'éditeur, cela peut être fait en donnant le chemin du fichier project.godot de votre projet soit en tant que premier argument, comme ceci :

godot path_to_your_project/project.godot [other] [commands] [and] [args]

Pour toutes les commandes, cela peut être fait en utilisant l'argument --path :

godot --path path_to_your_project [other] [commands] [and] [args]

Par exemple, la commande complète pour exporter votre jeu (comme expliqué ci-dessous) pourrait ressembler à ceci :

godot --headless --path path_to_your_project --export-release my_export_preset_name game.exe

En commençant dans un sous-répertoire de votre projet, utilisez l'argument --upwards pour que Godot trouve automatiquement le fichier``project.godot`` en recherchant de manière récursive les répertoires parents.

Par exemple, exécuter une scène (comme expliqué ci-dessous) nichée dans un sous-répertoire pourrait ressembler à ceci lorsque votre répertoire de travail est dans le même chemin :

godot --upwards nested_scene.tscn

Créer un projet

La création d'un projet à partir de la ligne de commande peut se faire en naviguant dans le shell jusqu'à l'endroit désiré et en créant un fichier project.godot.

mkdir newgame
cd newgame
touch project.godot

Le projet peut maintenant être ouvert avec Godot.

Exécution de l'éditeur

L'exécution de l'éditeur se fait en exécutant Godot avec le paramètre -e. Cela doit être fait depuis le répertoire du projet ou un sous-répertoire comme expliqué au dessus, sinon la commande est ignorée et le gestionnaire de projet apparaît.

godot -e

En passant le chemin complet vers le fichier project.godot, le drapeau -e peut être omis.

Si une scène a été créée et enregistrée, elle peut être modifiée ultérieurement en exécutant le même code avec la dite scène en argument.

godot -e scene.tscn

Effacer une scène

Godot respecte votre système de fichiers et ne créera pas de fichiers de métadonnées supplémentaires. Utilisez rm pour effacer un fichier de scène. Assurez-vous que rien ne fait référence à cette scène, sinon cela provoquera une erreur à l’ouverture.

rm scene.tscn

Éxécuter le jeu

Pour lancer le jeu, il suffit d'exécuter Godot dans le répertoire ou sous-répertoire du projet comme expliqué au dessus.

godot

Notez que passer le fichier project.godot va toujours exécuter l'éditeur au lieu d’exécuter le jeu.

Lorsqu'une scène spécifique doit être testée, passez cette scène à la ligne de commande.

godot scene.tscn

Débogage

Intercepter les erreurs dans la ligne de commande peut être une tâche difficile car elles ne font que défiler. Pour cela, un débogueur de ligne de commande est fourni en ajoutant -d. Cela fonctionne à la fois pour exécuter le jeu ou une simple scène.

godot -d
godot -d scene.tscn

Exportation

L'exportation du projet à partir de la ligne de commande est également prise en charge. Ceci est particulièrement utile pour les configurations d'intégration continue.

Note

Utiliser l'argument de ligne de commande --headless est requis sur les plates-formes qui n'ont pas d'accès au GPU (comme en intégration continue). Sur les plates-formes avec accès au GPU, --headless empêche une fenêtre d'apparaître pendant que le projet est exporté.

# `godot` must be a Godot editor binary, not an export template.
# Also, export templates must be installed for the editor
# (or a valid custom export template must be defined in the export preset).
godot --headless --export-release "Linux/X11" /var/builds/project
godot --headless --export-release Android /var/builds/project.apk

Le nom du préréglage doit correspondre au nom d'un préréglage d'exportation défini dans le fichier export_presets.cfg du projet. Si le nom du préréglage contient des espaces ou des caractères spéciaux (tels que "Windows Desktop"), il doit être entouré de guillemets.

Pour exporter une version de débogage du jeu, utilisez le commutateur --export-debug au lieu de --export-release. Leurs paramètres et leur utilisation sont les mêmes.

Pour exporter uniquement un fichier PCK, utilisez l'option --export-pack suivie du nom du préréglage et du chemin de sortie, avec l'extension du fichier, au lieu de --export-release ou export-debug. L'extension du chemin de sortie détermine le format du paquet, soit PCK soit ZIP.

Avertissement

Lorsque vous spécifiez un chemin relatif comme chemin pour --export-release, --export-debug ou --export-pack, le chemin sera relatif au répertoire contenant le fichier project.godot, non relatif au répertoire de travail actuel.

Exécuter un script

Il est possible d'exécuter un simple script .gd en ligne de commande. Cette fonctionnalité est particulièrement utile dans les grands projets, par ex. pour la conversion groupée de ressources, ou l’import/export personnalisé.

Le script doit hériter de SceneTree ou MainLoop.

Voici un exemple sayhello.gd, montrant son fonctionnement :

#!/usr/bin/env -S godot -s
extends SceneTree

func _init():
    print("Hello!")
    quit()

Et comment l'exécuter :

# Prints "Hello!" to standard output.
godot -s sayhello.gd

Si aucun fichier project.godot n'existe au chemin, le chemin courant est supposé être le répertoire de travail courant (sauf si --path est spécifié).

La première ligne de sayhello.gd ci-dessus est communément appelée shebang. Si le binaire Godot se trouve dans votre PATH en tant que godot, il vous permet d'exécuter le script comme suit dans les distributions Linux modernes, ainsi que dans macOS :

# Mark script as executable.
chmod +x sayhello.gd
# Prints "Hello!" to standard output.
./sayhello.gd

Si ce qui précède ne fonctionne pas dans votre version actuelle de Linux ou de macOS, vous pouvez toujours faire en sorte que le shebang exécute Godot directement à partir de l'endroit où il se trouve comme suit :

#!/usr/bin/godot -s