Как поднять сервер MTA:SA: пошаговая инструкция
Если гуглил «как поднять сервер MTA» и половина результатов ведёт на Steam-гайды — забудь про них сразу: Multi Theft Auto: San Andreas в Steam не продаётся и не устанавливается, ни клиент, ни сервер. Это отдельный проект, который живёт своей жизнью с середины 2000-х и качается только с официального сайта. Разберём процесс с нуля: откуда брать серверные файлы, как настроить mtaserver.conf, где искать ресурсы для гейммода и как не потерять сервер после перезагрузки VPS.
Содержание
Системные требования: что реально нужно под MTA:SA
MTA:SA — старый движок по меркам 2026 года, и сервер по факту работает как единый процесс, который считает физику машин, синхронизирует позиции игроков и гоняет Lua-скрипты ресурсов. Требовательность зависит не столько от числа слотов, сколько от того, сколько тяжёлых ресурсов (гейммодов, карт, кастомных скриптов) висит одновременно.
Минимум, с которого стоит стартовать — 1 ГБ RAM, это порог для голого сервера с парой лёгких ресурсов и небольшим числом слотов. Дальше по нагрузке:
| Сценарий | RAM | vCPU | Игроков |
|---|---|---|---|
| Голый сервер, freeroam/race, минимум ресурсов | 1 ГБ | 1–2 | до 32 |
| DayZ-style / RPG гейммод с базой данных | 2 ГБ | 2 | 32–64 |
| Крупный RP-проект (MTA:Life-подобный) с MySQL и десятками скриптов | 3–4 ГБ | 2–4 | 64–100+ |
Это ориентир, а не результат бенчмарка — тяжёлые RP-гейммоды с активным использованием SQL-запросов и большим числом onClientRender-хуков в клиентских скриптах могут упереться в CPU раньше, чем в память, особенно при сотне одновременных игроков. Диск на SSD брать стоит хотя бы ради быстрой загрузки карт и ресурсов при рестарте, хотя сама MTA:SA места ест немного — база под сервер и стандартный набор карт занимает от силы пару гигабайт.
Скачивание сервера: только с официального сайта
Серверные файлы MTA:SA качаются с multitheftauto.com — раздел загрузок, вкладка Linux (есть и Windows-сборка, но на VPS для игровых серверов почти всегда берут Linux). Никакого Steam, никакого SteamCMD — просто архив с бинарником и стандартными ресурсами.
На Ubuntu/Debian процесс такой:
mkdir -p ~/mtaserver && cd ~/mtaserver
wget https://linux.multitheftauto.com/dl/multitheftauto_linux_x64.tar.gz
tar -xvzf multitheftauto_linux_x64.tar.gz
Точное имя архива и версия меняются с релизами — актуальную ссылку всегда бери со страницы загрузок официального сайта, не из старых форумных постов: URL прошлых версий периодически перестают работать после апдейтов. После распаковки в директории появится бинарник mta-server64 (или mta-server для 32-битной сборки — она тоже есть, но для новых VPS почти всегда нужна именно 64-битная) и папка mods/deathmatch со стандартными ресурсами и конфигами.
Если на сервере нет wget, ставится тривиально:
sudo apt update && sudo apt install -y wget tar
Поднять сервер MTA:SA за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверБазовая конфигурация: mtaserver.conf
Главный конфиг сервера — mods/deathmatch/mtaserver.conf, это обычный XML-файл, который читается при каждом старте. Открываем:
nano mods/deathmatch/mtaserver.conf
Ключевые параметры, которые правишь в первую очередь:
<servername>Мой первый MTA сервер</servername>
<serverip></serverip>
<serverport>22003</serverport>
<serverport_udp>22126</serverport_udp>
<httpport>22005</httpport>
<maxplayers>32</maxplayers>
<httpdownloadurl></httpdownloadurl>
<adminpassword>смени_меня_на_сложный_пароль</adminpassword>
serverport — основной игровой порт, по умолчанию 22003 (UDP), его же используют для входящих подключений клиентов. httpport — HTTP-порт для веб-браузера ресурсов и загрузки карт/скриптов клиентам, по умолчанию 22005, обычно равен serverport + 2. Оставлять их дефолтными нормально, если на машине один сервер; если поднимаешь несколько MTA-серверов на одном VPS, каждому нужен свой набор портов без пересечений.
Секция <resources> в конце файла перечисляет ресурсы, которые стартуют автоматически — сюда добавляются гейммод и карты, о чём ниже. Пустой <serverip> — это нормально, сервер сам забиндится на все доступные интерфейсы; указывать конкретный IP имеет смысл только если на машине несколько сетевых адресов и нужно явно выбрать один.
Ресурсы: гейммод, карты и где их брать
MTA:SA — это фреймворк поверх GTA: San Andreas, и без ресурсов сервер запустится, но играть будет не во что — движок сам по себе не содержит игровой логики, только сетевой слой и API. Вся логика — в ресурсах, папках со скриптами на Lua внутри mods/deathmatch/resources/.
В стандартной поставке уже лежит набор дефолтных ресурсов: admin (админ-панель), webadmin, race, freeroam и несколько базовых карт. Если нужен конкретный гейммод (DayZ-подобный выживач, RP-сборка вроде MTA:Life, DD-race), его обычно берут с community.multitheftauto.com — там каталог ресурсов с открытым исходным кодом от сообщества — либо с GitHub-репозиториев конкретных проектов.
Скачанный ресурс кладётся папкой в mods/deathmatch/resources/:
cd mods/deathmatch/resources
git clone https://github.com/имя-автора/имя-ресурса.git
или просто распаковывается архивом, если ресурс не в git. Дальше ресурс нужно прописать в mtaserver.conf:
<resource src="freeroam" startup="1" protected="0" />
<resource src="имя-ресурса" startup="1" protected="0" />
startup="1" запускает ресурс автоматически при старте сервера, без этого его придётся включать вручную через консоль командой start имя-ресурса после каждого рестарта. У части ресурсов (особенно крупных RP-сборок) есть зависимости — свои требования к другим ресурсам или к MySQL-модулю, — они обычно описаны в meta.xml самого ресурса или в README проекта на GitHub; если сервер пишет ошибку про недостающую зависимость при старте ресурса, смотри именно туда.
Запуск сервера
Из директории с распакованным архивом:
cd ~/mtaserver
./mta-server64
Если всё собралось правильно, в консоли пойдёт лог загрузки ресурсов и в конце появится строка о том, что сервер слушает игровой порт. Тут же в консоли можно вводить команды администрирования — start, stop, restart имя-ресурса, shutdown.
Частые причины падения при первом запуске:
Failed to bind port— порт уже занят другим процессом или предыдущий инстанс сервера не завершился корректно; проверьss -tulnp | grep 22003.- Ошибка в
mtaserver.conf— обычно не закрытый XML-тег или опечатка в имени параметра; сервер честно пишет номер строки, где споткнулся парсер. - Ресурс не стартует — смотри лог именно этого ресурса в консоли, чаще всего не хватает зависимости или в
meta.xmlуказан несуществующий скрипт.
Для постоянной работы без открытого терминала есть встроенный скрипт mta-server64 с флагом фонового запуска, но надёжнее и предсказуемее — через systemd, о чём в следующем разделе.
Порты и firewall
Набор портов, которые нужно открыть на VPS:
| Порт | Протокол | Назначение |
|---|---|---|
| 22003 | UDP | основной игровой порт |
| 22126 | UDP | ASE/статистика сервера (запросы списка серверов) |
| 22005 | TCP | HTTP-порт ресурсов (загрузка карт/скриптов клиентам) |
На VPS с белым IP это настройка firewall самой машины, а не NAT-проброса на роутере:
sudo ufw allow 22003/udp
sudo ufw allow 22126/udp
sudo ufw allow 22005/tcp
sudo ufw reload
Если менял порты в mtaserver.conf — открывай именно те значения, которые прописал там, а не дефолтные из таблицы. Для нескольких серверов на одной машине каждому нужен свой набор из трёх портов без пересечений с соседями; ставить два сервера на один и тот же serverport нельзя — второй экземпляр просто не забиндится и упадёт с ошибкой из списка выше.
Проверить, что порт слушается:
ss -tulnp | grep 22003
Похожая логика с портами и firewall встречается почти в любом дедике — например, в гайде по Garry's Mod разбирается тот же принцип на Source-движке, если интересно сравнить подход.
Автозапуск через systemd
Ручной запуск из терминала неудобен тем, что при обрыве SSH-сессии или перезагрузке VPS сервер не поднимется сам. Заводим systemd-юнит:
sudo nano /etc/systemd/system/mta-server.service
Содержимое:
[Unit]
Description=MTA:SA Dedicated Server
After=network.target
[Service]
User=mta
WorkingDirectory=/home/mta/mtaserver
ExecStart=/home/mta/mtaserver/mta-server64
Restart=on-failure
RestartSec=10
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
Как и с любым дедиком, запускать сервер лучше от отдельного непривилегированного пользователя, а не от root — заводится он стандартно (sudo adduser mta), с правами на директорию ~/mtaserver. Регистрируем юнит и включаем автозапуск:
sudo systemctl daemon-reload
sudo systemctl enable --now mta-server.service
sudo systemctl status mta-server.service
Логи после этого удобнее смотреть через journalctl -u mta-server -f, а не гонять сервер в отдельном терминальном окне через screen/tmux, хотя для отладки конкретного ресурса тот же tmux с ручным запуском бывает удобнее — там видна интерактивная консоль с командами start/restart без лишних прыжков через systemctl restart. Restart=on-failure подхватит сервер при падении из-за глюка в стороннем ресурсе, но если проблема системная (например, битый mtaserver.conf), systemd будет честно пытаться перезапускать падающий процесс по кругу — тут быстрее сразу смотреть логи, чем ждать автовосстановления.
Общий подход к автозапуску, кстати, почти идентичен другим дедикам — то же самое разбирается в гайде по Rust-серверу, если нужен ещё один пример systemd-юнита для сравнения.
Поднять сервер MTA:SA за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Почему сервер не устанавливается через Steam?
Потому что MTA:SA — независимый проект, не связанный со Steam-версией GTA: San Andreas. Серверные и клиентские файлы качаются исключительно с multitheftauto.com, никакого app id в Steam для него нет.
Нужна ли лицензионная копия GTA: San Andreas для запуска сервера?
Нет, для самого дедик-процесса лицензия не требуется — сервер оперирует только сетевой логикой и ресурсами. А вот игрокам для подключения клиентом нужна установленная база игры (лицензионная или нет — MTA это не проверяет на стороне сервера).
Как обновить сервер до новой версии MTA:SA?
Останавливаешь сервис (sudo systemctl stop mta-server), скачиваешь свежий архив с официального сайта, распаковываешь поверх (или в новую директорию, если хочешь подстраховаться), запускаешь снова. Ресурсы в mods/deathmatch/resources/ при этом не трогаются.
Можно ли сменить гейммод без переустановки сервера?
Да — просто добавляешь нужный ресурс в mods/deathmatch/resources/, прописываешь его в <resources> секции mtaserver.conf со startup="1" и рестартуешь сервер (или стартуешь ресурс из консоли командой start).
Сколько игроков реально тянет 1 ГБ RAM?
Зависит от ресурсов на сервере — на голом freeroam/race без тяжёлой RP-логики 1 ГБ спокойно держит десятки слотов, но с крупным RP-гейммодом и активной MySQL-базой упрёшься в память быстрее, чем ожидаешь, особенно на пике онлайна.