Менеджер запускает сервер PZ как дочерний процесс и держит его stdin/stdout: отсюда живая консоль без RCON, стриминг логов через SSE и корректная остановка по цепочке quit -> SIGTERM -> SIGKILL для всей группы процессов. Сам менеджер работает под systemd. Что входит: - управление жизненным циклом сервера, автозапуск и автоподъём после падения; - метрики процесса из /proc и состояние хоста, список игроков онлайн; - редакторы servertest.ini и SandboxVars.lua, сохраняющие исходное форматирование файлов; - моды: списки Workshop ID и Mod ID с порядком загрузки, названия из Steam; - бэкапы мира по расписанию и вручную, с ротацией и восстановлением; - установка и обновление сервера через SteamCMD; - вход по логину и паролю, первичная настройка по одноразовому коду. Веб-интерфейс без сборщика, вшит в бинарник через embed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
15 lines
537 B
Go
15 lines
537 B
Go
//go:build !linux
|
|
|
|
package sysinfo
|
|
|
|
import "runtime"
|
|
|
|
// Sample на не-Linux платформах не читает /proc: менеджер рассчитан на
|
|
// Ubuntu, а сборка под другие ОС нужна только для разработки.
|
|
func (s *Sampler) Sample(pgid int) ProcStats { return ProcStats{} }
|
|
|
|
// Host отдаёт лишь число ядер — остальное платформозависимо.
|
|
func Host(diskPath string) HostStats {
|
|
return HostStats{CPUCount: runtime.NumCPU()}
|
|
}
|