Miami RP Project СЕРВЕР MTA:SA ONLINE СЕРВЕР GTA 5 RAGE MP В РАЗРАБОТКЕ ЗАПУСК MTA RAGE MP: в разработке
Miami RP Project СЕРВЕР MTA:SA ONLINE СЕРВЕР GTA 5 RAGE MP В РАЗРАБОТКЕ ЗАПУСК MTA RAGE MP: в разработке

Перенос GTA-сервера на другой хостинг без потери файлов и аккаунтов

Вчера Обновлено: Вчера 0.0 (0)
Перенос GTA-сервера на другой хостинг без потери файлов и аккаунтов
Категория Перенос GTA-сервера на другой хостинг или VPS Опубликовано Вчера Обновлено Вчера Просмотров 3

Перенос GTA-сервера на другой хостинг должен сохранить серверные файлы, игровой мод, ресурсы, плагины, конфигурацию и базу данных с аккаунтами игроков. Простого копирования папки недостаточно, если персонажи, транспорт, имущество и организации хранятся в MySQL или MariaDB.

В этой инструкции рассмотрен перенос серверов CRMP, SA-MP, open.mp, FiveM и других GTA-платформ между Linux VPS, Windows VPS и игровыми хостингами. Вы узнаете, как подготовить новый сервер, перенести файлы, экспортировать базу, изменить конфигурацию, проверить запуск и переключить игроков с минимальным временем недоступности.

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

Защита файлов и аккаунтов перед переносом:

Резервное копирование GTA-сервера

Настройка базы на новом сервере:

Создание базы данных GTA-сервера

Что необходимо перенести на новый хостинг

Состав файлов зависит от платформы, игрового режима и способа запуска сервера.

Классический сервер CRMP, SA-MP или open.mp

  • серверное ядро;
  • папка gamemodes;
  • файлы AMX и PWN;
  • папка filterscripts;
  • папка plugins;
  • папка scriptfiles;
  • папка pawno и include-файлы;
  • server.cfg;
  • пользовательские карты и объекты;
  • локальные игровые данные;
  • необходимые системные библиотеки.

Сервер GTA 5

  • серверное ядро;
  • папка ресурсов;
  • серверные скрипты;
  • конфигурация запуска;
  • веб-интерфейсы;
  • карты и модели;
  • файлы зависимостей;
  • конфигурация голосового сервера;
  • данные административной панели;
  • ключи и переменные окружения.

База данных

  • структура таблиц;
  • аккаунты игроков;
  • персонажи;
  • транспорт;
  • дома и бизнесы;
  • организации;
  • инвентарь;
  • наказания;
  • триггеры;
  • процедуры и события, если используются.

Системная конфигурация

  • служба systemd;
  • задача Планировщика Windows;
  • правила firewall;
  • Docker Compose;
  • конфигурация Nginx или Apache;
  • SSL-сертификаты;
  • скрипты резервного копирования;
  • настройки автоматического перезапуска.

Основные риски при переносе GTA-сервера

Потеря последних данных игроков

Если база была скопирована до остановки старого сервера, все изменения после создания дампа останутся только на старом хостинге.

Расхождение двух серверов

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

Несовместимость системы

  • Windows-плагины DLL не запускаются на Linux;
  • Linux-плагины SO не запускаются на Windows;
  • различаются архитектуры процессора;
  • не установлены нужные библиотеки;
  • версия базы не поддерживает SQL-схему;
  • изменился регистр имён файлов;
  • используются абсолютные пути.

Неправильные права файлов

После распаковки на Linux серверный пользователь может не иметь доступа к конфигурации, журналам, ресурсам или исполняемому файлу.

Изменение IP-адреса

  • игроки используют старый адрес;
  • домен указывает на старый VPS;
  • база разрешает подключение только со старого IP;
  • внешние API ограничены старым адресом;
  • firewall содержит старые правила;
  • лицензионные или служебные ключи требуют проверки.

Неполная передача файлов

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

План безопасного переноса GTA-сервера

Подготовительный этап

  1. Выберите новый хостинг.
  2. Проверьте совместимость операционной системы.
  3. Подготовьте базу данных и системные библиотеки.
  4. Создайте резервную копию старого сервера.
  5. Выполните предварительное копирование крупных файлов.
  6. Настройте новый сервер без публичного запуска.

Финальный этап

  1. Предупредите игроков о технических работах.
  2. Закройте вход на старый сервер.
  3. Выполните штатное сохранение.
  4. Корректно остановите серверный процесс.
  5. Создайте финальный дамп базы.
  6. Повторно синхронизируйте изменившиеся файлы.
  7. Импортируйте финальную базу.
  8. Запустите новый сервер в закрытом режиме.
  9. Проверьте аккаунты и сохранение.
  10. Переключите домен и игроков.

Старый сервер не удаляйте сразу

Оставьте его выключенным и сохраните файлы до завершения проверки нового хостинга.

Как сократить время недоступности сервера

Большую часть файлов можно передать заранее, пока старый сервер продолжает работать.

Первичная синхронизация

  • серверное ядро;
  • ресурсы;
  • плагины;
  • карты;
  • веб-интерфейсы;
  • редко изменяющиеся файлы;
  • предварительная копия базы для теста.

Во время технических работ передаются только

  • финальный SQL-дамп;
  • изменившиеся конфигурации;
  • локальные файлы сохранений;
  • последние скрипты;
  • недавние загруженные ресурсы;
  • необходимые журналы.

Схема переноса с минимальным простоем

1. Предварительное копирование файлов
2. Тестовый импорт базы
3. Настройка нового сервера
4. Остановка старого сервера
5. Финальный дамп базы
6. Финальная синхронизация файлов
7. Импорт дампа
8. Проверка
9. Открытие нового сервера

Не пытайтесь полностью исключить остановку без необходимости

Миграция без простоя требует репликации базы, контроля записи и продуманного переключения трафика. Для обычного GTA-проекта короткое техническое обслуживание безопаснее, чем сложная схема с риском расхождения данных.

Инвентаризация старого GTA-сервера

Перед переносом запишите текущую конфигурацию проекта.

Операционная система Linux

cat /etc/os-release
uname -m

Операционная система Windows

Get-ComputerInfo |
Select-Object `
WindowsProductName,
WindowsVersion,
OsArchitecture

Версия MySQL

mysql --version

Версия MariaDB

mariadb --version

Размер серверной папки Linux

du -sh /opt/gta-server

Количество файлов Linux

find /opt/gta-server \
-type f |
wc -l

Размер серверной папки Windows

$Files = Get-ChildItem `
"C:\GTA-Server" `
-Recurse `
-File

$Files.Count

$Files |
Measure-Object `
-Property Length `
-Sum

Запишите отдельно

  • игровой порт;
  • имя базы;
  • имя пользователя базы;
  • способ запуска сервера;
  • путь к рабочей папке;
  • версии плагинов;
  • список системных библиотек;
  • доменные имена;
  • внешние API;
  • правила firewall.

Сохраните конфигурацию systemd

systemctl cat gta-server.service \
> gta-server-service.txt

Сохраните сведения о задаче Windows

Export-ScheduledTask `
-TaskName "GTA Server" |
Out-File `
"C:\GTA-Backup\gta-server-task.xml" `
-Encoding utf8

Проверка совместимости нового хостинга

Сравните операционные системы

Старый сервер: Linux x86_64
Новый сервер: Linux x86_64

Перенос между одинаковыми системами обычно проще.

При переносе с Windows на Linux

  • замените DLL-плагины на версии SO;
  • проверьте регистр имён файлов;
  • замените пути вида C:\GTA-Server;
  • настройте права исполнения;
  • проверьте формат строк скриптов;
  • измените способ автоматического запуска.

При переносе с Linux на Windows

  • замените SO-плагины на DLL;
  • установите Visual C++ Redistributable;
  • измените пути в конфигурации;
  • создайте правила Windows Firewall;
  • настройте Планировщик заданий или службу;
  • проверьте имена исполняемых файлов.

Сравните версии базы

Особенно внимательно проверяйте перенос:

  • между разными основными версиями MySQL;
  • с MySQL на MariaDB;
  • с MariaDB на MySQL;
  • между разными кодировками;
  • при использовании процедур и событий;
  • при наличии специфических SQL-функций.

Проверьте ресурсы VPS

  • количество vCPU;
  • скорость одного ядра;
  • объём RAM;
  • свободное место;
  • тип диска;
  • скорость сети;
  • наличие публичного IPv4;
  • защиту игрового трафика.

Подготовка нового сервера к переносу

На Linux обновите систему

sudo apt update
sudo apt upgrade -y

Создайте серверного пользователя

sudo adduser \
--disabled-password \
--gecos "" \
gta

Создайте рабочую папку

sudo mkdir -p /opt/gta-server
sudo chown gta:gta /opt/gta-server

Установите инструменты передачи

sudo apt install \
rsync \
tar \
gzip \
openssh-client \
unzip \
-y

Установите базу данных

Для MySQL:

sudo apt install mysql-server -y

Для MariaDB:

sudo apt install \
mariadb-server \
mariadb-client \
-y

На Windows подготовьте

  • рабочую папку;
  • MySQL или MariaDB;
  • Visual C++ Redistributable;
  • OpenSSH Client при необходимости;
  • правила Windows Firewall;
  • задачу автоматического запуска;
  • папку журналов и резервных копий.

Не запускайте публичный сервер сразу

Сначала установите временный пароль или ограничьте подключение firewall, чтобы игроки не вошли в непроверенную копию.

Создание резервной копии перед переносом

Копия должна включать

  • полный архив файлов;
  • отдельный SQL-дамп;
  • конфигурацию запуска;
  • список версий;
  • настройки базы;
  • инструкцию восстановления;
  • контрольные суммы.

Архив файлов Linux

sudo tar \
-czf /root/gta-server-before-migration.tar.gz \
-C /opt \
gta-server

Архив файлов Windows

tar.exe `
-czf "D:\GTA-Backup\gta-server-before-migration.tar.gz" `
-C "C:\" `
GTA-Server

Проверка Linux-архива

tar \
-tzf /root/gta-server-before-migration.tar.gz \
> /dev/null

Проверка Windows-архива

tar.exe `
-tzf "D:\GTA-Backup\gta-server-before-migration.tar.gz"

Не перезаписывайте резервную копию

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

Контрольные суммы переносимых архивов

Linux

sha256sum \
/root/gta-server-before-migration.tar.gz \
> /root/gta-server-before-migration.tar.gz.sha256

Windows

Get-FileHash `
"D:\GTA-Backup\gta-server-before-migration.tar.gz" `
-Algorithm SHA256 |
Format-List

Проверка на новом Linux-сервере

sha256sum \
-c gta-server-before-migration.tar.gz.sha256

Для чего нужна контрольная сумма

  • обнаружение оборванной передачи;
  • обнаружение повреждения архива;
  • подтверждение совпадения файлов;
  • проверка перед распаковкой;
  • контроль внешнего хранилища.

Совпадение суммы не проверяет содержимое логически

Контрольная сумма подтверждает, что файл не изменился после её создания. Отдельно проверьте структуру архива и возможность импорта базы.

Перенос GTA-сервера с Linux на Linux

Основные варианты передачи:

  • rsync через SSH;
  • архив tar.gz через SCP;
  • SFTP;
  • внешнее объектное хранилище;
  • панель миграции хостинга.

Преимущество rsync

Повторный запуск передаёт преимущественно новые и изменившиеся файлы. Это удобно для предварительной и финальной синхронизации.

Преимущество архива

Один файл проще проверить контрольной суммой, перенести через панель и сохранить как аварийную копию.

Перед подключением проверьте SSH

ssh root@NEW_SERVER_IP

Не передавайте пароль в командной строке

Для повторных синхронизаций используйте SSH-ключ и защитите закрытый ключ от постороннего доступа.

Перенос файлов через rsync

Предварительная синхронизация

sudo rsync \
-a \
--info=progress2 \
--partial \
--exclude='logs/*.log' \
--exclude='cache/*' \
--exclude='backups/*' \
/opt/gta-server/ \
root@NEW_SERVER_IP:/opt/gta-server/

Значение завершающего слеша

/opt/gta-server/

передаёт содержимое каталога в папку назначения.

Проверьте копию на новом сервере

du -sh /opt/gta-server

find /opt/gta-server \
-type f |
wc -l

Финальная синхронизация

После остановки старого сервера повторите ту же команду. rsync передаст файлы, изменившиеся после первого копирования.

Не используйте --delete на первой синхронизации

Параметр удаления может стереть файлы в каталоге назначения. Он допустим только после проверки путей и наличия отдельной резервной копии.

Синхронизация отдельной конфигурации

rsync \
-av \
/etc/systemd/system/gta-server.service \
root@NEW_SERVER_IP:/root/migration-config/

После передачи службы

Проверьте пути и пользователя запуска перед копированием файла в системный каталог нового VPS.

Перенос Linux-сервера архивом через SCP

Создайте архив

sudo tar \
-czf /root/gta-server-migration.tar.gz \
-C /opt \
gta-server

Создайте контрольную сумму

cd /root

sha256sum \
gta-server-migration.tar.gz \
> gta-server-migration.tar.gz.sha256

Передайте оба файла

scp \
/root/gta-server-migration.tar.gz \
/root/gta-server-migration.tar.gz.sha256 \
root@NEW_SERVER_IP:/root/

Проверьте сумму на новом VPS

cd /root

sha256sum \
-c gta-server-migration.tar.gz.sha256

Распакуйте во временную папку

sudo mkdir -p /srv/gta-migration-test

sudo tar \
-xzf /root/gta-server-migration.tar.gz \
-C /srv/gta-migration-test

Проверьте структуру

find /srv/gta-migration-test \
-maxdepth 3 \
-type f | head -n 100

Перенесите в рабочую папку

sudo rsync \
-a \
/srv/gta-migration-test/gta-server/ \
/opt/gta-server/

Не распаковывайте сразу поверх рабочей версии

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

/opt/gta-server/gta-server/gta-server/

Перенос GTA-сервера с Windows на Windows

Варианты передачи

  • архив через SCP;
  • SFTP через WinSCP;
  • Robocopy через сетевую папку;
  • облачное хранилище;
  • дополнительный диск;
  • панель хостинг-провайдера.

Сначала остановите серверную задачу

Stop-ScheduledTask `
-TaskName "GTA Server"

Проверьте процесс

Get-Process | Where-Object { $_.ProcessName -match "samp|omp|FXServer|altv|server" }

Сохраните конфигурацию задачи

Export-ScheduledTask `
-TaskName "GTA Server" | Out-File `
"D:\GTA-Backup\gta-server-task.xml" `
-Encoding utf8

После переноса

  • измените рабочую папку задачи;
  • проверьте путь к EXE;
  • проверьте учётную запись запуска;
  • пересоздайте правила firewall;
  • установите системные библиотеки;
  • проверьте права папки.

Копирование GTA-сервера через Robocopy

Команда подходит, если новый Windows-сервер доступен как сетевой каталог.

Предварительное копирование

robocopy `
"C:\GTA-Server" `
"\\NEW-SERVER\GTA-Server" `
/E `
/COPY:DAT `
/DCOPY:DAT `
/R:2 `
/W:3 `
/MT:8 `
/XD `
"C:\GTA-Server\cache" `
"C:\GTA-Server\backups" `
/XF `
"*.log" `
/LOG:"C:\GTA-Backup\migration.log"

Параметры

  • /E — копирование вложенных каталогов;
  • /COPY:DAT — данные, атрибуты и время;
  • /DCOPY:DAT — данные и время каталогов;
  • /R:2 — две повторные попытки;
  • /W:3 — ожидание три секунды;
  • /MT:8 — многопоточное копирование;
  • /LOG — сохранение журнала.

Проверка кода завершения

$Code = $LASTEXITCODE if ($Code -ge 8) { Write-Error "Robocopy завершился с ошибкой: $Code" }

Не используйте /MIR без проверки

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

Финальная синхронизация

После остановки старого сервера повторите команду и проверьте журнал передачи.

Перенос Windows-сервера единым архивом

Создайте архив

tar.exe `
-czf "D:\GTA-Backup\gta-server-migration.tar.gz" `
-C "C:\" `
GTA-Server

Проверьте содержимое

tar.exe `
-tzf "D:\GTA-Backup\gta-server-migration.tar.gz"

Создайте контрольную сумму

Get-FileHash `
"D:\GTA-Backup\gta-server-migration.tar.gz" `
-Algorithm SHA256 | Out-File `
"D:\GTA-Backup\gta-server-migration.sha256.txt"

Передача через SCP

scp.exe `
"D:\GTA-Backup\gta-server-migration.tar.gz" `
Administrator@NEW_SERVER_IP:"D:/Migration/"

Распаковка на новом Windows VPS

New-Item `
-ItemType Directory `
-Path "D:\Migration\Test" `
-Force

tar.exe `
-xzf "D:\Migration\gta-server-migration.tar.gz" `
-C "D:\Migration\Test"

Проверьте вложенность папок

D:\Migration\Test\GTA-Server\

Только после проверки скопируйте содержимое в рабочий каталог.

Перенос GTA-сервера между Windows и Linux

Межплатформенный перенос требует не только копирования файлов, но и замены несовместимых компонентов.

Windows-плагины

plugins\mysql.dll plugins\streamer.dll plugins\sscanf.dll

Linux-плагины

plugins/mysql.so plugins/streamer.so plugins/sscanf.so

Проверьте конфигурацию плагинов

Строка для Windows и Linux может отличаться в зависимости от серверного ядра и его правил загрузки.

Регистр букв

Windows обычно не различает:

RolePlay.amx roleplay.amx

Linux может считать их разными файлами. Проверьте точное совпадение:

  • имени игрового режима;
  • имён ресурсов;
  • путей к конфигурации;
  • имён include-файлов;
  • регистра букв в импортах;
  • имён папок.

Преобразование окончания строк

sudo apt install dos2unix -y
dos2unix start-server.sh

Разрешение запуска Linux-скрипта

chmod +x start-server.sh

Абсолютные пути необходимо заменить

Windows: C:\GTA-Server\resources Linux: /opt/gta-server/resources

Не переносите исполняемые файлы между системами автоматически

Установите серверное ядро и плагины, предназначенные для целевой операционной системы, а затем перенесите совместимые ресурсы, скрипты и конфигурацию.

Перенос базы MySQL на новый сервер

Предварительный тестовый дамп

mysqldump \
-u root \
-p \
--single-transaction \
--routines \
--triggers \
--events \
--databases gta_server | gzip \
> gta_server_test.sql.gz

Проверьте архив

gzip -t gta_server_test.sql.gz

Передайте его на новый сервер

scp \
gta_server_test.sql.gz \
root@NEW_SERVER_IP:/root/

Зачем нужен предварительный дамп

  • проверить совместимость базы;
  • измерить время импорта;
  • найти ошибки SQL;
  • настроить пользователя;
  • проверить игровой сервер до технических работ.

Предварительный дамп нельзя использовать как финальный

Пока старый сервер работает, база продолжает изменяться. Перед переключением необходимо создать новый дамп после остановки игрового процесса.

Перенос базы MariaDB

Создание дампа

mariadb-dump \
-u root \
-p \
--single-transaction \
--routines \
--triggers \
--events \
--databases gta_server | gzip \
> gta_server_test.sql.gz

Проверка

gzip -t gta_server_test.sql.gz

Передача

scp \
gta_server_test.sql.gz \
root@NEW_SERVER_IP:/root/

Используйте клиент MariaDB для импорта

gunzip -c gta_server_test.sql.gz | mariadb -u root -p

Проверьте совместимость версий

Импортируйте базу заранее в тестовом режиме и проверьте:

  • таблицы;
  • представления;
  • триггеры;
  • процедуры;
  • события;
  • кодировки;
  • регистрацию игрока;
  • сохранение персонажа.

Создание финального дампа без потери аккаунтов

Финальный дамп создаётся только после остановки старого GTA-сервера.

Порядок действий

  1. Закройте новые подключения.
  2. Предупредите игроков.
  3. Выполните штатное сохранение.
  4. Корректно остановите GTA-сервер.
  5. Убедитесь, что процесс завершён.
  6. Создайте финальный SQL-дамп.
  7. Не запускайте старый сервер повторно.

Остановка Linux-службы

sudo systemctl stop gta-server.service
sudo systemctl is-active gta-server.service

Проверка процесса

pgrep -af \
'samp|omp|FXServer|altv|gta-server'

Остановка задачи Windows

Stop-ScheduledTask `
-TaskName "GTA Server"

Финальный дамп MySQL

mysqldump \
-u root \
-p \
--single-transaction \
--routines \
--triggers \
--events \
--databases gta_server | gzip \
> gta_server_final.sql.gz

Финальный дамп MariaDB

mariadb-dump \
-u root \
-p \
--single-transaction \
--routines \
--triggers \
--events \
--databases gta_server | gzip \
> gta_server_final.sql.gz

Проверьте файл

test -s gta_server_final.sql.gz
gzip -t gta_server_final.sql.gz

Создайте контрольную сумму

sha256sum \
gta_server_final.sql.gz \
> gta_server_final.sql.gz.sha256

Передайте дамп и сумму

scp \
gta_server_final.sql.gz \
gta_server_final.sql.gz.sha256 \
root@NEW_SERVER_IP:/root/

Импорт базы на новом хостинге

Проверьте контрольную сумму

cd /root

sha256sum \
-c gta_server_final.sql.gz.sha256

Импорт MySQL

gunzip -c gta_server_final.sql.gz | mysql -u root -p

Импорт MariaDB

gunzip -c gta_server_final.sql.gz | mariadb -u root -p

Если дамп создан без --databases

Сначала создайте базу:

CREATE DATABASE gta_server CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Затем импортируйте:

gunzip -c gta_server_final.sql.gz | mysql \
-u root \
-p \
gta_server

Не импортируйте финальный дамп поверх старой тестовой базы

Безопаснее удалить тестовую базу и создать её заново либо использовать отдельное имя. Иначе могут сохраниться таблицы и столбцы, отсутствующие в финальном дампе.

После импорта

SHOW DATABASES;
USE gta_server;
SHOW TABLES;

Создание пользователя базы на новом сервере

Пользователи MySQL или MariaDB могут не входить в дамп базы проекта. Создайте отдельную учётную запись приложения.

Локальный пользователь

CREATE USER 'gta_app'@'localhost' IDENTIFIED BY 'ЗАМЕНИТЕ_НА_СЛОЖНЫЙ_ПАРОЛЬ';

Назначение прав

GRANT ALL PRIVILEGES ON gta_server.* TO 'gta_app'@'localhost';

Для подключения через 127.0.0.1

В зависимости от конфигурации базы может потребоваться пользователь для соответствующего Host:

CREATE USER 'gta_app'@'127.0.0.1' IDENTIFIED BY 'ЗАМЕНИТЕ_НА_СЛОЖНЫЙ_ПАРОЛЬ';
GRANT ALL PRIVILEGES ON gta_server.* TO 'gta_app'@'127.0.0.1';

Удалённая база

CREATE USER 'gta_app'@'IP_НОВОГО_GTA_СЕРВЕРА' IDENTIFIED BY 'ЗАМЕНИТЕ_НА_СЛОЖНЫЙ_ПАРОЛЬ';

Проверьте права

SHOW GRANTS FOR 'gta_app'@'localhost';

Проверьте вход вручную

mysql \
-u gta_app \
-p \
-h 127.0.0.1 \
-P 3306 \
gta_server

Не подключайте GTA-сервер под root

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

Проверка таблиц и аккаунтов после импорта

Количество таблиц

SELECT COUNT(*) AS table_count FROM information_schema.tables WHERE table_schema = 'gta_server';

Проверьте основные таблицы

SELECT COUNT(*) FROM accounts;
SELECT COUNT(*) FROM vehicles;
SELECT COUNT(*) FROM houses;
SELECT COUNT(*) FROM businesses;

Названия замените на фактические.

Сравните со старым сервером

Старый сервер: accounts = 18420 vehicles = 9367 houses = 1250 Новый сервер: accounts = 18420 vehicles = 9367 houses = 1250

Проверьте последние записи

SELECT * FROM accounts ORDER BY id DESC LIMIT 10;

Проверьте структуру

DESCRIBE accounts;

Не ограничивайтесь количеством строк

Дополнительно проверьте:

  • кодировку имён игроков;
  • состояние последнего аккаунта;
  • владельцев транспорта;
  • деньги и имущество;
  • администраторов;
  • бан-лист;
  • таблицы организаций;
  • триггеры и события.

Изменение конфигурации GTA-сервера после переноса

Параметры базы

host = 127.0.0.1
port = 3306
database = gta_server
user = gta_app
password = НОВЫЙ_ПАРОЛЬ

Проверьте игровой порт

port 7777

FiveM endpoint

endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

Проверьте абсолютные пути

/home/old-user/gta-server/ /opt/gta-server/ C:\OldServer\ D:\GTA-Server\

Проверьте внешние адреса

  • IP базы данных;
  • адрес сайта;
  • адрес API;
  • голосовой сервер;
  • вебхуки;
  • административная панель;
  • сервер загрузки ресурсов;
  • службы мониторинга.

Проверьте секреты

  • пароль базы;
  • RCON-пароль;
  • API-ключи;
  • лицензионные ключи;
  • токены вебхуков;
  • SSH-ключи;
  • пароли панелей.

Не публикуйте конфигурацию с секретами

Перед отправкой логов или файлов в поддержку удалите пароли, ключи и токены.

Перенос плагинов и системных зависимостей

На Linux проверьте библиотеки файла

ldd /opt/gta-server/server

Проверка плагина

ldd /opt/gta-server/plugins/mysql.so

Сообщение not found

libexample.so => not found

означает отсутствие необходимой библиотеки.

На Windows проверьте

  • Visual C++ Redistributable x86;
  • Visual C++ Redistributable x64;
  • разрядность серверного EXE;
  • разрядность DLL-плагинов;
  • наличие вспомогательных библиотек;
  • разблокировку загруженных файлов.

Признаки проблемы плагина

  • Plugin Failed ;
  • Run time error 19 ;
  • File or function is not found ;
  • сервер закрывается сразу после запуска;
  • не подключается база;
  • не загружается игровой мод.

Не обновляйте все плагины во время миграции

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

Настройка прав файлов после переноса на Linux

Назначьте владельца

sudo chown -R gta:gta /opt/gta-server

Разрешите запуск серверного файла

sudo chmod +x /opt/gta-server/server

Разрешите запуск скрипта

sudo chmod +x /opt/gta-server/start-server.sh

Ограничьте конфигурацию с паролями

sudo chmod 600 \
/opt/gta-server/config/database.ini

Каталоги журналов должны быть доступны для записи

sudo mkdir -p /opt/gta-server/logs
sudo chown gta:gta \
/opt/gta-server/logs

Не запускайте весь сервер под root

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

Проверьте доступ от имени сервера

sudo -u gta \
test -r /opt/gta-server/server.cfg sudo -u gta \
test -w /opt/gta-server/logs

Настройка портов и firewall на новом сервере

Классический сервер

7777/UDP

FiveM в типовой конфигурации

30120/TCP
30120/UDP

UFW для UDP 7777

sudo ufw allow 7777/udp

UFW для FiveM

sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp

Windows Firewall для UDP

New-NetFirewallRule `
-DisplayName "GTA Server UDP 7777" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 7777 `
-Action Allow `
-Profile Any

Windows Firewall для FiveM

New-NetFirewallRule `
-DisplayName "FiveM TCP 30120" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 30120 `
-Action Allow `
-Profile Any

New-NetFirewallRule `
-DisplayName "FiveM UDP 30120" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 30120 `
-Action Allow `
-Profile Any

Проверьте внешний firewall VPS

  • правило создано;
  • выбран правильный протокол;
  • указан правильный порт;
  • правило привязано к новому VPS;
  • нет блокирующего правила;
  • используется правильный публичный IP.

Открытие и проверка портов GTA-сервера

Перенос домена и DNS на новый IP

Если игроки подключаются по домену

Измените A-запись:

server.example.com A NEW_SERVER_IP

Перед миграцией

Заранее уменьшите TTL DNS-записи, чтобы после смены IP старый адрес не сохранялся в кэше слишком долго.

После переключения проверьте

nslookup server.example.com

На Linux:

dig +short server.example.com

DNS может обновляться не одновременно

Часть игроков некоторое время может получать старый адрес из кэша. Поэтому старый сервер лучше оставить выключенным или показывать на нём сообщение о переезде.

Если используется прокси или CDN

Обычный веб-прокси не обязательно поддерживает игровой TCP- или UDP-трафик. Проверьте, что DNS-запись направляет игроков на реальный игровой endpoint.

Обновите дополнительные записи

  • панель администратора;
  • сайт загрузки ресурсов;
  • голосовой сервер;
  • API;
  • мониторинг;
  • вебхуки;
  • почтовые уведомления.

Закрытый запуск GTA-сервера на новом хостинге

Ограничьте доступ одним IP

Пример UFW:

sudo ufw allow \
from IP_АДМИНИСТРАТОРА \
to any port 7777 \
proto udp

Либо установите временный пароль

Используйте механизм, поддерживаемый вашей серверной платформой.

Запустите сервер вручную

cd /opt/gta-server
./server

Не создавайте автозагрузку до успешного теста

Первый запуск должен показывать ошибки непосредственно в консоли.

Проверьте журнал

tail -n 100 \
/opt/gta-server/server_log.txt

Проверьте процесс

ps aux | grep -E 'samp|omp|FXServer|altv|gta' | grep -v grep

Проверьте порт

sudo ss -lntup | grep -E ':7777|:30120'

Проверьте подключение к базе

  • нет Access denied;
  • нет Unknown database;
  • нет Table doesn't exist;
  • нет Unknown column;
  • соединение не обрывается;
  • аккаунты загружаются.

Сравнение старого и нового сервера

Сравните размер файлов

Старый VPS:

du -sh /opt/gta-server

Новый VPS:

du -sh /opt/gta-server

Сравните количество файлов

find /opt/gta-server \
-type f | wc -l

Создайте список контрольных сумм

cd /opt/gta-server find . \
-type f \
-print0 | sort -z | xargs -0 sha256sum \
> /root/gta-files.sha256

Не сравнивайте изменяемые журналы

Файлы журналов, кэша и временных данных закономерно отличаются после запуска.

Сравните базу

  • количество таблиц;
  • число аккаунтов;
  • число транспорта;
  • число домов;
  • последний ID игрока;
  • последние записи журналов;
  • кодировки;
  • права пользователя базы.

Сравните конфигурацию

  • порт;
  • название сервера;
  • игровой мод;
  • список плагинов;
  • параметры базы;
  • внешние API;
  • пути;
  • автоматический запуск.

Переключение игроков на новый сервер

Перед открытием

  1. Убедитесь, что старый сервер остановлен.
  2. Проверьте финальный импорт базы.
  3. Выполните тестовый вход администратора.
  4. Проверьте загрузку имущества.
  5. Проверьте сохранение после выхода.
  6. Проверьте игровой порт извне.
  7. Обновите домен и мониторинги.

После открытия

  • следите за журналом подключения;
  • контролируйте ошибки базы;
  • проверяйте нагрузку CPU;
  • проверяйте память;
  • контролируйте диск;
  • проверяйте сетевой трафик;
  • собирайте сообщения игроков.

Не удаляйте старый адрес сразу

Опубликуйте новый IP и оставьте понятное сообщение о переносе в социальных сетях, на сайте и в лаунчере проекта.

Создайте новую резервную копию

После успешного открытия сохраните рабочее состояние уже на новом хостинге.

Контроль GTA-сервера после переноса

Linux

top
free -h
df -h
sudo ss -s

Состояние службы

sudo systemctl status gta-server.service

Журнал службы

sudo journalctl \
-u gta-server.service \
-f

MySQL или MariaDB

SHOW FULL PROCESSLIST;
SHOW STATUS LIKE 'Threads_connected';

Проверьте в первые часы

  • регистрацию новых игроков;
  • вход существующих аккаунтов;
  • сохранение денег;
  • загрузку транспорта;
  • работу организаций;
  • работу веб-панели;
  • голосовой чат;
  • автоматический перезапуск;
  • резервное копирование.

Проверьте после перезагрузки VPS

  • запустилась база;
  • запустился GTA-сервер;
  • применились правила firewall;
  • сохранился IP;
  • работает домен;
  • создаются журналы.

Как откатиться на старый хостинг при ошибке

План отката готовится до начала технических работ.

Откат возможен без потери данных, если

  • новый сервер ещё не был открыт игрокам;
  • на новой базе не появилось важных изменений;
  • старый сервер сохранён в остановленном состоянии;
  • финальный дамп и файлы не повреждены.

Если игроки уже играли на новом сервере

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

Порядок обратного переноса

  1. Остановите новый GTA-сервер.
  2. Создайте дамп новой базы.
  3. Синхронизируйте изменившиеся файлы.
  4. Передайте данные на старый VPS.
  5. Импортируйте актуальную базу.
  6. Проверьте конфигурацию.
  7. Запустите старый сервер в закрытом режиме.
  8. Только после проверки верните игроков.

Не используйте две рабочие базы попеременно

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

Сохраните неудачную новую установку

Журналы и конфигурация помогут найти причину ошибки без повторения всей миграции с нуля.

Распространённые ошибки при переносе GTA-сервера

Файлы перенесены, но аккаунтов нет

База данных не была экспортирована или сервер подключился к пустой базе.

Аккаунты есть, но отсутствует последнее имущество

Использован предварительный, а не финальный дамп после остановки старого сервера.

Сервер подключается к старой базе

  • не изменён host;
  • используется старый конфигурационный файл;
  • переменная окружения содержит старый IP;
  • запущена другая рабочая папка;
  • автозагрузка ссылается на старую конфигурацию.

Access denied for user

  • пользователь не создан;
  • неверный пароль;
  • не совпадает Host;
  • нет прав на базу;
  • подключение приходит с нового IP;
  • используется другая система аутентификации.

Unknown database

База не создана, импорт выполнен под другим именем или конфигурация содержит ошибку.

Table doesn't exist

  • дамп импортирован частично;
  • выбрана неправильная база;
  • не совпадает регистр таблицы;
  • игровой мод относится к другой версии;
  • импорт завершился ошибкой.

Plugin Failed после перехода на Linux

На новый сервер скопированы Windows DLL вместо Linux SO либо отсутствуют системные зависимости.

Permission denied на Linux

  • файл не имеет права исполнения;
  • неверный владелец;
  • серверный пользователь не читает конфигурацию;
  • нет права записи журналов;
  • архив распакован под другим пользователем.

Сервер работает локально, но игроки не подключаются

  • не открыт порт;
  • неправильный протокол;
  • внешний firewall VPS блокирует трафик;
  • домен указывает на старый IP;
  • сервер слушает localhost;
  • используется другой порт.

После запуска часть ресурсов отсутствует

  • передача оборвалась;
  • архив имеет неправильную структуру;
  • пропущены скрытые файлы;
  • не перенесены зависимости;
  • регистр имён отличается;
  • конфигурация содержит старые пути.

Русский текст повреждён

  • изменилась кодировка базы;
  • используется другое сопоставление;
  • соединение не устанавливает нужную кодировку;
  • файл конфигурации сохранён в другом формате;
  • SQL импортирован несовместимым клиентом.

Домен продолжает открывать старый сервер

  • DNS-кэш ещё не обновился;
  • A-запись не изменена;
  • редактировалась другая DNS-зона;
  • используется локальный hosts-файл;
  • лаунчер хранит IP в конфигурации;
  • мониторинг использует старый адрес.

Новый сервер работает медленнее

  • слабее производительность одного ядра;
  • медленный диск;
  • не хватает RAM;
  • база и сервер конкурируют за ресурсы;
  • не настроены системные лимиты;
  • изменилась версия базы;
  • отсутствуют индексы после неполного импорта;
  • используется удалённая база с высокой задержкой.

Контрольный список переноса GTA-сервера

До переноса

  • выбран совместимый хостинг;
  • проверена операционная система;
  • записаны версии компонентов;
  • известен размер файлов и базы;
  • создан аварийный архив;
  • создан предварительный дамп;
  • подготовлен план отката;
  • игроки предупреждены.

Новый сервер

  • система обновлена;
  • создан серверный пользователь;
  • установлена база;
  • установлены библиотеки;
  • создана рабочая папка;
  • настроен firewall;
  • есть публичный IP;
  • публичный вход пока закрыт.

Файлы

  • выполнена предварительная синхронизация;
  • серверное ядро перенесено;
  • игровой мод перенесён;
  • ресурсы перенесены;
  • плагины совместимы с системой;
  • конфигурация перенесена;
  • пути обновлены;
  • права файлов настроены;
  • контрольные суммы проверены.

База данных

  • старый сервер остановлен;
  • создан финальный дамп;
  • дамп имеет ненулевой размер;
  • архив проверен;
  • база импортирована;
  • пользователь создан;
  • права назначены;
  • число аккаунтов совпадает;
  • последние записи присутствуют.

Запуск

  • сервер запускается вручную;
  • игровой мод загружается;
  • плагины работают;
  • база подключается;
  • порт прослушивается;
  • администратор входит;
  • аккаунт загружается;
  • изменения сохраняются;
  • сервер перезапускается корректно.

Переключение

  • старый сервер остаётся выключенным;
  • домен направлен на новый IP;
  • лаунчер обновлён;
  • мониторинги обновлены;
  • игрокам опубликован новый адрес;
  • создана новая резервная копия;
  • старый VPS пока не удалён.

Частые вопросы о переносе GTA-сервера

Достаточно ли скопировать папку сервера?

Нет, если аккаунты и имущество хранятся в MySQL или MariaDB. Базу необходимо отдельно экспортировать и импортировать.

Как перенести сервер без потери аккаунтов?

Остановите старый GTA-сервер, создайте финальный дамп базы и не запускайте старую версию после этого. Импортируйте именно финальный дамп.

Можно ли копировать файлы, пока сервер работает?

Большую часть файлов можно передать заранее. После остановки выполните финальную синхронизацию изменившихся данных.

Нужно ли останавливать MySQL при переносе?

Для логического дампа через mysqldump или mariadb-dump обычно не требуется. Остановить необходимо игровой сервер, чтобы после дампа он не создавал новые данные.

Можно ли запустить два сервера с одной базой?

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

Как сократить время технических работ?

Заранее перенесите ресурсы и выполните тестовый импорт. Во время остановки передавайте только финальный дамп и последние изменения файлов.

Что лучше для Linux: SCP или rsync?

SCP удобен для передачи единого архива, а rsync — для повторной синхронизации изменившихся файлов.

Можно ли перенести сервер с Windows на Linux?

Да, но необходимо заменить DLL-плагины на SO-версии, изменить пути, права файлов и способ запуска.

Можно ли перенести сервер с Linux на Windows?

Да. Потребуются Windows-версии ядра и плагинов, системные библиотеки, Windows Firewall и новый механизм автозапуска.

Почему после переноса не загружается MySQL-плагин?

Проверьте архитектуру, операционную систему, зависимости, имя файла и соответствие версии include игровому моду.

Почему база импортировалась, но сервер её не видит?

Проверьте host, имя базы, пользователя, пароль, права, порт и фактически используемый конфигурационный файл.

Нужно ли переносить пользователей MySQL?

Дамп одной игровой базы обычно не переносит всех системных пользователей. Безопаснее создать отдельного пользователя заново и назначить необходимые права.

Нужно ли менять пароль базы?

Это рекомендуется, особенно если к старому хостингу имели доступ другие люди или конфигурация могла быть раскрыта.

Почему после импорта отсутствуют последние игроки?

Использован старый предварительный дамп, созданный до финальной остановки сервера.

Можно ли изменить MySQL на MariaDB во время переноса?

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

Нужно ли менять игровой порт?

Нет, если выбранный порт свободен и разрешён новым хостингом. Но правила firewall необходимо создать заново.

Что делать с доменом?

Измените A-запись на новый публичный IP и проверьте обновление DNS. Заранее уменьшенный TTL ускоряет переключение.

Можно ли сразу удалить старый VPS?

Нет. Сохраните его выключенным до завершения проверки нового сервера и создания новой резервной копии.

Как проверить целостность файлов?

Сравните размер, количество файлов и SHA-256. Исключите из сравнения журналы и кэш, изменившиеся после запуска.

Как проверить аккаунты?

Сравните количество строк в основных таблицах, последние ID и несколько реальных аккаунтов. Затем выполните тестовый вход и сохранение.

Что делать, если новый сервер не запускается?

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

Как выполнить откат после открытия нового сервера?

Остановите новый сервер, создайте актуальный дамп и перенесите его обратно. Включение старой базы без новых изменений приведёт к потере прогресса игроков.

Нужно ли создавать резервную копию после миграции?

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

Итог

Безопасный перенос GTA-сервера состоит из предварительного копирования файлов, финальной остановки старого процесса, создания актуального SQL-дампа и закрытой проверки нового хостинга. Аккаунты и имущество игроков сохраняются только в том случае, если на новый сервер импортирована последняя версия базы.

Для Linux удобно использовать rsync и SCP, а на Windows — Robocopy, tar и OpenSSH. При переносе между разными операционными системами необходимо заменить несовместимые плагины, пути и способы автоматического запуска.

После импорта базы сравните количество аккаунтов и других важных записей, проверьте вход игрока, изменение данных и повторное подключение. Затем настройте firewall, обновите домен и откройте сервер пользователям.

Старый VPS не удаляйте сразу. Оставьте его выключенным как временную точку отката, а после успешной миграции создайте новую полную резервную копию файлов и базы данных.

RSS инструкций
0 комментариев 0.0 из 0 оценок
MIAMI RP COMMUNITY

Комментарии к инструкции

Обсудите решение, задайте вопрос или дополните инструкцию

Всего: 0
Страница: /
Показано: 0
Добавление комментариев сейчас недоступно для текущего пользователя.