Не смогли запустить ресурс: почему FiveM не запустит ваш скрипт

Couldn't start resource X или Failed to start resource в вашей консоли FiveM? Обычные причины (манифест, имя папки, ошибка Lua, зависимость, escrow) и как найти свою.

Вы запускаете ensure my_script или запускаете сервер, и консоль печатает:

text
Couldn't start resource my_script.

Эта строка только говорит вам результат. Причина находится в строках выше неё. Это руководство перечисляет обычные причины, в порядке стоит проверения, и показывает, как читать консоль, чтобы знать, какую у вас.

Прочитайте строки выше сначала

Прокрутите вверх от Couldn't start resource в консоли сервера, или в живой консоли txAdmin. Строка непосредственно выше почти всегда причина: отсутствующая зависимость, ошибка анализа с файлом и номером строки, или проблема манифеста.

Если консоль слишком шумная, остановите сервер, запустите его снова, и запустите только неудающийся ресурс:

text
ensure my_script

Теперь всё напечатанное сразу после этой команды принадлежит ресурсу.

1. Ресурс не найден

text
Couldn't find resource my_script.

FiveM ищет папку с точным именем my_script где-то под resources, и та папка должна содержать файл с имена fxmanifest.lua (или старый __resource.lua). Проверьте три вещи:

  • Имя в server.cfg совпадает с именем папки, буква за буквой. На хосте Linux, My_Script и my_script различаются.
  • Файл манифеста назван fxmanifest.lua, не fxmanifest.lua.txt (Windows скрывает известные расширения) и не fxmanifest (1).lua.
  • Запустите refresh в консоли сервера после добавления новой папки, затем ensure снова. Запущенный сервер не сканирует новые папки, пока вы не сделаете.

2. Вложенная папка после распаковки

Это самая распространённая ошибка с загруженными скриптами. Вы распакуете my_script.zip и заканчиваются с:

text
resources/
  my_script/
    my_script/
      fxmanifest.lua
      client/
      server/

Манифест один уровень слишком глубокий, поэтому FiveM видит my_script как простую папку без манифеста. Переместите внутреннюю папку вверх, чтобы fxmanifest.lua сидел непосредственно внутри папки, которую вы ensure.

Папки категорий написаны в скобках, как [mic], хорошие: FiveM ищет сквозь них. Ресурс внутри другого ресурса — нет.

3. Синтаксическая ошибка Lua при загрузке

text
Error parsing script @my_script/server/main.lua in resource my_script: @my_script/server/main.lua:42: unexpected symbol near 'end'
Couldn't start resource my_script.

Сообщение называет файл и строку (main.lua:42). Откройте эту строку и посмотрите и на предыдущую: отсутствующий end, отсутствующая запятая в таблице, или случайный символ от плохого копирования и вставки. Исправьте это, затем ensure снова.

Две причины, которые выглядят как синтаксические ошибки, но не являются:

  • Скрипт использует синтаксис Lua 5.4 (<const>, <close>, целочисленное деление) и манифест недостатка lua54 'yes'.
  • Файл был сохранён с другой кодировкой или имеет BOM. Сохраните его как UTF-8 без BOM.

4. Отсутствующая зависимость

text
Could not find dependency ox_lib for resource my_script.
Couldn't start resource my_script.

Манифест просит другой ресурс, который не на вашем сервере. Установите его и держите его имя папки точным. Полное объяснение находится в Could not find dependency X for resource Y.

5. Ошибки манифеста

Плохой fxmanifest.lua останавливает ресурс перед запуском любого скрипта. Проверьте:

lua
fx_version 'cerulean'
game 'gta5'

client_scripts { 'client/*.lua' }
server_scripts { 'server/*.lua' }

Распространённые ошибки: отсутствующий fx_version или game, отсутствующая запятая между записями в списке { }, путь файла в манифесте, который не существует, и путь с неправильным направлением слэша или капитализацией. Используйте прямые слэши. Если ресурс всё ещё отправляет __resource.lua, см. преобразование __resource.lua в fxmanifest.lua.

6. Escrow, право и лицензия

Защищённые (escrowed) скрипты проверяют, что ключ лицензии вашего сервера принадлежит учётной записи Cfx.re, которая владеет активом. Если это не так, ресурс отказывается запускаться и строка выше говорит, что вам не хватает прав. Это отдельное исправление: escrow: You lack the required entitlement.

7. Ресурс запускается, затем не удаётся другим способом

Иногда запуск успешен и отказ приходит секунду позже, из SCRIPT ERROR в файле скрипта, такой как значение nil из фреймворка. Это больше не проблема запуска. Читайте строку ошибки, найдите файл и номер строки, и исправьте это. Если объект фреймворка nil, начните с ESX или QBCore руководство.

Быстрый способ протестировать манифест

Начните с чистого тестового ресурса. Создайте resources/test_ok/fxmanifest.lua:

lua
fx_version 'cerulean'
game 'gta5'

server_script 'server.lua'

и resources/test_ok/server.lua:

lua
print('test_ok started')

Запустите refresh затем ensure test_ok. Если это работает, ваш сервер и пути хорошие, и ошибка находится внутри ресурса, который вы преследуете.

Контрольный список

Проблема Решение
Couldn't find resource my_script. Имя папки отличается от ensure, или нет fxmanifest.lua; запустите refresh
Папка — это my_script/my_script/ Распакована один уровень слишком глубокий; переместите внутреннюю папку вверх
Error parsing script ... unexpected symbol Синтаксическая ошибка в файле и строке, показанные
Could not find dependency Установите зависимость, точное имя папки
Ничего выше отказывающей строки Запустите ensure одного и прочитайте, что печатает после неё
Текст прав или лицензии Escrow: ключ лицензии и учётная запись Cfx.re должны совпадать

Короткие ответы

Что означает Couldn't start resource?

FiveM нашёл ресурс, но остановился при его запуске. Причина никогда не на этой строке: это одна или больше строк напечатана ровно выше неё в консоли.

Почему это говорит Couldn't find resource?

Имя в ensure не совпадает ни с одной папкой под resources, или папка не имеет fxmanifest.lua на её верхнем уровне. Проверьте написание и папку, которую вы распаковали.

Может ли ошибка Lua остановить запуск ресурса?

Да. Синтаксическая ошибка в файле скрипта делает весь ресурс не загружается. Консоль показывает файл и номер строки ошибки.

Скрипты без этой проблемы

Item Creator V2Создавайте используемые предметы с анимациями, пропами, эффектами и не только — без кода.Смотреть скрипт →Shop CreatorМагазин меньше чем за минуту — владельцы, сотрудники, сейфы и ограбления в комплекте.Смотреть скрипт →Quest CreatorВизуальный редактор квестов и диалогов с NPC — узел за узлом прямо в игре.Смотреть скрипт →

Читайте также