Менеджер игровых серверов для Linux (LGSM и Web-LGSM)¶
В этой статье
Информация
LGSM (Linux Game Server Managers) — это мощный инструмент с открытым исходным кодом, разработанный для оптимизации процесса управления игровыми серверами на Linux-системах. Он существенно упрощает установку, настройку, администрирование и обновление серверов для более чем 120 популярных игр и игровых движков, включая "Counter-Strike", "Minecraft", "Rust" и "Team Fortress 2". Web LGSM — это интуитивно понятный веб-интерфейс, который делает взаимодействие с LGSM еще более удобным. Через эту веб-панель пользователи получают доступ ко всем ключевым функциям: управление игроками, настройка параметров игры, мониторинг состояния серверов в реальном времени, эффективное управление системными ресурсами. Благодаря Web LGSM, даже пользователи без глубоких технических знаний могут легко и эффективно управлять игровыми серверами, что делает этот инструмент незаменимым для администраторов игровых сообществ и энтузиастов.
LGSM. Основные возможности¶
- Установка серверов: LGSM автоматизирует процесс установки игрового сервера, упрощая настройку необходимых файлов и зависимостей. Это помогает избежать проблем, связанных с ручной настройкой.
- Управление серверами: предоставляет удобные команды для запуска, остановки, перезагрузки, обновления и мониторинга игровых серверов.
- Обновление: LGSM автоматически проверяет обновления для игр и позволяет легко обновлять серверы до последних версий.
- Безопасность: включает функции автоматического резервного копирования и защиты от нежелательных изменений.
- Мониторинг и оповещения: LGSM предоставляет функции мониторинга серверов и может уведомлять администраторов о сбоях или проблемах через электронную почту или мессенджеры.
- Конфигурация и кастомизация: позволяет настраивать конфигурационные файлы серверов и параметры запуска, предоставляя гибкость в управлении игровыми серверами.
Особенности сборки¶
- Поддерживаемая операционная система: Ubuntu 22.04.
- Установленные компоненты в виртуальном окружении:
- Python (версия 3.10.12, установлена в системе);
- Flask 3.0.3 (веб-фреймворк);
- Flask-Login 0.6.3 (управление пользовательскими сессиями);
- Flask-SQLAlchemy 3.1.1 (интеграция SQLAlchemy с Flask);
- SQLAlchemy 2.0.30 (ORM);
- Werkzeug 3.0.3 (WSGI веб-приложение для Python);
- Gunicorn 22.0.0 (WSGI HTTP-сервер);
- Gevent 24.2.1 (конкурентная библиотека на основе greenlet).
- Дополнительные библиотеки:
- psutil 5.9.8 (информация о системе и процессах);
- pytest 8.2.1 (фреймворк для тестирования);
- python-dotenv 1.0.1 (работа с переменными окружения);
- requests 2.25.1 (HTTP-клиент).
- Другие важные пакеты:
- Jinja2 3.1.4 (шаблонизатор);
- greenlet 3.0.3 (легковесные кооперативные потоки);
- zope.interface 6.4.post2 и zope.event 5.0 (инфраструктура для разработки).
- Рабочий каталог проекта:
/home/mcbserver/lgsm
. - Каталог веб-интерфейса:
/home/mcbserver/web-lgsm
. - Виртуальное окружение:
/home/mcbserver/web-lgsm/venv
.
После установки необходимо пройти по ссылке: https://web-lgsm<Server_ID_from_Invapi>.hostkey.in/setup
- при первоначальной настроке, затем можно использовать ссылкуhttps://web-lgsm<Server_ID_from_Invapi>.hostkey.in/login
.
Начало работы после развертывания LGSM¶
После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и API — Invapi. Данные для авторизации, которые можно найти или во вкладке Info >> Tags панели управления сервером или в присланном e-mail:
- Ссылка для доступа к панели управления Web LGSM с веб-интерфейсом: в теге webpanel;
- Логин и Пароль:
- Для входа на сервер (SSH): логин и пароль приходят в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО.
- Для входа в панель управления Web-LGSM: учетная запись (логин и пароль) создается при первом подключении к панели во время первоначальной настройки.
Как настроить и использовать Web-LGSM¶
-
Перейти по ссылке из тега webpanel и на странице "Setup" создать пользователя. После создания пользователя произойдет автоматический вход и перенаправление на домашнюю страницу:
-
Для установки нового игрового сервера необходимо выбрать опцию Install a New Game Server:
-
Затем выбрать игровой сервер из списка доступных и начать процесс установки, нажав кнопку
Instal. Например, “Install pwserver”:После чего ввести пароль администратора (приходит в письме на вашу электронную почту при сдаче сервера):
Наблюдать за прогрессом установки можно через консольный вывод:
После успешной установки сервер появится в разделе “Home”:
-
Перейти на страницу "Settings" и выполнить базовые настройки. После выполнения настроек необходимо нажать на кнопку
Apply: -
После выполнения предварительных настроек необходимо запустить сервер - кликнуть по его названию и нажать на кнопку
Start server:
Активация редактора конфигурации Web-LGSM¶
Редактор конфигурации по умолчанию отключен. Для его активации необходимо вручную отредактировать файл main.conf
, расположенный по пути /home/mcbserver/web-lgsm/main.conf
. В этом файле следует изменить значение параметра cfg_editor
с no
на yes
:
Для применения изменений потребуется перезагрузка сервера. В директории /home/mcbserver/web-lgsm
необходимо выполнить команду ./web-lgsm.py -r
.
Рекомендуется выполнять изменения от пользователя mcbserver. Если вы работаете от имени root
, убедитесь, что права доступа на файлы и директории не изменились некорректно (проверьте с помощью команды ls -la
).
После выполнения этих действий появится возможность просматривать конфигурацию игрового сервера в веб-интерфейсе, достаточно кликнуть мышкой по названию сервера:
Конфигурация игрового сервера содержит информацию о параметрах подключения игроков и управления игровыми настройками.
Добавление существующего сервера¶
Сервер Менеджер игровых серверов для Linux (LGSM и Web-LGSM) предоставляется с уже настроенным Minecraft: Bedrock Edition. Для начала работы с этим сервером необходимо выполнить следующие действия:
-
Выбрать опцию "Add an Existing LGSM Installation":
-
В открывшемся меню заполнить следующие поля:
- Installation Title: ввести уникальное имя для установки;
- Installation Directory Path: ввести полный путь к директории сервера игры (/home/mcbserver);
- LGSM Script Name: ввести имя скрипта игрового сервера (mcbserver);
- Game Server Username: ввести имя пользователя для игрового сервера (mcbserver). Если оставить пустым, будет использоваться пользователь, под которым запущен процесс web-lgsm.
-
Опционально. Добавить правило
sudoers
для корректной работы игровых серверов, принадлежащих другим пользователям:- Открыть файл sudoers командой:
sudo visudo
. - Добавить строку:
root ALL=(mcbserver) NOPASSWD: /home/mcbserver/mcbserver, /usr/bin/watch, /usr/bin/tmux, /usr/bin/kill
- Открыть файл sudoers командой:
Примечание
Поскольку каждый игровой сервер требует уникальной настройки, для примера был выбран "Minecraft: Bedrock Edition" с пользователем mcbserver
. Для добавления других серверов используйте правильные пути и соответствующие имена пользователей.
Примечание
Подробная информация по основным настройкам содержится в документации разработчиков LGSM и Web LGSM.
Заказ LGSM с помощью API¶
Для установки данного ПО с использованием API следуйте этой инструкции.