Установка и настройка 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 

 

 После перехода в 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>.<ваш домен> будет использоваться для подключения к серверу. 

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

 

 

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

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

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

 Priority : 0 

 Weight : 0 

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

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

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

 

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