reckfellENGINE

Командная строка: импорт, запуск и проверка C#

Запустить нужный проект, передать аргументы и проверить завершение.

На этой странице

Используйте установленный исполняемый файл Reckfell Engine 1.0.0. Для C#-проекта нужны соответствующие SDK, восстановленные зависимости и успешная сборка .csproj. Командная строка не заменяет сборку C#.

PowerShell: пути с пробелами

Замените два пути своими абсолютными путями. $engineExe указывает на файл, а $projectDir — на каталог с project.reckfell:

PowerShell
$engineExe = 'C:\Tools\Reckfell\Reckfell Engine.console.exe'
$projectDir = 'C:\Projects\My Game'
& $engineExe --version
& $engineExe --help

Оператор & запускает файл из строковой переменной. Не собирайте одну длинную строку команды и не используйте Invoke-Expression. В проверенной сборке --version возвращает 1.0.0; --help показывает доступные именно этой сборке параметры и их ограничения.

Импорт и запуск

PowerShell
& $engineExe --headless --path $projectDir --editor --import
if ($LASTEXITCODE -ne 0) { throw 'Resource import failed' }
& $engineExe --path $projectDir

--path выбирает проект независимо от текущего каталога терминала. --editor --import ждёт импорта ресурсов и завершает процесс. Для видимого редактора используйте --editor без --import и без --headless. Последняя команда выше запускает главный уровень, указанный в проекте.

Для конкретного уровня передайте --scene 'asset://Levels/Main.rscene'; файл должен существовать в выбранном проекте. Не передавайте .cs в --script как замену запуска обычной Entity: приведённые ниже C#-примеры запускаются в уровне.

Аргументы игры

Всё после -- — пользовательские аргументы. Движок больше не интерпретирует их как свои параметры. Например, --headless после разделителя не включает headless-режим.

PowerShell
& $engineExe --headless --path $projectDir -- --smoke-test

Сохраните CliSmokeTest.cs, прикрепите его к Entity главного уровня и пересоберите C#-проект:

C#
using Reckfell;
using System;

public partial class CliSmokeTest : Entity
{
    public override void _Ready()
    {
        if (Array.IndexOf(OS.GetCmdlineUserArgs(), "--smoke-test") < 0) return;
        ReckfellApi.Print("SMOKE_READY");
        GetTree().Quit();
    }
}

Ожидаемый результат: в консоли появляется SMOKE_READY, процесс завершается с кодом 0. Без --smoke-test этот скрипт не завершает игру. Он доказывает загрузку уровня и выполнение _Ready, а не качество графики, физики или всей игры.

OS.GetCmdlineUserArgs() возвращает аргументы после разделителя; OS.GetCmdlineArgs() — аргументы движка без пользовательского хвоста. Значение с пробелами передавайте одним аргументом, например '--name=My Game'.

Ограничить запуск и получить журнал

ПараметрНазначение
--headlessБез окна, с headless-дисплеем и Dummy-аудио. Не является проверкой визуального результата или звука.
--quit-after 3Завершение после трёх итераций обработки; это не три секунды и не утверждение об успешности сценария.
--max-fps 60Устанавливает ограничение текущего FPS. Не гарантирует достижение 60 FPS.
--log-file 'C:\Logs\run.log'Явный путь журнала; родительский каталог должен быть доступен для записи.

Для автоматизации проверяйте код процесса и собственный признак завершённого сценария. Один код 0 после --quit-after не доказывает, что тестовая логика успела выполниться. В своём обработчике ошибки возвращайте ненулевой код через GetTree().Quit(code); подробности — выход из игры.

Если не запускается

  • Открывается другой проект: проверьте --path и наличие в каталоге project.reckfell.
  • Путь с пробелами распадается: используйте переменную или один аргумент в кавычках.
  • C#-тип не загружается: сначала исправьте ошибки сборки и проверьте соответствие SDK, затем импортируйте ресурсы.
  • Параметр игнорируется: убедитесь, что он стоит до -- и доступен в выводе --help данной сборки. Опции редактора не обязаны существовать в экспортном шаблоне.

Проверены реальные процессы: версия, справка, импорт из другого рабочего каталога, путь проекта с пробелами, аргументы игры, FPS, файл журнала, явный уровень, точный smoke-скрипт и три кадра обработки до --quit-after 3. Экспорт, графический редактор, остальные ключи и исполнение примеров именно оболочкой PowerShell не проверены: запуск тестов использует отдельные аргументы процесса.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.