Как установить ESX Legacy на сервер FiveM: рецепт и вручную
Установите ESX Legacy с рецептом txAdmin или вручную: es_extended, основные ресурсы, oxmysql, импорт SQL, порядок server.cfg, проверки первого входа и первые ошибки.
Вы хотите запустить сервер FiveM с ESX Legacy и хотите знать, как его установить. Есть два способа: рецепт txAdmin, который делает всё, и ручная установка, где вы размещаете каждый кусок самостоятельно. Это руководство охватывает оба, затем что проверить при первом входе и ошибки, которые вы, скорее всего, увидите.
Вариант 1: рецепт txAdmin
Это рекомендуемый маршрут. В настройке txAdmin выберите шаблон ESX Legacy из популярных рецептов. Следуйте инструкциям в setup и рецепты txAdmin: введите ваш лицензионный ключ и учётные данные базы данных, затем проверьте сгенерированный server.cfg и запустите сервер.
Рецепт загружает es_extended и основные ресурсы, oxmysql и ox_lib, создаёт базу данных и импортирует файл SQL ESX. Когда вы закончите, у вас будет рабочая база. Пропустите до "Проверки первого входа".
Вариант 2: ручная установка
Сделайте это, когда вы добавляете ESX на сервер, который вы построили сами. Вам нужен запущенный FXServer, база данных MySQL или MariaDB и лицензионный ключ.
1. Загрузите ресурсы
Из выпусков ESX Legacy получите основной пакет (es_extended и основные ресурсы, которые он использует, такие как ресурсы идентичности, меню и уведомления). Поместите их в папку resources, например в resources/[esx]. Вам также нужны:
- oxmysql, слой базы данных.
- ox_lib, общая зависимость для современных ресурсов ESX.
- Инвентарь. Многие серверы ESX Legacy используют ox_inventory. Следуйте документации версии, которую вы загружаете, потому что стандартная установка может отличаться между выпусками.
2. Создайте базу данных и импортируйте SQL
Создайте пустую базу данных, например esx:
CREATE DATABASE esx CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Затем импортируйте файл SQL, который идёт с es_extended (ищите файл .sql в его папке, названный legacy.sql на момент написания). Используйте HeidiSQL, phpMyAdmin или командную строку mysql. Без этого вы встретитесь ошибками table doesn't exist.
3. Отредактируйте server.cfg
Установите строку подключения и запустите ресурсы в хорошем порядке:
set mysql_connection_string "mysql://user:password@localhost/esx?charset=utf8mb4"
ensure oxmysql
ensure ox_lib
ensure es_extended
ensure ox_inventory
ensure [esx]
ensure [standalone]Порядок объясняется в server.cfg ensure order. Если вы используете ресурсы идентичности или мультихарактера ESX, убедитесь, что работает только один ресурс выбора символа.
Проверки первого входа
Запустите сервер и прочитайте консоль сверху вниз перед присоединением. Затем проверьте:
- oxmysql подключается. Есть строка о подключении базы данных и никакой красной ошибки сразу после неё.
- es_extended запускается без ошибок.
- Вы можете присоединиться и достичь создания персонажа или спауна.
- Строка вашего игрока существует. После присоединения вы должны увидеть строку для себя в таблице
users. - Деньги и работа загружаются. Откройте инвентарь или запустите команду, которая печатает ваш счёт и работу.
Для прав администратора установите вашу group на admin в вашей строке users, затем повторно присоединитесь. Для txAdmin и команд ACE см. ACE permissions.
Частые первые ошибки
ESX nil в скрипте. Ресурс, который всё ещё использует старый способ получения ESX, показывает:
attempt to index a nil value (global 'ESX')Современный способ — ESX = exports['es_extended']:getSharedObject(). См. ESX is nil: fixing esx:getSharedObject и no such export getSharedObject in es_extended.
Не может подключиться к базе данных. Строка подключения неправильна, база данных не запущена или пользователь не имеет прав. См. oxmysql connection error.
Ресурс не запускается. Часто отсутствует зависимость или неправильное имя папки. См. could not find dependency и couldn't start resource.
Игроки застревают на загрузке. Посмотрите в консоль на ресурс, который ошибается при присоединении. См. players stuck on the loading screen.
Совет: когда вы добавляете скрипт, добавляйте по одному и перезагружайте. Если появляется ошибка, вы знаете, какой скрипт её вызвал.
Добавление работ и элементов
Как только база работает, следующие задачи — это работы и элементы. Add a job on ESX показывает строки базы данных, которые вам нужны. Для элементов способ зависит от вашего инвентаря: см. ox_inventory add items.
Чеклист
| Симптом | Исправление |
|---|---|
| Таблица не существует | Импортируйте файл SQL ESX в базу данных, названную в строке подключения |
attempt to index a nil value (global 'ESX') |
Используйте exports['es_extended']:getSharedObject() и запустите es_extended первым |
| Не может подключиться к базе данных | Проверьте mysql_connection_string, сервис базы данных и права пользователя |
| Два экрана символа | Запустите только один ресурс идентичности или мультихарактера |
| Не администратор в игре | Установите group на admin в вашей строке users, затем повторно присоединитесь |
| Ресурс не найден | Проверьте имя папки и запустите refresh в консоли |
Короткие ответы
Должен ли я установить ESX Legacy с рецептом или вручную?
Используйте рецепт txAdmin. Он загружает согласованные версии, создаёт базу данных и пишет server.cfg за вас. Установите вручную только если вам нужен полный контроль или вы добавляете ESX на существующий сервер.
Нужен ли мне oxmysql для ESX Legacy?
Да. ESX Legacy говорит с базой данных через oxmysql, поэтому она должна запуститься перед es_extended.
Как мне сделать себя администратором на ESX?
Установите вашу группу администратору, обычно в столбце group вашей строки в таблице users, затем повторно присоединитесь. Вы также можете добавить ваш идентификатор в разрешения ACE сервера для txAdmin и команд.
Скрипты без этой проблемы
Item Creator V2Создавайте используемые предметы с анимациями, пропами, эффектами и не только — без кода.Смотреть скрипт →
Shop CreatorМагазин меньше чем за минуту — владельцы, сотрудники, сейфы и ограбления в комплекте.Смотреть скрипт →
Mic PhoneСкладной телефон, который раскладывается в планшет и работает и на настоящем телефоне игрока.Смотреть скрипт →