linux Запуск сервера на linux через screen

В этом туториале покажу как легко и просто работать с сервером ragemp на удаленном linux сервере. Обычно в таком случае работаем через ssh и встает вопрос как запустить сервер чтобы он не был привязан к ssh сессии. Основная проблема здесь чтобы при закрытии ssh сессии сервер продолжал работать и в идеале в новой сессии мы могли получить доступ к его консоли. Есть разные варианты как это можно решить, я покажу как сделать это в помощью утилиты screen.

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

Утилита screen позволяет запустить несколько виртуальных сессий, которые продолжают работать даже после завершения ssh сессии. Аналогия с виртуальными рабочими столами. Обычно screen уже идет установленным по умолчанию в debian или ubuntu. Возможно и в другим дистрибутивах linux, но если у вас ее нет, то ее легко установить используя стандартный пакетный менеджер.

Итак, для запуска сервера ragemp в виртуальной сессии screen нам нужно несколько команд:

1. Запустить сервер (выполнять в папке сервера, либо поменять путь к ragemp-server)
Bash:
screen -S ragemp -dm ./ragemp-server
После выполнения этой команды создается новая screen сессия и в ней запускается наш сервер

2. Перейти в screen сессию сервера (открывается консоль сервера)
Bash:
screen -r ragemp

3. "Свернуть" текущую открытую screen сессию (detach). Сервер продолжает работать в фоне.
CTRL + A + D

4. Закрыть screen сессию и остановить сервер
Bash:
screen -S ragemp -X quit

Примечание: обращение к screen сессиям идет по имени - ragemp. Его мы задаем в первой команде и если нужно запустить несколько серверов, то эти названия для каждого отдельного сервера должны быть уникальны.

Этот способ работы с сервером очень простой. Есть также альтернативные способы запуска, например, через systemd сервис. С одной стороны он дает больше возможностей: автозапуск и перезапуск сервера. Но требует модификации системных конфигов и может сильно отличаться от дистрибутива к дистрибутиву. Поэтому запуск через screen является более простой и универсальной альтернативой.


Полезные ссылки:
screen manual
 
Последнее редактирование:
Верх