Befehlszeilen-Tutorial

Manche Entwickler lieben es, die Befehlszeile ausgiebig zu nutzen. Godot wurde dazu designt, für diese Nutzer auch nützlich zu sein, d.h. hier die Anleitung um vollumfänglich von der Befehlszeile aus zu arbeiten. Dadurch dass die Engine sich fast ausschließlich nur auf eigenen Code stützt und kaum externe Bibliotheken verwendet gehen die Initialisierungszeiten ziemlich schnell von statten, was sich als praktisch für diese Arbeitsweise herausstellt.

Kommandozeilenparameter

General options

Befehl Beschreibung
-h, --help, /? Zeigt die Liste der Befehlszeilen-Optionen.
--version Zeigt die Versions-Zeichenkette.
-v, --verbose Use verbose stdout mode.
--quiet Ruhiger Modus, unterdrückt stdout Nachrichten. Fehler werden immer noch angezeigt.

Run options

Befehl Beschreibung
-e, --editor Starte den Editor anstelle der laufenden Szene (Tools müssen aktiviert sein).
-p, --project-manager Starte die Projektverwaltung, selbst wenn ein Projekt automatisch erkannt wird (Tools muss aktiviert sein).
-q, --quit Beende nach dem ersten Schleifendurchgang.
-l <locale>, --language <locale> Use a specific locale (<locale> being a two-letter code). See Locales for more details.
--path <directory> Path to a project (<directory> must contain a 'project.godot' file).
-u, --upwards Scan folders upwards for 'project.godot' file.
--main-pack <file> Path to a pack (.pck) file to load.
--render-thread <mode> Render thread mode ('unsafe', 'safe', 'separate'). See Thread Model for more details.
--remote-fs <address> Remote filesystem (<host/IP>[:<port>] address).
--audio-driver <driver> Audio driver. Use --help first to display the list of available drivers.
--video-driver <driver> Video driver. Use --help first to display the list of available drivers.

Display options

Befehl Beschreibung
-f, --fullscreen Request fullscreen mode.
-m, --maximized Request a maximized window.
-w, --windowed Request windowed mode.
-t, --always-on-top Request an always-on-top window.
--resolution <W>x<H> Request window resolution.
--position <X>,<Y> Request window position.
--low-dpi Force low-DPI mode (macOS and Windows only).
--no-window Disable window creation (Windows only). Useful together with --script.

Debug options

Bemerkung

Debug options are only available in the editor and debug export templates (they require debug or release_debug build targets, see Ziel for more details).

Befehl Beschreibung
-d, --debug Debug (local stdout debugger).
-b, --breakpoints Breakpoint list as source::line comma-separated pairs, no spaces (use %%20 instead).
--profiling Enable profiling in the script debugger.
--remote-debug <address> Remote debug (<host/IP>:<port> address).
--debug-collisions Show collision shapes when running the scene.
--debug-navigation Show navigation polygons when running the scene.
--frame-delay <ms> Simuliert eine hohe CPU Auslastung (verzögert jedes Bild um <ms> Millisekunden).
--time-scale <scale> Force time scale (higher values are faster, 1.0 is normal speed).
--disable-render-loop Disable render loop so rendering only occurs when called explicitly from script.
--disable-crash-handler Disable crash handler when supported by the platform code.
--fixed-fps <fps> Force a fixed number of frames per second. This setting disables real-time synchronization.
--print-fps Gibt die Bilder pro Sekunde an stdout.

Eigenständige Werkzeuge

Befehl Beschreibung
-s <script>, --script <script> Ein Skript ausführen.
--check-only Only parse for errors and quit (use with --script).
--export <target> Export the project using the given export target. Export only main pack if path ends with .pck or .zip (tools must be enabled).
--export-debug <target> Like --export, but use debug template (tools must be enabled).
--doctool <path> Dump the engine API reference to the given <path> in XML format, merging if existing files are found (tools must be enabled).
--no-docbase Disallow dumping the base types (used with --doctool, tools must be enabled).
--build-solutions Build the scripting solutions (e.g. for C# projects, tools must be enabled).
--gdnative-generate-json-api Generate JSON dump of the Godot API for GDNative bindings (tools must be enabled).
--test <test> Run a unit test. Use --help first to display the list of tests. (tools must be enabled).

Pfad

Es wird empfohlen das Godot Programm in die PATH Umgebungsvariable aufzunehmen, so daß es von überall einfach durch Eingabe von godot``erreicht werden kann. Hierfür muss bei Linux die Datei in ``/usr/local/bin stehen und der Name der Datei sollte ``godot``sein.

Projektpfad setzen

Abhängig davon wo sich das Godot Programm befindet und welches das aktuelle Arbeitsverzeichnis ist, sollte man den Pfad zum Projekt setzen, damit die folgenden Befehle korrekt funktionieren.

Hierzu kann der Pfad in der project.godot Datei des Projekts entweder wie folgt als erstes Argument eingetragen werden:

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

oder durch nutzen des --path Arguments:

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

Zum Beispiel, der vollständige Befehl zum exportieren deines Spiels (wie unten beschrieben) sieht in etwa so aus:

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

Projekt erzeugen

Ein neues Projekt kann auch über die Kommandozeile erzeugt werden indem in der Shell (Eingabeaufforderung) zum gewünschten Verzeichnis gewechselt und eine Datei project.godot erzeugt wird.

mkdir newgame
cd newgame
touch project.godot

Das Projekt kann nun mit Godot geöffnet werden.

Editor starten

Den Editor startet man durch ausführen von Godot mit dem -e Flag. Dies muss aus dem Projekt-Verzeichnis oder einem Unterverzeichnis geschehen, ansonsten wird der Befehl ignoriert und der Projekt Manager erscheint.

godot -e

Eine Szene wurde erzeugt und gespeichert, sie kann später editiert werden mit dem gleichen Code und der Szene als Argument.

godot -e scene.tscn

Szene löschen

Godot schont dein Filesystem und wird keine extra Metadata Dateien erzeugen. Nutze rm um eine Szenendatei zu löschen. Stelle sicher, dass nichts auf diese Szene verweist, ansonsten wird beim Öffnen ein Fehler angezeigt.

rm scene.tscn

Spiel starten

Um das Spiel zu starten einfach Godot ausführen innerhalb des Projekt Verzeichnisses oder Unterverzeichnisses.

godot

Wenn eine spezielle Szene getestet werden muss, füge diese Szene in der Eingabeaufforderung ein.

godot scene.tscn

Debugging

Auf der Kommandozeile Fehler erkennen ist schwierig, da diese nur so vorbeirauschen. Hierfür gibt es einen Kommandozeilen-Debugger indem -d angefügt wird. Dies funktioniert sowohl mit Spielen als auch einfachen Szenen.

godot -d
godot -d scene.tscn

Exportieren

Exporting the project from the command line is also supported. This is especially useful for continuous integration setups. The version of Godot that is headless (server build, no video) is ideal for this.

godot --export "Linux/X11" /var/builds/project
godot --export Android /var/builds/project.apk

The platform names recognized by the --export switch are the same as displayed in the export wizard of the editor. To get a list of supported platforms from the command line, try exporting to a non-recognized platform and the full listing of platforms your configuration supports will be shown.

To export a debug version of the game, use the --export-debug switch instead of --export. Their parameters and usage are the same.

ein Skript starten

It is possible to run a simple .gd script from the command line. This feature is especially useful in large projects, e.g. for batch conversion of assets or custom import/export.

The script must inherit from SceneTree or MainLoop.

Hier ein kleines Beispiel wie es funktioniert:

# sayhello.gd
extends SceneTree

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

und so startet man es:

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

If no project.godot exists at the path, current path is assumed to be the current working directory (unless --path is specified).