Установка в /opt и доступ к панели по сети

Установщик по умолчанию раскладывает всё в /opt/pzmanager вместо домашнего
каталога пользователя: серверные файлы, миры, бэкапы и конфиг лежат рядом
одной понятной структурой, а системному пользователю больше не нужен
домашний каталог и shell.

Адрес панели задаётся при установке (PZ_LISTEN), каталог и пользователь —
через PZ_HOME и PZ_USER. Конфиг создаётся только при первой установке,
поэтому повторный запуск установщика обновляет бинарник, не трогая
настройки, миры и учётки.

Адрес теперь занимается до автозапуска игрового сервера: если IP ещё не
поднят или порт занят, менеджер падает сразу с внятной ошибкой, а не
оставляет работающий сервер PZ без панели управления.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 19:18:13 +03:00
co-authored by Claude Opus 5
parent fe517cfb71
commit 29782dcce9
4 changed files with 147 additions and 46 deletions
+5 -5
View File
@@ -7,8 +7,8 @@ Wants=network-online.target
Type=simple
User=pzserver
Group=pzserver
WorkingDirectory=/home/pzserver
ExecStart=/usr/local/bin/pzmanager serve --config /home/pzserver/.config/pzmanager/config.yaml
WorkingDirectory=/opt/pzmanager
ExecStart=/usr/local/bin/pzmanager serve --config /opt/pzmanager/config.yaml
Restart=on-failure
RestartSec=5
@@ -18,12 +18,12 @@ KillSignal=SIGTERM
KillMode=mixed
TimeoutStopSec=300
# Панель пишет только в свои директории.
# Всё своё панель держит в /opt/pzmanager, домашние каталоги ей не нужны.
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=full
ProtectHome=read-only
ReadWritePaths=/home/pzserver
ProtectHome=true
ReadWritePaths=/opt/pzmanager
StandardOutput=journal
StandardError=journal