reckfellENGINE

Экспорт для Linux: сборка и комплект файлов

Архитектуры, шаблоны, PCK, C#-публикация, права исполнения и диагностика запуска.

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

Экспорт для Linux создаёт запускаемый файл из Linux-шаблона и данные проекта. Это не копирование редактора и не компиляция исходников движка. Факт успешного экспорта ещё не подтверждает запуск на целевой системе.

Подготовить и экспортировать

  1. Сохраните проект, назначьте главный уровень или стартовый префаб и проверьте локальный запуск.
  2. В Project → Export добавьте пресет Linux. Нужен Linux-шаблон версии 1.0.0 выбранной архитектуры и режима debug/release. Пункт платформы в меню не доказывает наличие шаблонов.
  3. Задайте binary_format/architecture. По умолчанию x86_64. Шаблон, сторонние native-библиотеки и C#-публикация должны соответствовать целевой архитектуре.
  4. Проверьте Resources/фильтры экспорта. Оставьте хотя бы один формат текстур: texture_format/s3tc_bptc или texture_format/etc2_astc. По умолчанию первый включён, второй выключен. Поддержку выбранного формата проверяйте на GPU целевой машины, а не только по архитектуре CPU.
  5. Выберите Export Project и отдельную выходную папку вне исходников проекта. Для релиза отключите Export With Debug, для диагностики оставьте включённым. Не подменяйте debug-шаблон release-шаблоном и наоборот.
  6. Перенесите весь результат на Linux, распакуйте в отдельную папку и запустите из терминала. Проверьте старт, загрузку уровней, сохранения, звук и графику на целевой машине.

При использовании собственных шаблонов включите Advanced Options и задайте custom_template/debug и custom_template/release. Экспортёр сверяет архитектуру custom ELF с пресетом. Windows .exe не является Linux-шаблоном. Имена стандартных шаблонов имеют вид linux_debug.x86_64 и linux_release.x86_64; наличие этих имён в коде не означает, что файлы установлены.

Выбрать архитектуру

ЗначениеЦелевой CPU
x86_6464-битный x86.
x86_3232-битный x86; нужны соответствующие библиотеки и загрузчик.
arm6464-битный ARM.
arm3232-битный ARM.
rv6464-битный RISC-V.
ppc6464-битный PowerPC.
loongarch6464-битный LoongArch.

Это список вариантов пресета, а не перечень готовых и проверенных сборок. Для каждого нужен подходящий шаблон. Текущий .NET-плагин формирует ветки публикации для x86_64, x86_32, arm64 и arm32; это тоже не гарантия наличия .NET runtime pack и всех native-зависимостей. Наличие rv64, ppc64 или loongarch64 в общем меню не подтверждает C#-экспорт для них. Linux-экспорт также не гарантирует совместимость с произвольной BSD-системой.

Какие файлы передавать

При имени MyGame.x86_64 и выключенном binary_format/embed_pck экспортёр создаёт MyGame.pck рядом. Не переименовывайте только один из этих файлов. В зависимости от проекта рядом могут находиться каталог data_… с C#-публикацией и native .so библиотеки. Сохраняйте структуру всего выходного каталога.

Настройка или действиеРезультат
binary_format/embed_pck = falseДанные в отдельном PCK; значение по умолчанию.
binary_format/embed_pck = truePCK встроен в исполняемый файл. Это не встраивает автоматически все внешние библиотеки и данные C#.
Export Project с расширением .zipLinux-экспортёр упаковывает результат экспорта проекта в ZIP.
Export PCK/ZIPТолько данные проекта; это не самостоятельная запускаемая игра.
debug/export_console_wrapper0 — без wrapper, 1 — только debug, 2 — debug и release. По умолчанию 1; wrapper имеет расширение .sh.

На 32-битном экспорте встроенный PCK должен быть меньше 4 GiB. Для большого проекта используйте подходящую архитектуру или отдельный PCK вместо обхода проверки переименованием файла.

C# и зависимости

Для C# нужен подходящий .NET export template и SDK на компьютере сборки. Плагин запускает dotnet publish под целевой runtime identifier и проверяет наличие сборки проекта или NativeAOT-библиотеки. Ошибки MSBuild/publish исправляйте до упаковки; копирование Windows-результата публикации не заменяет Linux-публикацию.

dotnet/embed_build_outputs по умолчанию false: опубликованные файлы передаются рядом с исполняемым файлом в сгенерированной структуре data_…. При true они помещаются в ресурсы проекта; при этом сторонние native-расширения всё равно могут требовать внешних файлов. binary_format/embed_pck и dotnet/embed_build_outputs — разные настройки. Не удаляйте .so и другие файлы только потому, что основной PCK встроен.

Шаблон и зависимости задают требования к системным библиотекам. Проверяйте пакет на целевом дистрибутиве: запуск на машине сборки не проверяет ABI, загрузчик, графический драйвер или зависимости другой системы.

Запустить и найти причину ошибки

Откройте терминал в распакованной папке. Для примера с именем MyGame.x86_64:

Командная строка
chmod +x ./MyGame.x86_64
./MyGame.x86_64

Команды предназначены для Linux; они не выполнялись в Windows-проверке. После распаковки права исполнения могут зависеть от архиватора и файловой системы. Штатный Linux-exporter задаёт режим 0755, но проверяйте перенесённый файл.

СимптомПроверка
Permission deniedПраво исполнения, доступ к каталогам и mount-опция noexec; один chmod не исправляет noexec.
Exec format errorАрхитектура и формат ELF, затем соответствие native-зависимостей.
Файл существует, но No such file or directoryПроверьте путь и наличие ELF-загрузчика, требуемого сборкой.
Не найден PCKИмя/расположение PCK и сохранность всего каталога после переноса.
Не загружается C# или .soПолнота data/native-файлов, правильный target публикации и сообщения загрузчика.
Ошибка создания Vulkan/OpenGL устройстваДрайвер и поддержка выбранного renderer на целевом GPU.

Причины ошибок исполнения описаны в Linux execve(2). Для удалённого запуска через SSH см. Remote Deploy. Для ключа RECKFELL_SCRIPT_ENCRYPTION_KEY и шифрования нужны согласованные шаблоны и настройки: шифрование PCK.

В установленном Windows-редакторе проверены создание отдельного Linux-пресета, значения опций и изменение его настроек. Упаковка, .NET publish, права файлов и запуск на Linux сверены только по исходникам и документации ОС; готовый Linux-пакет, целевая ABI/графика и поддержка всех архитектур этим прогоном не проверены.

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

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

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

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