Мигрировать 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, хорошая часть стека одинакова, но его данные по-прежнему находятся в таблицах фреймворка, поэтому это не переносится как есть.
Скрипты: преобразовать, мост или заменить
Просмотрите ваш список ресурсов и отсортируйте каждый скрипт:
- Скрипты, независимые от фреймворка (карты, автомобили, звуки, автономные инструменты): они обычно просто работают.
- Скрипты, которые обнаруживают фреймворк (многие скрипты магазина поддерживают ESX, QBCore и QBox): они работают, проверьте их конфиг для установки фреймворка.
- Скрипты только ESX: они требуют одного из трёх:
- Преобразуйте его сами. Руководство ESX в QBCore, convert an ESX script to QBCore, а затем convert a QBCore script to QBox показывают изменения.
- Используйте мост, который предоставляет функции ESX поверх QBox, если вы принимаете слои, которые он добавляет.
- Замените его нативным скриптом QBox. Часто лучший выбор для работ, жилищных и основанных на инвентаре скриптов.
- Скрипты инвентаря: это самые сложные, потому что определения элементов и инвентарь меняются с фреймворком.
Запишите список. Это ваша оценка работы. Обратите особое внимание на скрипты, которые обрабатывают деньги, элементы или автомобили, так как они трогают данные, которые вы преобразуете.
Сначала построить тестовый сервер
- Создайте второй сервер с рецептом QBox (txAdmin recipes). Никогда не работайте на живом.
- Скопируйте карты, автомобили и автономные ресурсы.
- Добавьте преобразованные или замененные скрипты один за раз и перезагружайте после каждого, чтобы вы знали, какой ломается. См. reading a script error.
- Импортируйте копию ваших данных ESX, запустите скрипт преобразования и проверьте результат, присоединившись с тестовой учётной записью.
- Протестируйте основные циклы: присоединение, работы, деньги, магазины, автомобили, жилище.
Чеклист временной шкалы
Используйте этот порядок и оставьте место для каждого шага:
- Решите вайп или мигрировать и сообщите вашему сообществу план и дату.
- Перечислите все ваши скрипты и отметьте каждый как работает, преобразовать, мост или заменить.
- Создайте резервную копию файлов ESX и базы данных. См. backup your server.
- Создайте тестовый сервер QBox.
- Преобразуйте или замените скрипты, затем напишите и протестируйте преобразование данных, если вы мигрируете.
- Протестируйте с реальными игроками, если возможно, в открытой бета.
- Исправьте то, что они находят. Это занимает дольше, чем вы ожидаете.
- Переключитесь: объявите время простоя, создайте последнюю резервную копию ESX, запустите преобразование на свежей копии последних данных и запустите QBox.
- Сохраняйте резервную копию 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Магазин меньше чем за минуту — владельцы, сотрудники, сейфы и ограбления в комплекте.Смотреть скрипт →