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

Хостинг для MTA:SA — установка, порты, FTP и перенос сервера

Сегодня Обновлено: Сегодня 0.0 (0)
Хостинг для MTA:SA — установка, порты, FTP и перенос сервера
Категория Настройка хостинга для сервера MTA:SA Опубликовано Сегодня Обновлено Сегодня Просмотров 5

Правильно выбранный хостинг определяет стабильность, задержку соединения и возможности развития сервера MTA:SA. Для небольшого тестового проекта может быть достаточно игрового хостинга с готовой панелью, а крупной Role Play сборке обычно требуется VPS или выделенный сервер с быстрым процессором, SSD-накопителем, MySQL и полным доступом к файлам.

В руководстве рассмотрены выбор типа хостинга, требования к оборудованию, установка серверных файлов MTA:SA на Windows и Linux, настройка портов, работа через FTP и SFTP, запуск ресурсов, автоматический старт сервера и перенос готовой сборки между хостингами.

Установка MTA Server на локальный компьютер или VPS:

Установка сервера MTA:SA на Windows и Linux

Настройка основного конфигурационного файла:

Настройка файла mtaserver.conf

Виды хостинга для сервера MTA:SA

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

Вариант Преимущества Недостатки
Игровой хостинг Готовая панель, автоматическая установка, выделенные порты, FTP и поддержка. Ограниченный доступ к системе, модулям и настройкам.
VPS или VDS Полный доступ, собственная MySQL, системные службы и гибкая настройка. Нужно самостоятельно обслуживать операционную систему.
Выделенный сервер Все ресурсы процессора и памяти принадлежат одному владельцу. Высокая стоимость и необходимость администрирования.
Домашний компьютер Нет ежемесячной аренды и полный контроль. Нестабильный интернет, динамический IP, шум, электричество и отсутствие защиты.

Игровой хостинг с панелью управления

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

Обычно панель предоставляет

  • запуск, остановку и перезапуск сервера;
  • доступ к консоли MTA;
  • файловый менеджер;
  • FTP-реквизиты;
  • выбор количества слотов;
  • создание базы MySQL;
  • автоматические резервные копии;
  • планировщик перезапусков;
  • графики CPU и памяти;
  • смену игрового и HTTP-порта.

Когда игровой хостинг удобнее VPS

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

Возможные ограничения

  • запрет собственных DLL- и SO-модулей;
  • ограниченный размер диска;
  • лимит CPU;
  • нельзя изменить системные библиотеки;
  • нет доступа к SSH;
  • MySQL находится на отдельном адресе;
  • фиксированные порты;
  • невозможно установить собственный Nginx;
  • ограничено количество резервных копий.

VPS или VDS для MTA:SA

VPS предоставляет виртуальную операционную систему с административным доступом. Владелец самостоятельно устанавливает MTA Server, MySQL, сетевой экран и дополнительные программы.

Преимущества VPS

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

Недостатки

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

Какую систему выбрать

Для постоянного сервера обычно выбирают актуальную стабильную версию Debian или Ubuntu Server. Windows VPS удобнее начинающим пользователям, но обычно требует больше оперативной памяти и работы через удалённый рабочий стол.

Выделенный сервер

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

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

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

Когда выделенная машина преждевременна

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

Покупка более мощного сервера не исправит тяжёлый Lua-цикл, утечку памяти или медленный SQL-запрос.

Запуск MTA Server на домашнем компьютере

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

Основные проблемы

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

Для разработки сервер можно запустить локально, а после завершения настройки перенести на игровой хостинг или VPS.

Требования к хостингу MTA:SA

Точная нагрузка зависит от Lua-кода, количества ресурсов, транспорта, объектов, базы данных и активности игроков. Следующие значения являются ориентиром, а не гарантией.

Тип проекта Процессор Оперативная память Диск
Разработка и закрытый тест 1–2 виртуальных ядра 2 ГБ 20–30 ГБ SSD
Небольшой сервер 2 быстрых ядра 4 ГБ 30–50 ГБ SSD или NVMe
Средний RP-проект 3–4 быстрых ядра 6–8 ГБ 50–100 ГБ NVMe
Крупный проект Выделенные быстрые ядра 8–16 ГБ и больше NVMe с запасом для базы и копий

Дополнительные требования

  • публичный IPv4-адрес;
  • возможность открыть UDP- и TCP-порты;
  • доступ к MySQL;
  • защита от сетевых атак;
  • неограниченный или достаточный трафик;
  • резервное копирование;
  • доступ к консоли;
  • стабильная сеть без частых потерь пакетов.

Как выбрать процессор

Для MTA важна не только сумма виртуальных ядер, но и скорость каждого ядра. Один тяжёлый Lua-ресурс может создавать задержку даже при низкой общей загрузке многопроцессорной системы.

Перед покупкой уточните

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

Признаки перегруженного VPS

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

Оперативная память и накопитель

Память используют

  • процесс MTA Server;
  • Lua-ресурсы и кэши;
  • MySQL или MariaDB;
  • операционная система;
  • Nginx и другие службы;
  • файловый кэш;
  • панель управления.

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

Для диска предпочтительно

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

Что быстро занимает место

  • db.log при включённом debugdb 2;
  • журналы Lua;
  • SQL-дампы;
  • архивы старых ресурсов;
  • крупные модели и текстуры;
  • резервные копии панели.

Расположение дата-центра и сеть

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

Перед оплатой проверьте

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

Низкий ping не гарантирует стабильность

Лучше стабильные 50–70 миллисекунд без потерь, чем 20 миллисекунд с периодическими обрывами и перегрузкой сети.

Защита от DDoS-атак

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

Уточните у провайдера

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

Что проверить перед оплатой хостинга

  • поддерживается ли MTA:SA;
  • выдаётся ли публичный IPv4;
  • можно ли открыть нужные UDP- и TCP-порты;
  • есть ли FTP или SFTP;
  • предоставляется ли SSH;
  • разрешены ли собственные ресурсы;
  • разрешены ли DLL- и SO-модули;
  • есть ли MySQL и phpMyAdmin;
  • можно ли импортировать большой SQL-файл;
  • какой объём диска доступен;
  • включены ли резервные копии;
  • можно ли скачать копию на компьютер;
  • есть ли защита UDP;
  • как быстро отвечает поддержка;
  • можно ли изменить тариф без потери файлов и IP.

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

Для нового проекта потребуется

  • актуальная стабильная версия MTA Server;
  • официальные базовые ресурсы;
  • готовая сборка или собственные Lua-ресурсы;
  • файл mtaserver.conf;
  • файл acl.xml;
  • SQL-файл, если используется MySQL;
  • доступ к панели, FTP или SSH;
  • выделенные порты;
  • резервная копия исходной сборки.

Для переноса существующего сервера сохраните

  • всю папку resources;
  • mtaserver.conf;
  • acl.xml;
  • banlist.xml;
  • internal.db;
  • registry.db;
  • server-id.keys;
  • SQL-дамп;
  • модули;
  • планировщики и файлы запуска.

Установка через панель игрового хостинга

Названия разделов различаются, но общий порядок обычно одинаков.

  1. Создайте игровой сервер MTA:SA.
  2. Выберите стабильную версию серверного ядра.
  3. Дождитесь установки файлов.
  4. Откройте файловый менеджер.
  5. Найдите каталог mods/deathmatch.
  6. Скачайте резервную копию стандартной конфигурации.
  7. Загрузите ресурсы в папку resources.
  8. Настройте mtaserver.conf.
  9. Создайте базу MySQL при необходимости.
  10. Запустите сервер через панель.
  11. Проверьте консоль и ошибки.

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

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

Установка MTA Server на Windows VPS

  1. Подключитесь к VPS через удалённый рабочий стол.
  2. Установите обновления Windows.
  3. Создайте отдельную папку сервера.
  4. Скачайте официальный установщик MTA.
  5. Выберите установку серверного компонента.
  6. Установите официальные ресурсы.
  7. Откройте mods/deathmatch/mtaserver.conf.
  8. Настройте имя, порты и слоты.
  9. Разрешите процесс в сетевом экране.
  10. Запустите MTA Server.

Пример пути

C:\MTA-Server\
├── MTA Server.exe
├── mods\
│ └── deathmatch\
│ ├── mtaserver.conf
│ ├── acl.xml
│ └── resources\
└── server-id.keys

Для рабочего проекта лучше не устанавливать сервер в папку, доступ к которой имеют все пользователи Windows.

Установка MTA Server на Linux VPS

Ниже приведён пример для 64-битного Debian или Ubuntu.

Обновление системы и установка инструментов

sudo apt update
sudo apt upgrade -y
sudo apt install wget tar unzip -y

Создание рабочей папки

mkdir -p /home/mtasa/server
cd /home/mtasa/server

Загрузка стабильной 64-битной версии

wget \
https://linux.multitheftauto.com/dl/multitheftauto_linux_x64.tar.gz

Распаковка

tar -xf multitheftauto_linux_x64.tar.gz

mv multitheftauto_linux_x64/* .
rmdir multitheftauto_linux_x64

rm multitheftauto_linux_x64.tar.gz

Загрузка стандартной конфигурации

wget \
https://linux.multitheftauto.com/dl/baseconfig.tar.gz

tar -xf baseconfig.tar.gz

mv baseconfig/* mods/deathmatch/

rm -rf baseconfig baseconfig.tar.gz

Установка официальных ресурсов

mkdir -p mods/deathmatch/resources
cd mods/deathmatch/resources

wget \
https://mirror.multitheftauto.com/mtasa/resources/mtasa-resources-latest.zip

unzip mtasa-resources-latest.zip

rm mtasa-resources-latest.zip

cd ../../..

Первый тест

chmod +x mta-server64
./mta-server64

Отдельный пользователь Linux для MTA

Не запускайте игровой сервер от имени root.

Создание пользователя

sudo adduser --disabled-password --gecos "" mtasa

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

sudo chown -R mtasa:mtasa /home/mtasa/server

Переход в его учётную запись

sudo -iu mtasa
cd /home/mtasa/server

Права на запуск

chmod +x mta-server64

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

Структура файлов MTA Server

server/
├── mta-server64
├── net.so
├── server-id.keys
└── mods/
 └── deathmatch/
 ├── mtaserver.conf
 ├── acl.xml
 ├── banlist.xml
 ├── internal.db
 ├── registry.db
 ├── logs/
 ├── databases/
 ├── resource-cache/
 └── resources/

Основные элементы

Файл или папка Назначение
mtaserver.conf Главная конфигурация сервера.
acl.xml Группы и права пользователей и ресурсов.
resources Lua-ресурсы, карты и игровой режим.
logs Серверные и отладочные журналы.
internal.db Внутренние аккаунты MTA.
registry.db Данные реестра ресурсов.
server-id.keys Уникальный ключ сервера для приватных клиентских файлов.

Первый запуск сервера

Windows

MTA Server.exe

Linux

cd /home/mtasa/server
./mta-server64

В консоли проверьте

  • успешное открытие игрового порта;
  • запуск встроенного HTTP-сервера;
  • загрузку acl.xml;
  • обнаружение ресурсов;
  • ошибки библиотек;
  • ошибки XML;
  • подключение к MySQL;
  • адрес и порт сервера.

Корректное выключение

shutdown Завершение первоначальной настройки

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

Основная настройка сервера на хостинге

Откройте файл:

mods/deathmatch/mtaserver.conf

Минимальный пример

<servername>My MTA Role Play Server</servername>

<owner_email_address>owner@example.com</owner_email_address>

<serverip>auto</serverip>
<serverport>22003</serverport>
<maxplayers>32</maxplayers>

<httpserver>1</httpserver>
<httpport>22005</httpport>

<ase>1</ase>

<password></password>
<fpslimit>74</fpslimit>

Важные правила

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

Подробная настройка mtaserver.conf

Какие порты нужны серверу MTA:SA

Назначение Стандартный порт Протокол
Подключение игроков 22003 UDP
HTTP и загрузка ресурсов 22005 TCP
Публикация в списке серверов 22126 UDP

Порт списка серверов рассчитывается по формуле:

ASE-порт = игровой порт + 123

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

<serverport>22101</serverport>

Соответствующий ASE-порт:

22101 + 123 = 22224 UDP

Когда HTTP-порт не требуется открывать публично

  • встроенный HTTP-сервер отключён;
  • файлы полностью выдаёт внешний Nginx;
  • webadmin не используется;
  • хостинг самостоятельно проксирует загрузки.

Открытие портов MTA в Linux

Пример для UFW со стандартными портами:

sudo ufw allow 22003/udp
sudo ufw allow 22005/tcp
sudo ufw allow 22126/udp

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

sudo ufw status numbered

Включение UFW

sudo ufw enable

Пример ограничения SSH своим IP

sudo ufw allow from ВАШ_IP to any port 22 proto tcp

Нестандартные порты

Когда в mtaserver.conf указан игровой порт 22101:

sudo ufw allow 22101/udp
sudo ufw allow 22005/tcp
sudo ufw allow 22224/udp

Проверка прослушиваемых портов

sudo ss -lntup

Открытие портов в Windows Firewall

Запустите PowerShell от имени администратора.

Игровой порт

New-NetFirewallRule `
-DisplayName "MTA Game UDP 22003" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 22003 `
-Action Allow

HTTP-порт

New-NetFirewallRule `
-DisplayName "MTA HTTP TCP 22005" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 22005 `
-Action Allow

ASE-порт

New-NetFirewallRule `
-DisplayName "MTA ASE UDP 22126" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 22126 `
-Action Allow

Проверка созданных правил

Get-NetFirewallRule |
Where-Object DisplayName -Like "MTA*"

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

Как проверить порты сервера

После запуска MTA выполните в серверной консоли:

openports

Проверяются

  • игровой UDP-порт;
  • HTTP TCP-порт;
  • ASE UDP-порт.

Проверка HTTP через браузер

http://IP_СЕРВЕРА:22005/

Проверка TCP-порта с другого компьютера

Test-NetConnection IP_СЕРВЕРА -Port 22005

Если openports показывает закрытый порт

  • проверьте протокол TCP или UDP;
  • проверьте локальный сетевой экран;
  • проверьте firewall панели VPS;
  • проверьте, запущен ли MTA;
  • проверьте значение в mtaserver.conf;
  • убедитесь, что порт не занят другим сервером;
  • уточните у провайдера, не блокируется ли UDP.

Как добавить сервер в общий список MTA

В конфигурации должно быть включено:

<ase>1</ase>

Также должен быть открыт дополнительный UDP-порт:

игровой порт + 123

Полезные параметры

<servername>Miami RP | MTA Server</servername>

<owner_email_address>owner@example.com</owner_email_address>

<rule
 name="description"
 value="Role Play сервер на русском языке"
/>

<rule
 name="languages"
 value="ru"
/>

<rule
 name="tags"
 value="roleplay,rp,russian"
/>

Если сервер не появляется

  • проверьте ase=1;
  • проверьте ASE-порт;
  • оставьте serverip со значением auto;
  • укажите действующую почту владельца;
  • проверьте правила списка серверов;
  • убедитесь, что сервер доступен извне;
  • посмотрите ошибки в консоли.

FTP и SFTP-доступ к файлам MTA

FTP

Обычный FTP часто предоставляется игровыми хостингами. Реквизиты отображаются в панели:

  • адрес сервера;
  • порт;
  • имя пользователя;
  • пароль;
  • корневая папка игрового сервера.

SFTP

На VPS предпочтительнее использовать SFTP. Он работает через SSH и шифрует авторизацию и передаваемые файлы.

Стандартные значения

Тип Обычный порт Особенности
FTP 21 Используется панелями игровых хостингов.
FTPS Зависит от конфигурации FTP с TLS-шифрованием.
SFTP 22 Передача файлов через SSH.

Подключение через FileZilla

Для игрового FTP

  1. Откройте «Менеджер сайтов».
  2. Создайте новый сайт.
  3. Выберите FTP или FTPS согласно панели.
  4. Укажите адрес хостинга.
  5. Укажите выданный порт.
  6. Выберите обычный тип входа.
  7. Введите логин и пароль.
  8. Подключитесь.

Для VPS через SFTP

Протокол: SFTP
Хост: IP_СЕРВЕРА
Порт: 22
Пользователь: mtasa
Пароль: пароль пользователя или SSH-ключ

Рабочая папка

/home/mtasa/server/

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

/home/mtasa/server/mods/deathmatch/resources/

Что делать при ошибке доступа

  • проверить владельца папки;
  • проверить пользователя подключения;
  • проверить права файлов;
  • убедиться, что SSH разрешён сетевым экраном;
  • проверить правильность порта;
  • не подключаться как root без необходимости.

Загрузка ресурсов на хостинг

Каждый ресурс помещается в каталог:

mods/deathmatch/resources/

Правильная структура

resources/
└── vehicle_system/
 ├── meta.xml
 ├── server.lua
 └── client.lua

Неправильная двойная вложенность

resources/
└── vehicle_system/
 └── vehicle_system/
 ├── meta.xml
 └── server.lua

После загрузки

refresh
info vehicle_system
start vehicle_system

После замены файлов существующего ресурса

restart vehicle_system

После изменения meta.xml

refreshall

Запуск и автозагрузка ресурсов

Основные команды

list
refresh
info resource_name
start resource_name
stop resource_name
restart resource_name

Автозапуск в mtaserver.conf

<resource
 src="database"
 startup="1"
 protected="1"
/>

<resource
 src="accounts"
 startup="1"
 protected="0"
/>

<resource
 src="characters"
 startup="1"
 protected="0"
/>

<resource
 src="roleplay"
 startup="1"
 protected="0"
/>

Рекомендуемый порядок

  1. подключение к базе;
  2. общие библиотеки;
  3. система аккаунтов;
  4. персонажи;
  5. инвентарь и имущество;
  6. транспорт;
  7. основной игровой режим;
  8. интерфейсы и дополнительные работы.

Установка ресурсов и Lua-скриптов MTA

Настройка MySQL на хостинге

Игровой хостинг обычно выдаёт

  • адрес базы;
  • порт;
  • имя базы;
  • пользователя;
  • пароль;
  • ссылку на phpMyAdmin.

Пример параметров

Хост: mysql12.hosting.example
Порт: 3306
База: user123_mta
Пользователь: user123_mta
Пароль: СЛОЖНЫЙ_ПАРОЛЬ

Строка подключения MTA

local connection = dbConnect(
 "mysql",
 table.concat({
 "dbname=user123_mta",
 "host=mysql12.hosting.example",
 "port=3306",
 "charset=utf8mb4"
 }, ";"),
 "user123_mta",
 "СЛОЖНЫЙ_ПАРОЛЬ",
 "share=0;autoreconnect=1;batch=1"
)

Локальная база на VPS

host=127.0.0.1
port=3306

Основные ошибки

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

Подключение MySQL к серверу MTA:SA

Создание административного аккаунта

Создание аккаунта в консоли

addaccount ServerOwner СЛОЖНЫЙ_ПАРОЛЬ

Добавление в acl.xml

<group name="Admin">
 <acl name="Moderator" />
 <acl name="SuperModerator" />
 <acl name="Admin" />
 <acl name="RPC" />

 <object name="resource.admin" />
 <object name="user.ServerOwner" />
</group>

Перезагрузка ACL

reloadacl

Авторизация в игре

login ServerOwner СЛОЖНЫЙ_ПАРОЛЬ

Для панели администратора должен быть запущен ресурс admin.

Настройка ACL и прав администратора

Автоматический запуск MTA через systemd

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

sudo nano /etc/systemd/system/mtasa.service

Содержимое файла

[Unit]
Description=MTA San Andreas Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=mtasa
Group=mtasa
WorkingDirectory=/home/mtasa/server
ExecStart=/home/mtasa/server/mta-server64
Restart=on-failure
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

Применение

sudo systemctl daemon-reload
sudo systemctl enable mtasa
sudo systemctl start mtasa

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

sudo systemctl status mtasa

Просмотр журнала

sudo journalctl -u mtasa -n 100 --no-pager

Перезапуск

sudo systemctl restart mtasa

Остановка

sudo systemctl stop mtasa

Логи и контроль состояния сервера

Основные журналы

mods/deathmatch/logs/server.log
mods/deathmatch/logs/server_auth.log
mods/deathmatch/logs/scripts.log
mods/deathmatch/logs/db.log

Параметры mtaserver.conf

<logfile>logs/server.log</logfile>
<authfile>logs/server_auth.log</authfile>
<dbfile>logs/db.log</dbfile>

<scriptdebuglogfile>logs/scripts.log</scriptdebuglogfile>
<scriptdebugloglevel>2</scriptdebugloglevel>

На VPS проверяйте

free -h
df -h
top
sudo ss -lntup

Размер логов

du -sh /home/mtasa/server/mods/deathmatch/logs/

Что требует внимания

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

Внешний HTTP-сервер для загрузки ресурсов

При большом количестве клиентских файлов можно использовать Nginx или CDN.

Параметр MTA

<httpdownloadurl>https://files.example.com/mta/</httpdownloadurl>

Каталог готовых клиентских файлов

mods/deathmatch/resource-cache/http-client-files/

Когда внешний HTTP полезен

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

После изменения ресурсов

  • перезапустите изменённый ресурс;
  • обновите каталог клиентских файлов;
  • синхронизируйте его с Nginx или CDN;
  • проверьте загрузку с чистого клиента;
  • убедитесь в отсутствии старого кэша.

Как перенести сервер MTA:SA на другой хостинг

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

Этап 1. Подготовьте новый сервер

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

Этап 2. Создайте полную копию старого сервера

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

Архив на Linux

cd /home/mtasa

tar -czf \
mta-server-backup.tar.gz \
server/

Этап 3. Передайте архив

Через SFTP:

scp \
mta-server-backup.tar.gz \
mtasa@НОВЫЙ_IP:/home/mtasa/

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

cd /home/mtasa

tar -xzf mta-server-backup.tar.gz

sudo chown -R mtasa:mtasa /home/mtasa/server

Этап 4. Измените параметры окружения

  • адрес MySQL;
  • пользователя и пароль базы;
  • игровой порт;
  • HTTP-порт;
  • внешний URL загрузок;
  • пути в службе systemd;
  • сетевой экран;
  • адреса внешних API;
  • разрешённые IP базы данных.

Перенос базы данных MySQL

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

mysqldump \
--single-transaction \
--routines \
--triggers \
-h СТАРЫЙ_ХОСТ \
-u СТАРЫЙ_ПОЛЬЗОВАТЕЛЬ \
-p \
СТАРАЯ_БАЗА \
> mta_database.sql

Создание новой базы

CREATE DATABASE `mta_server`
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

Импорт

mysql \
-h НОВЫЙ_ХОСТ \
-u НОВЫЙ_ПОЛЬЗОВАТЕЛЬ \
-p \
mta_server \
< mta_database.sql

Проверка таблиц

USE `mta_server`;
SHOW TABLES;

Проверка количества аккаунтов

SELECT COUNT(*) FROM `accounts`;

После переноса обновите dbConnect

local connection = dbConnect(
 "mysql",
 "dbname=mta_server;host=127.0.0.1;port=3306;charset=utf8mb4",
 "mta_user",
 "НОВЫЙ_ПАРОЛЬ",
 "share=0;autoreconnect=1;batch=1"
)

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

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

<password>MigrationTest2026</password>

Проверьте

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

Тест перезагрузки

sudo reboot

После запуска системы:

sudo systemctl status mtasa

Открытие публичного доступа

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

<password></password>

Затем сообщите игрокам новый IP и порт.

Сохранение server-id.keys при переносе

Файл:

server-id.keys

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

При переносе

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

Параметр конфигурации

<idfile>server-id.keys</idfile>

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

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

Скачайте через FTP

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

Экспортируйте MySQL

Используйте phpMyAdmin или раздел резервного копирования панели.

Уточните ограничения панели

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

На VPS

  1. установите чистое ядро MTA;
  2. загрузите свои файлы поверх соответствующих каталогов;
  3. восстановите базу;
  4. измените параметры подключения;
  5. настройте systemd;
  6. откройте порты;
  7. проведите закрытый тест.

Перенос с VPS на игровой хостинг

Сначала уточните

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

После загрузки

  • замените старый IP базы;
  • укажите порты панели;
  • уберите Linux-пути из скриптов;
  • проверьте регистр имён файлов;
  • проверьте сторонние модули;
  • пересоздайте планировщик перезапусков;
  • обновите внешний HTTP-адрес.

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

Распространённые ошибки хостинга MTA

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

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

Сервер не появляется в списке

  • ase выключен;
  • закрыт порт serverport + 123;
  • неверно настроен serverip;
  • сервер недоступен извне;
  • не указана почта владельца;
  • нарушены правила списка серверов.

Игроки не скачивают ресурсы

  • закрыт HTTP-порт;
  • httpserver выключен;
  • неверный httpdownloadurl;
  • внешний сервер возвращает 404;
  • каталог кэша не синхронизирован;
  • файл отсутствует в meta.xml;
  • на диске закончилось место.

FTP подключается, но файлы нельзя изменить

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

MTA прекращает работу после закрытия SSH

Сервер был запущен непосредственно в терминале. Используйте systemd, screen или tmux. Для рабочего проекта предпочтительнее системная служба.

MySQL работает через phpMyAdmin, но не из MTA

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

Ресурс работает на Windows, но не работает на Linux

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

После переноса пропали аккаунты

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

Безопасность хостинга MTA:SA

Основные меры

  • используйте отдельного пользователя Linux;
  • не запускайте MTA от root;
  • используйте SFTP вместо обычного FTP на VPS;
  • ограничьте SSH своим IP, когда это возможно;
  • применяйте уникальные пароли;
  • не используйте пароль MTA для панели хостинга;
  • закройте MySQL от общего интернета;
  • не добавляйте неизвестные ресурсы в Admin;
  • не запускайте непроверенные DLL и SO;
  • обновляйте операционную систему;
  • проверяйте журнал авторизации;
  • удаляйте доступ бывших разработчиков.

Не храните пароли

  • в client.lua;
  • в shared.lua;
  • в публичном репозитории;
  • в скриншотах панели;
  • в открытом архиве сборки;
  • в сообщениях общего чата.

Защита сервера MTA:SA от взлома и читеров

Резервное копирование сервера на хостинге

Ежедневно желательно сохранять

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

Перед обновлением сохраняйте

  • полную папку ресурса;
  • SQL-дамп;
  • старый meta.xml;
  • изменяемые настройки;
  • список версий;
  • план отката.

Пример архива Linux

tar -czf \
/home/mtasa/backups/server-$(date +%F).tar.gz \
/home/mtasa/server

Пример SQL-дампа

mysqldump \
--single-transaction \
-u mta_user \
-p \
mta_server \
> /home/mtasa/backups/database-$(date +%F).sql

Копии должны находиться

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

Частые вопросы о хостинге MTA:SA

Что лучше: игровой хостинг или VPS?

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

Сколько оперативной памяти нужно?

Для теста часто достаточно 2 ГБ. Рабочему RP-проекту обычно нужен больший запас для MTA, MySQL и операционной системы.

Что важнее: количество ядер или их скорость?

Нужен баланс, но быстрые ядра особенно важны для тяжёлых Lua-ресурсов. Большое число медленных виртуальных ядер не всегда помогает.

Можно ли разместить MTA на обычном веб-хостинге?

Нет. Обычный веб-хостинг не позволяет запускать постоянный игровой процесс и открывать необходимые UDP-порты.

Какой порт используется игроками?

Стандартный игровой порт — 22003 UDP, но хостинг может выдать другой.

Для чего нужен 22005?

Это стандартный TCP-порт встроенного HTTP-сервера, загрузки ресурсов и веб-интерфейсов.

Для чего нужен порт 22126?

При стандартном игровом порте это ASE-порт для публикации в списке серверов.

Как вычислить ASE-порт?

Прибавьте 123 к игровому порту.

Что указывать в serverip?

В большинстве случаев оставляйте auto.

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

Запустите сервер и выполните команду openports.

Что выбрать на VPS: FTP или SFTP?

SFTP. Он работает через SSH и не требует отдельного FTP-сервера.

Куда загружать ресурсы?

В каталог mods/deathmatch/resources.

Как найти новый загруженный ресурс?

Выполните команду refresh.

Как запустить ресурс?

Используйте start название_ресурса.

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

Добавьте его в mtaserver.conf с параметром startup="1".

Как автоматически запускать MTA после перезагрузки VPS?

На Linux создайте службу systemd, а на игровом хостинге используйте функцию автозапуска панели.

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

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

Нужно ли открывать MySQL-порт?

Для локальной базы — нет. Для удалённой разрешайте подключение только с IP MTA Server.

Почему сервер не появляется в браузере MTA?

Проверьте ase, дополнительный UDP-порт, serverip, контактную почту и доступность сервера.

Можно ли перенести сервер без смены IP?

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

Что обязательно перенести вместе с ресурсами?

Конфигурацию, ACL, внутренние базы, MySQL, модули и server-id.keys.

Почему после переноса не работают приватные файлы?

Возможно, не был перенесён оригинальный server-id.keys.

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

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

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

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

Как понять, что тариф слишком слабый?

Контролируйте CPU, память, диск, Lua timing, задержку MySQL и стабильность при реальном онлайне.

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

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

Официальная документация

Заключение

Для первого небольшого проекта удобен игровой хостинг с готовой панелью, FTP, консолью и MySQL. VPS предоставляет больше возможностей, но требует самостоятельной настройки Linux или Windows, сетевого экрана, автозапуска и резервного копирования.

При выборе тарифа обращайте внимание на производительность процессора, доступную память, NVMe-накопитель, расположение дата-центра, стабильность сети, публичный IPv4 и защиту UDP-трафика.

Для работы MTA необходимо открыть игровой UDP-порт, HTTP TCP-порт и дополнительный UDP-порт, равный игровому порту плюс 123. После запуска проверьте их командой openports.

На VPS используйте SFTP через отдельного системного пользователя. Ресурсы загружаются в mods/deathmatch/resources, обнаруживаются командой refresh и запускаются через start.

При переносе сохраните всю сборку, MySQL, ACL, внутренние базы и server-id.keys. Сначала протестируйте новый сервер под временным паролем и только после проверки открывайте его игрокам.

Установка серверной программы:

Установка MTA Server

Настройка конфигурации:

Настройка mtaserver.conf

Установка игровых ресурсов:

Ресурсы и Lua-скрипты MTA

Администрирование сервера:

Администрирование MTA:SA

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

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

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

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