Перейти к основному контенту

Установка и настройка MCSManager для minecraft сервера в lxc контейнере+создание srv записи на reg.ru

Создание LXC контейнера

Инструкция по созданию lxc контейнера

OC: debian 12
CPU: 2-4 cores
RAM: 4096MB+
Root Disk: 20GB

Установка Java 21

apt update && apt install wget curl -y
cd /opt
wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6+7/OpenJDK21U-jre_x64_linux_hotspot_21.0.6_7.tar.gz
tar -xzf OpenJDK21U-jre_x64_linux_hotspot_21.0.6_7.tar.gz
mv jdk-21.0.6+7-jre java-21

# Глобальная настройка
echo 'export JAVA_HOME=/opt/java-21' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
update-alternatives --install /usr/bin/java java /opt/java-21/bin/java 1
java --version  # OpenJDK 21.0.6
 

Установка MCSManager WebUI

apt install curl -y
cd /opt
curl -s https://api.github.com/repos/MCSManager/MCSManager/releases/latest | grep browser_download_url | grep linux_release | cut -d '"' -f 4 | wget -i -
tar -xzf mcsmanager_linux_release.tar.gz
cd mcsmanager

# Node.js для Web
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install nodejs -y

# Запуск
nohup ./start-web.sh > web.log 2>&1 &
nohup ./start-daemon.sh > daemon.log 2>&1 &

Создание systemctl для web-интерфейса

cat > /etc/systemd/system/mcsm-web.service << 'EOF'
[Unit]
Description=MCSManager Web
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/mcsmanager/web
ExecStart=/usr/bin/node app.js
Restart=always
User=root
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target
EOF

Создание systemctl для daemon

cat > /etc/systemd/system/mcsm-daemon.service << 'EOF'
[Unit]
Description=MCSManager Daemon
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/mcsmanager/daemon
ExecStart=/usr/bin/node app.js
Restart=always
User=root
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target
EOF

Запуск и активация

systemctl daemon-reload
systemctl enable mcsm-web.service mcsm-daemon.service
systemctl start mcsm-web.service mcsm-daemon.service

Доступ: http://<ip lxc контейнера>:23333

image.png

После перехода в web-интерфейс необходимо выбрать язык и нажать кнопку Далее и пройти процедуру создания УЗ

Открытие порта для доступа к серверу в opnsense

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

В OPNsense: Firewall → NAT → Port Forward → Add

Interface: WAN
Protocol: TCP/UDP
Destination: WAN address
Destination port range: 24848 (From/To)
Redirect target IP: <IP lxc контейнера>
Redirect target port: 25565
Description: Minecraft 24848
Save → Apply Changes

Rules в Firewall создастся автоматически

Cоздание srv записи на reg.ru

Для комфортного подключения к игровому серверу, мы можем использовать домен, для этого необходимо создать srv запись у dns регистратора, в моем случае это reg.ru

Для этого необходимо на сайте reg,ru перейти в настойки далее домены, выбрать ваш домен и перейти в DNS-серверы и управление зоной, далее добавить новую ресурсную запись, тип А

В subdomain указать то что будет указано перед вашим основным доменом <subdomain>.<ваш домен> будет использоваться для подключения к серверу.

После заполнения формы необходимо нажать кнопку Готово


image.png

Далее нам необходимо создать новую ресурсную запись на этот раз необходимо выбрать тип SRV

В форме необходимо заполнить следующие поля

Service: <_название сервиса>.<_tcp>.<созданный раннее subdomain>

Priority: 0

Weight: 0

Port: <Порт открытый в opnsense>

Target: <Созданный раннее subdomain записанный целиком>.

После заполнения формы необходимо нажать кнопку Готово

image.png

Через 15-30 минут DNS записи обновятся и появится возможность подключится к серверу через домен