Приветствую.
В одной из статей хочу рассказать, как настроить выделенный сервер для запуска сервера SA:MP на Linux.
Опишу плюсы и минусы сего мероприятия.
Плюсы:
- Возможность запускать несколько серверов на одной VPS/VDS. (зависит от характеристик самого VPS/VDS)
- Возможность указывать любое количество слотов. (макс. 1000)
- Возможность указывать любой порт. (7777, 8888, 9999)
Минусы:
- Защиту от атак нужно реализовывать самому, либо с помощью хостера.
- Для обслуживания сервера нужен базовый опыт.
Итак, если вышенаписанное не отпугнуло и, может быть обрадовало, то можно перейти к следующему этапу — характеристики для потенциальной VPS/VDS. Большое количество хостеров предлагают различные гибкие тарифы и их можно повышать со временем.
Рекомендуемые мной минимальные требования к системе:
- Оперативная память: от 512МБ. При использовании MySQL/PostgreSQL — от 1 ГБ.
- Количество ядер: от 1-го.
- Диск: от 10 ГБ.
Выбор дистрибутива Linux стоит за вами, но в статье будет использоваться Debian.
Виртуальный сервер заказан, доступ получен — делаем подключение через SSH. Для этого можно использовать различные клиенты, но один из самых популярных — PuTTY.
После подключения, сразу же добавим репозитории для 32-битных систем:
dpkg --add-architecture i386Затем, обновим репозитории:
apt update && apt upgradeИ установим необходимые пакеты для работы сервера и плагинов:
apt install build-essential gcc-multilib libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386Создадим пользователя, под которым будет запускаться сервер:
useradd -m samp_user
passwd samp_userИ сразу переключаемся на этого пользователя:
su - samp_user
bashСкачиваем сборку сервера 0.3.7 для Linux: (остальные версии можно найти на https://archive.tengoku.ru/samp/)
wget https://archive.tengoku.ru/samp/samp037svr_R3.tar.gzРаспаковываем скачанный архив:
tar -xf samp037svr_R3.tar.gz
cd samp03После всех манипуляций получаем такой список директорий и файлов:

Особого отличия от сервера на Windows нет.
Загрузить свою модификацию можно через FTP клиент используя данные пользователя, созданного ранее.
После изменения конфига сервера, загрузки модификации и плагинов, можно приступить к запуску.
./samp03svr &Этой командой мы запустим процесс сервера, который будет работать в фоне.
Чтобы оставить работу сервера:
killall samp03svrРекомендую создать службу, которой будет управлять systemd. С его помощью можно настроить автоматический запуск и перезагрузку при старте системы и неожиданной остановки процесса, соответственно. При необходимости, можно самому запустить, остановить и перезапустить службу.
Перейдём к созданию и настройке новой службы.
Для начала, нужно переключиться под пользователя с root доступом:
su -Далее, создадим файл для будущей службы:
nano /etc/systemd/system/samp_server.serviceНиже я составил примерные настройки для запуска службы:
[Unit]
Description=SA:MP Server
After=network.target
[Service]
User=samp_user
WorkingDirectory=/home/samp_user/samp03
ExecStart=/home/samp_user/samp03/samp03svr
Restart=always
[Install]
WantedBy=multi-user.targetЕсли сервер использует плагин MySQL, то в раздел [Unit] нужно добавить:
After=mysql.serviceВ данном конфиге служба будет запускать сервер SA:MP после наличия доступа в интернет, запуска службы MySQL (опционально), используя пользователя samp_user и автоматический рестарт службы будет происходить при любой возникшей ошибке.
Используя комбинацию клавиш Ctrl + O сохраняем настройки в файл службы.
Теперь нужно перезагрузить список служб и активировать нашу созданную.
systemctl daemon-reload
systemctl enable samp_server.serviceБазовые команды для управления службой:
systemctl start samp_server.service
systemctl stop samp_server.service
systemctl restart samp_server.serviceПосле запуска службы, можно посмотреть небольшую информацию о ней:
systemctl status samp_server.serviceВывод информации может быть примерно такой:

Установка MySQL на VPS/VDS будет описана в другой статье.
На этом статья окончена, благодарю за прочтение.