Мигрировать ESX в QBox: что переводится, что ломается и чеклист

Перемещение сервера FiveM с ESX в QBox: ничего не преобразуется автоматически, поэтому спланируйте вайп или миграцию, найдите скрипты, которые требуют мостов, установите стек и следуйте временной шкале.

Вы запускаете сервер ESX и хотите QBox. Прежде чем начать, вам нужно знать одно: ничего не переводится само по себе. ESX и QBox используют разные таблицы, разные идентификаторы игроков, разные системы элементов и разные API. Это руководство говорит вам, что это означает, как выбрать между вайпом и миграцией, что требует моста и даёт вам временную шкалу.

Что не переводится автоматически

Часть Почему это не переносится
Персонажи ESX хранит их в users, QBox в players с citizen id и полями JSON
Деньги ESX имеет счета за наличные, банк и чёрные деньги. QBox имеет свои типы денег
Элементы Имена элементов, метаданные и таблица инвентаря не одинаковы
Автомобили ESX использует owned_vehicles, QBox имеет свою таблицу автомобилей и формат данных автомобилей
Работы и степени Определено в базе данных в ESX, в файлах фреймворка в QBox
Скрипты Они вызывают функции ESX, которые QBox не имеет

Ваши игроки держат свой идентификатор лицензии, поэтому конвертированный персонаж всё ещё может быть связан с правильным человеком. Остальное должно быть отображено.

Вайп или миграция

Вайп означает свежий сервер QBox и новые персонажи. Это чище и намного быстрее. Это подходит серверу, который всё ещё маленький, серверу, чьи данные в беспорядке, или тому, который меняет своё направление. Чётко и рано сообщите вашим игрокам.

Миграция означает преобразование данных. Это сохраняет прогресс игрока, но вам нужен скрипт преобразования, который читает таблицы ESX и пишет строки QBox. Напишите его для вашего собственного сервера, потому что каждый сервер ESX имеет разные таблицы и дополнительные столбцы. Деньги легко отобразить. Чёрные деньги, пользовательские элементы и свойства автомобилей требуют заботы. Распространённый компромисс — мигрировать деньги и автомобили и вернуть элементы вручную.

Какой бы вы ни выбрали, протестируйте преобразование на копии базы данных, никогда не на живой.

Спланируйте стек

QBox работает на стеке, который отличается от типичного сервера ESX:

  • qbx_core как фреймворк
  • ox_lib, oxmysql, ox_inventory и ox_target

См. install QBox для подробностей. Если ваш сервер ESX уже использует ox_inventory, ox_lib и ox_target, хорошая часть стека одинакова, но его данные по-прежнему находятся в таблицах фреймворка, поэтому это не переносится как есть.

Скрипты: преобразовать, мост или заменить

Просмотрите ваш список ресурсов и отсортируйте каждый скрипт:

  1. Скрипты, независимые от фреймворка (карты, автомобили, звуки, автономные инструменты): они обычно просто работают.
  2. Скрипты, которые обнаруживают фреймворк (многие скрипты магазина поддерживают ESX, QBCore и QBox): они работают, проверьте их конфиг для установки фреймворка.
  3. Скрипты только ESX: они требуют одного из трёх:
    • Преобразуйте его сами. Руководство ESX в QBCore, convert an ESX script to QBCore, а затем convert a QBCore script to QBox показывают изменения.
    • Используйте мост, который предоставляет функции ESX поверх QBox, если вы принимаете слои, которые он добавляет.
    • Замените его нативным скриптом QBox. Часто лучший выбор для работ, жилищных и основанных на инвентаре скриптов.
  4. Скрипты инвентаря: это самые сложные, потому что определения элементов и инвентарь меняются с фреймворком.

Запишите список. Это ваша оценка работы. Обратите особое внимание на скрипты, которые обрабатывают деньги, элементы или автомобили, так как они трогают данные, которые вы преобразуете.

Сначала построить тестовый сервер

  1. Создайте второй сервер с рецептом QBox (txAdmin recipes). Никогда не работайте на живом.
  2. Скопируйте карты, автомобили и автономные ресурсы.
  3. Добавьте преобразованные или замененные скрипты один за раз и перезагружайте после каждого, чтобы вы знали, какой ломается. См. reading a script error.
  4. Импортируйте копию ваших данных ESX, запустите скрипт преобразования и проверьте результат, присоединившись с тестовой учётной записью.
  5. Протестируйте основные циклы: присоединение, работы, деньги, магазины, автомобили, жилище.

Чеклист временной шкалы

Используйте этот порядок и оставьте место для каждого шага:

  1. Решите вайп или мигрировать и сообщите вашему сообществу план и дату.
  2. Перечислите все ваши скрипты и отметьте каждый как работает, преобразовать, мост или заменить.
  3. Создайте резервную копию файлов ESX и базы данных. См. backup your server.
  4. Создайте тестовый сервер QBox.
  5. Преобразуйте или замените скрипты, затем напишите и протестируйте преобразование данных, если вы мигрируете.
  6. Протестируйте с реальными игроками, если возможно, в открытой бета.
  7. Исправьте то, что они находят. Это занимает дольше, чем вы ожидаете.
  8. Переключитесь: объявите время простоя, создайте последнюю резервную копию ESX, запустите преобразование на свежей копии последних данных и запустите QBox.
  9. Сохраняйте резервную копию ESX на время, на случай если вам нужно откатиться.

Совет: не меняйте ничего другого одновременно. Изменение фреймворка, новая карта и новая экономика вместе делают невозможным сказать, что сломалось.

Если ваши игроки много поставлены на карту, запустите старый и новый серверы параллельно на короткое время. Если ваши скрипты поступают из магазина, проверьте, какие фреймворки каждый поддерживает перед покупкой новых, поэтому вы выбираете скрипты, которые также работают на QBox.

Чеклист

Симптом Исправление
Персонажи отсутствуют после переключения Они не преобразуются автоматически: напишите преобразование или перезагрузитесь с нуля
Ошибки скрипта ESX на QBox Преобразуйте его, используйте мост или замените его
Элементы исчезают или дублируются Отобразите имена элементов на элементы ox_inventory и протестируйте преобразование на копии
Автомобили отсутствуют Преобразуйте owned_vehicles в таблицу автомобилей QBox, включая свойства
Чёрные деньги исчезли QBox по умолчанию не имеет счёта чёрных денег: используйте элемент или пользовательский тип
Не уверены, с чего начать Создайте тестовый сервер с рецептом и перемещайте скрипты один за раз

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

Могу ли я автоматически перенести сервер ESX на QBox?

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

Работают ли мои скрипты ESX на QBox?

Не как есть. Скрипты ESX вызывают es_extended и функции ESX, поэтому каждый нуждается в преобразовании, мосте или замене, написанной для QBox.

Должен ли я вайпиться или мигрировать?

Вайп, если ваши данные беспорядочны или мало игроков, так как вы начинаете с чистого листа. Мигрируйте, если у игроков есть прогресс, который важен, и протестируйте преобразование на копии перед тем, как трогать живой сервер.

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

Mic PhoneСкладной телефон, который раскладывается в планшет и работает и на настоящем телефоне игрока.Смотреть скрипт →Clothing DesignerСоздавайте одежду прямо в FiveM — кисть, слои, импорт изображений и ИИ — и носите её.Смотреть скрипт →Shop CreatorМагазин меньше чем за минуту — владельцы, сотрудники, сейфы и ограбления в комплекте.Смотреть скрипт →

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