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


