Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Використання командного рядка

Деякі розробники люблять широко використовувати командний рядок. Godot розроблений так, щоб бути дружелюбним до них, тому ось кроки для роботи виключно з командного рядка. З огляду на те, що движок майже не має зовнішніх бібліотек, час ініціалізації досить швидкий, що робить його придатним для цього робочого процесу.

Примітка

В Windows і Linux, ви можете запустити бінарник Godot в терміналі, вказавши його відносний, чи точний, шлях.

У macOS процес відрізняється, оскільки Godot міститься в пакеті .app (який є папкою, а не файлом). Щоб запустити бінарний файл Godot з терміналу в macOS, потрібно cd перейти до папки, де знаходиться пакет програми Godot, потім виконати Godot.app/Contents/MacOS/Godot, а потім додати будь-які аргументи командного рядка. Якщо ви перейменували пакет програми з Godot на іншу назву, обов’язково відредагуйте цей командний рядок відповідно.

Команди командного рядка

Легенда

  • реліз Доступно в збірках редакторів, шаблонах експорту налагодження та випуску шаблонів експорту.

  • налагоджувати Доступно лише для збірок редакторів і шаблонів експорту налагодження.

  • розширений Доступно лише у збірках редактора та шаблонах експорту, скомпільованих за допомогою disable_path_overrides=false.

  • редактор Доступно лише в збірках редактора.

Зауважте, що невідомі аргументи командного рядка не мають ніякого ефекту. Механізм не попереджатиме вас про використання аргументу командного рядка, який не існує з даним типом збірки.

Загальні команди

Команда

Опис

-h, --help

реліз Відобразити список параметрів командного рядка.

--version

реліз Відобразити рядок версії.

-v, --verbose

реліз Використовуйте режим докладного стандартного виводу.

-q, --quiet

реліз Тихий режим, вимикає повідомлення стандартного виводу. Помилки все ще відображаються.

--no-header

реліз Не друкувати версію движка та заголовок методу рендерингу під час запуску.

Команди запуску

Команда

Опис

--, ++

реліз Роздільник для наданих користувачем аргументів. Наступні аргументи не використовуються системою, але їх можна зчитувати OS.get_cmdline_user_args().

-e, --editor

редактор Запустіть редактор замість запуску сцени.

-p, --project-manager

редактор Запустіть менеджер проектів, навіть якщо проект визначено автоматично.

--recovery-mode

редактор "Запустіть редактор у режимі відновлення, що вимикає функції, які зазвичай можуть спричиняти збої під час запуску, такі як скрипти інструментів, плагіни редактора, доповнення GDExtension та інші.

--debug-server <uri>

редактор Запустіть сервер налагодження редактора (<protocol>://<host/IP>[:<port>], напр. tcp://127.0.0.1:6007)

--dap-port <port>

редактор Використовуйте вказаний порт для протоколу адаптера налагодження GDScript. Рекомендований діапазон портів [1024, 49151].

--lsp-port <port>

редактор Використовуйте вказаний порт для протоколу сервера мови GDScript. Рекомендований діапазон портів [1024, 49151].

--вийти

реліз Вийти після першої ітерації.

--quit-after

реліз Вийти після вказаної кількості ітерацій. Встановіть 0, щоб вимкнути.

-l, --language <локаль>

реліз Використовуйте певну мову. <locale> відповідає формату language_Script_COUNTRY_VARIANT, де мова – це 2- або 3-літерний код мови в нижньому регістрі, а решта необов’язкова. Дивіться Локальні коди для отримання додаткової інформації.

--path <каталог>

розширений Шлях до проєкту (<каталог> має містити файл "project.godot").

--scene <path>

розширений Шлях або UID сцени в проєкті, яку слід запустити.

--main-pack <file>

розширений Шлях до файлу пакету (.pck) для завантаження.

--render-thread <mode>

реліз Режим рендерингу потоку ("небезпечний", "безпечний", "окремий"). Див. Thread Model для отримання додаткової інформації.

--remote-fs <address>

реліз Віддалена файлова система (<host/IP>[:<port>] адреса).

--remote-fs-password <пароль>

реліз Пароль для віддаленої файлової системи.

--audio-driver <driver>

реліз Аудіо драйвер. Спочатку використовуйте --help, щоб відобразити список доступних драйверів.

--display-driver <драйвер>

реліз Драйвер дисплея (та драйвер візуалізації). Спочатку використовуйте --help, щоб відобразити список доступних драйверів.

--audio-output-latency <ms>

реліз Змінити затримку виведення аудіо в мілісекундах (за замовчуванням 15 мс). Нижчі значення роблять відтворення звуку більш реактивним, але збільшують використання процесора та можуть призвести до переривання звуку, якщо процесор не встигає за цим.

--rendering-method <renderer>

реліз Renderer name. Valid values are forward_plus, mobile, and gl_compatibility. Requires driver support.

--rendering-driver <драйвер>

реліз Драйвер візуалізації (залежить від драйвера дисплея). Спочатку використовуйте --help, щоб відобразити список доступних драйверів.

--gpu-index <індекс_пристрою>

реліз Use a specific GPU (only available on the Forward+/Mobile renderers; run with --verbose to get available device list).

--text-driver <драйвер>

реліз Текстовий драйвер (Шрифти, BiDi, формування).

--tablet-driver <драйвер>

реліз Драйвер введення перо планшета.

--безголовий

реліз Увімкнути безголовий режим (--display-driver headless --audio-driver Dummy). Корисно для серверів і з --script.

--log-file

реліз Записувати вивід/журнал помилок за вказаним шляхом, а не за місцем розташування за замовчуванням, визначеним проектом. Шлях <файл> має бути абсолютним або відносним до каталогу проекту.

--write-movie <файл>

реліз Запустіть двигун так, як написаний фільм (зазвичай із розширенням .avi або .png). --fixed-fps є примусовим, якщо ввімкнено, але його можна використовувати для зміни частоти кадрів у секунду фільму. --disable-vsync може прискорити написання фільму, але ускладнює взаємодію. --quit-after можна використовувати для визначення кількості кадрів для запису.

Команди відображення

Команда

Опис

-f, --fullscreen

реліз Запит на повноекранний режим.

-m, --maximized

реліз Запит на розгорнуте вікно.

-w, --windowed

реліз Запит віконного режиму.

-t, --always-on-top

реліз Подайте запит на вікно, яке завжди відображається зверху.

--resolution <W>x<H>

реліз Роздільна здатність вікна запиту.

--position <X>,<Y>

реліз Розташування вікна запиту.

--екран <N>

реліз Екран вікна запиту.

--єдине вікно

реліз Використовуйте одне вікно (без окремих підвікон).

--xr-mode <режим>

реліз Виберіть режим XR («за замовчуванням», «вимк.», «увімк.»).

--wid <window_id>

реліз Запит, прив'язаний до вікна.

--accessibility <mode>

реліз Виберіть режим доступності [«авто» (коли працює програма зчитування з екрана, за замовчуванням), «завжди», «вимкнено»].

Команди налагодження

Команда

Опис

-d, --debug

реліз Налагодження (локальний налагоджувач stdout).

-b, --breakpoints

реліз Список точок зупину як пари джерело::рядок, розділені комами, без пробілів (замість цього використовуйте %20).

--ignore-error-breaks

реліз Якщо налагоджувач підключено, запобігає надсиланню точок зупинки помилок.

--profiling

реліз Увімкніть профілювання в налагоджувачі сценаріїв.

--gpu-profile

реліз Показати профіль GPU для завдань, які займали найбільше часу під час рендерингу кадру.

--gpu-validation

реліз Увімкніть графічний API шари перевірки для налагодження.

--gpu-abort

налагоджувати Переривання через помилки GPU (зазвичай помилки рівня перевірки) може допомогти виявити проблему, якщо ваша система зависає.

--generate-spirv-debug-info

налагоджувати Генерувати налагоджувальну інформацію SPIR-V. Це дозволяє налагоджувати шейдери на рівні вихідного коду за допомогою RenderDoc.

--extra-gpu-memory-tracking

налагоджувати Вмикає додаткове відстеження пам'яті (див. посилання на клас для RenderingDevice.get_driver_and_device_memory_report() та пов'язаних методів). Наразі реалізовано лише для Vulkan. Увімкнення цієї функції може спричинити збої в деяких системах через помилки драйверів або помилки в завантажувачі Vulkan. Див. https://github.com/godotengine/godot/issues/95967

--accurate-breadcrumbs

налагоджувати Примусове встановлення бар'єрів між хлібними крихтами. Корисно для звуження команди, яка викликає перезавантаження графічного процесора. Наразі реалізовано лише для Vulkan.

--remote-debug <uri>

реліз Віддалене налагодження (<протокол>://<хост/IP>[:<порт>], наприклад tcp://127.0.0.1:6007).

--single-threaded-scene

реліз Дерево сцен працює в однопоточному режимі. Групи підпотоків вимкнено та запускаються в основному потоці.

--debug-collisions

налагоджувати Показувати форми зіткнень під час запуску сцени.

--debug-paths

налагоджувати Показувати лінії шляху під час запуску сцени.

--debug-navigation

налагоджувати Показувати полігони навігації під час запуску сцени.

--debug-avoidance

налагоджувати Показувати візуальні ефекти налагодження уникнення навігації під час запуску сцени.

--debug-stringnames

налагоджувати Вивести всі розподіли StringName у стандартний вивід, коли механізм завершує роботу.

--debug-canvas-item-redraw

налагоджувати Відображати прямокутник щоразу, коли елемент полотна запитує перемальовування (корисно для усунення несправностей у режимі низького навантаження процесора).

--max-fps <fps>

реліз Встановіть максимальну кількість кадрів за секунду під час рендерингу (можна використовувати для обмеження енергоспоживання). Значення 0 призводить до необмеженої частоти кадрів.

--frame-delay <ms>

реліз Імітувати високе навантаження на процесор (затримувати кожен кадр на <мс> мілісекунд). Не використовувати як обмежувач FPS; замість цього використовуйте --max-fps.

--time-scale <scale>

реліз Шкала часу форсування (більше значення – швидше, 1,0 – нормальна швидкість).

--disable-vsync

реліз Примусово вимикає вертикальну синхронізацію, навіть якщо її ввімкнено в налаштуваннях проекту. Не скасовує примусове застосування V-Sync на рівні драйвера.

--disable-render-loop

реліз Вимкніть цикл візуалізації, щоб рендеринг відбувався лише під час явного виклику зі сценарію.

--disable-crash-handler

реліз Вимкнути обробник збоїв, якщо це підтримується кодом платформи.

--fixed-fps <fps>

реліз Примусово встановити фіксовану кількість кадрів за секунду. Цей параметр вимикає синхронізацію в реальному часі.

--delta-smoothing <включити>

реліз Увімкнути або вимкнути згладжування дельти кадру («увімкнути», «вимкнути»).

--print-fps

реліз Вивести кількість кадрів за секунду в стандартний вихід.

--editor-pseudolocalization

редактор Увімкнути псевдолокалізацію для редактора та керівника проєкту.

Автономні інструменти

Команда

Опис

-s, --script <script>

розширений Запустіть скрипт. <script> має бути шляхом до ресурсу відносно проекту (myscript.gd буде інтерпретовано як res://my_script.gd) або абсолютним шляхом до файлової системи (наприклад, у Windows: C:/tmp/my_script.gd).

--main-loop <main_loop_name>

розширений Запустити MainLoop, визначений його глобальною назвою класу.

--check-only

розширений Тільки аналізувати на наявність помилок та завершувати роботу (використовувати з --script).

--імпорт

редактор Запускає редактор, очікує, поки будь-які ресурси будуть імпортовані, а потім завершує роботу. Має на увазі --editor і --quit.

--export-release <попереднє налаштування> <шлях>

редактор Експортуйте проєкт у режимі випуску, використовуючи заданий пресет та вихідний шлях. Назва пресету повинна збігатися з назвою, визначеною в "export_presets.cfg". <шлях> має бути абсолютним або відносним до каталогу проєкту та містити назву файлу для бінарного файлу (наприклад, "builds/game.exe"). Цільовий каталог має існувати.

--export-debug <попереднє налаштування> <шлях>

редактор Як --export-release, але використовувати шаблон налагодження. Має на увазі --import.

--export-pack <preset> <path>

редактор Подібно до --export-release, але експортувати лише ігровий пакет для заданого стилю. Розширення <path> визначає, чи буде він у форматі PCK чи ZIP. Має на увазі --import.

--export-patch <preset> <path>

редактор Експортувати пакет лише зі зміненими файлами. Див. опис --export-pack для інших міркувань.

--patches <paths>

редактор Список патчів для використання з --export-patch. Список розділяється комами.

--install-android-build-template

редактор Встановіть шаблон збірки Android. Використовується разом з --export-release або --export-debug.

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

редактор Перетворення проекту з Godot 3.x на Godot 4.x.

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

редактор Показати, які елементи будуть перейменовані під час перетворення проекту з Godot 3.x на Godot 4.x.

--doctool [<шлях>]

редактор Дамп посилання на API двигуна до вказаного <шлях> у форматі XML, об’єднуючи, якщо знайдено існуючі файли.

--no-docbase

редактор Заборонити скидання базових типів (використовується з --doctool).

--gdextension-docs

редактор Замість створення дампу API рушія, згенеруйте посилання на API з усіх GDExtensions, завантажених у поточному проєкті (використовується з --doctool).

--gdscript-docs <шлях>

редактор Замість того, щоб створювати дамп API рушія, згенеруйте посилання на API з вбудованої документації у файлах GDScript, що знаходяться в <шлях> (використовується з --doctool).

--build-solutions

редактор Створюйте рішення для сценаріїв (наприклад, для проектів C#). Має на увазі --editor і вимагає дійсного проекту для редагування.

--dump-gdextension-interface

редактор Згенерувати заголовковий файл GDExtension "gdextension_interface.h" у поточній папці. Цей файл є базовим файлом, необхідним для реалізації GDExtension.

--dump-gdextension-interface-json

редактор Згенерувати JSON-дамп інтерфейсу GDExtension з назвою "gdextension_interface.json" у поточній папці.

--dump-extension-api

редактор Згенерувати JSON-дамп Godot API для прив'язок GDExtension з назвою "extension_api.json" у поточній папці.

--dump-extension-api-with-docs

редактор Згенеруйте JSON-дамп Godot API, як і в попередньому варіанті, але з документацією.

--validate-extension-api <шлях>

редактор Перевірте файл розширення API, викинутий (з опцією вище) із попередньої версії механізму, щоб забезпечити сумісність API. Якщо виявлено несумісність або помилки, код повернення буде ненульовим.

--еталон

редактор Порівняйте час виконання та роздрукуйте його на консолі.

--benchmark-file <шлях>

редактор Перевірте час виконання та збережіть його у заданому файлі у форматі JSON. Шлях повинен бути абсолютним.

--test [--help]

редактор Запустіть unit tests (потрібна компіляція рушія з tests=yes). Використовуйте --test --help для отримання додаткової інформації.

Шлях

Рекомендовано розмістити двійковий файл редактора Godot у змінній середовища PATH, щоб його можна було легко виконати з будь-якого місця, ввівши godot. Ви можете зробити це в Linux, помістивши двійковий файл Godot у /usr/local/bin і переконавшись, що він називається godot (з урахуванням регістру).

Щоб легко досягти цього в Windows або macOS, ви можете встановити Godot за допомогою Scoop (у Windows) або Homebrew (у macOS). Це автоматично зробить встановлену копію Godot доступною в 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

Налаштування шляху проєкта

Залежно від того, де розміщений ваш бінарний файл Godot та який ваш поточний робочий каталог, вам може знадобитися встановити шлях до вашого проєкту, щоб будь-яка з наступних команд працювала правильно.

Під час запуску редактора це можна зробити, вказавши шлях до файлу project.godot вашого проекту як перший аргумент, наприклад:

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

Для всіх команд це можна зробити за допомогою аргументу --path:

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

Наприклад, повна команда експорту вашої гри (описано нижче) може виглядати так:

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

Починаючи з підкаталогу вашого проекту, використовуйте аргумент --upwards для Godot, щоб автоматично знайти файл project.godot шляхом рекурсивного пошуку в батьківських каталогах.

Наприклад, запуск сцени (як пояснюється нижче), вкладеної в підкаталог, може виглядати так, якщо ваш робочий каталог знаходиться в тому самому шляху:

godot --upwards nested_scene.tscn

Як створити проєкт

Створити проект із командного рядка можна, перейшовши в оболонку до потрібного місця та створивши файл project.godot.

mkdir newgame
cd newgame
touch project.godot

Тепер проєкт можна відкрити в Godot.

Запуск редактора

Запуск редактора виконується виконанням Godot з прапорцем -e. Це потрібно зробити з каталогу проекту або шляхом встановлення шляху до проекту, як пояснено вище, інакше команда ігнорується та з’являється менеджер проекту.

godot -e

Під час передачі повного шляху до файлу project.godot прапор -e можна опустити.

Якщо сцена була створена та збережена, її можна буде відредагувати пізніше, запустивши той самий код із цією сценою в якості аргумента.

godot -e scene.tscn

Видаляння сцени

Godot дружить з вашою файловою системою і не буде створювати додаткові файли метаданих. Використовуйте rm, щоб стерти файл сцени. Переконайтеся, що ніщо не посилається на цю сцену. Інакше під час відкриття проекту буде видано повідомлення про помилку.

rm scene.tscn

Запуск гри

Щоб запустити гру, виконайте Godot у каталозі проекту або за допомогою шляху проекту, як описано вище.

godot

Зауважте, що передавання файлу project.godot завжди запускатиме редактор замість запуску гри.

Коли певну сцену потрібно протестувати, передайте її в командний рядок.

godot scene.tscn

Діагностика

Виявлення помилок у командному рядку може бути важким завданням, оскільки вони швидко прокручуються. Для цього налагоджувач командного рядка забезпечується додаванням -d. Він працює для запуску гри або окремої сцени.

godot -d
godot -d scene.tscn

Експортування

Також підтримується експорт проекту з командного рядка. Це особливо корисно для налаштувань постійної інтеграції.

Примітка

Використання аргументу командного рядка --headless є обов’язковим на платформах, які не мають доступу до GPU (наприклад, безперервна інтеграція). На платформах із доступом до GPU --headless запобігає появі вікна під час експорту проекту.

# `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

Назва попередньо встановлених налаштувань має відповідати назві попередньо встановлених параметрів експорту, визначених у файлі проєкту export_presets.cfg. Якщо попередньо встановлена назва містить пробіли, чи спеціальні символи (наприклад, "Windows Desktop"), то вона повинна бути загорнута в лапки.

Щоб експортувати налагоджену версію гри, використовуйте перемикач --export-debug замість --export-release. Їх параметри та використання однакові.

Щоб експортувати лише файл PCK, використовуйте опцію --export-pack, за якою слід попередньо встановлене ім’я та вихідний шлях із розширенням файлу, замість --export-release або --export -debug``. Розширення вихідного шляху визначає формат пакета, PCK або ZIP.

Попередження

Якщо вказати відносного шляху як шлях для --export-release, --export-debug або --export-pack, шлях буде відносним до каталогу, що містить файл project.godot, а не відносним до поточного робочого каталогу.

Запуск скрипта

Скрипт .gd можна запустити з командного рядка. Ця функція особливо корисна у великих проектах, напр. для пакетного перетворення активів або спеціального імпорту/експорту.

Скрипт повинен успадковуватись від SceneTree (Дерева сцен), або MainLoop (Головного циклу).

Ось приклад sayhello.gd, який показує, як це працює:

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

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

І як це запустити:

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

Якщо по шляху немає жодного project.godot, поточний шлях вважається поточним робочим каталогом (якщо не вказано --path).

Шлях скрипта буде інтерпретовано як шлях ресурсу відносно проекту, тут res://sayhello.gd. Ви також можете використовувати замість цього абсолютний шлях до файлової системи, що корисно, якщо скрипт знаходиться поза каталогом проекту.

Перший рядок sayhello.gd вище зазвичай називають шебангом. Якщо бінарник Godot є у вашому PATH як godot, це дозволяє вам запускати скрипт, в сучасних дистрибутивах Linux, а також macOS:

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

Якщо вищевказане не працює у вашій поточній версії Linux, або macOS, ви завжди можете запустити шебанг Godot прямо звідти, де він знаходиться наступним чином:

#!/usr/bin/godot -s