Настройки сервера и песочницы разложены по разделам
CI / test (push) Successful in 21s
Release / release (push) Successful in 26s

Полторы сотни параметров сплошным списком читать невозможно. Теперь они
разбиты на разделы — «Основное», «PVP и урон», «Убежища», «Античит» и так
далее, — свёрнутые по умолчанию, кроме первого. Поиск раскрывает разделы с
совпадениями и прячет остальные, а раскрытые разделы не схлопываются при
возврате на вкладку.

Категории составлены по настоящим конфигам Build 41 и 42: все 144 ключа
.ini и 270 параметров песочницы раскладываются без остатка. Нумерованные
и однотипные ключи (AntiCheatProtectionType1..24, *Loot, Animal*, Firearm*)
подхватываются по префиксу, а незнакомые попадают в «Прочее» — в новых
версиях игры ключи добавляют, и терять их со страницы нельзя.

Описания параметров панель больше не выдумывает, а берёт из самого
конфига: игра пишет их комментариями на языке сервера. Полный текст — во
всплывающей подсказке, начало — под полем; поиск ищет и по описанию, так
что параметр можно найти по-русски.

Заодно исправлено сохранение файлов с виндовыми переводами строк: панель
переписывала их в LF, и правка одного параметра меняла каждую строку
файла. Проверено на реальном SandboxVars.lua: правка одного значения
меняет ровно одну строку, размер файла не меняется.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 03:07:59 +03:00
co-authored by Claude Opus 5
parent 4a346c4ed9
commit 5d50b609f6
8 changed files with 503 additions and 20 deletions
+3
View File
@@ -32,6 +32,9 @@ func (s *Server) handleGetServerConfig(w http.ResponseWriter, r *http.Request) {
"path": path,
"keys": ini.Keys(),
"values": ini.Map(),
// Игра сама пишет в конфиг описания параметров на языке сервера —
// показываем их, вместо того чтобы придумывать свои.
"descriptions": ini.Comments(),
})
}