Консоль не принимает команды у остановленного сервера
CI / test (push) Successful in 20s
Release / release (push) Successful in 25s

Поле ввода и кнопка «Отправить» были активны всегда, хотя команда уходит
в stdin процесса: у остановленного сервера его просто нет, и панель
отвечала ошибкой уже после отправки. Теперь консоль блокируется, а
подсказка объясняет, почему.

Заодно из вывода убираются управляющие последовательности терминала.
SteamCMD раскрашивает свои сообщения, и в браузере это выглядело как
«[0mWaiting for user info...[0mOK». Чистка стоит на общем пути записи в
буфер: через него идёт и вывод сервера, и SteamCMD, и сообщения панели.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 01:56:55 +03:00
co-authored by Claude Opus 5
parent 08908bede8
commit 27a2fd6386
4 changed files with 72 additions and 3 deletions
+10
View File
@@ -271,6 +271,16 @@ function renderStatus(status) {
$("#btn-restart").disabled = !status.installed;
$("#btn-install").disabled = running;
// Консоль есть только у живого процесса: у остановленного сервера нет stdin,
// и команда всё равно вернулась бы ошибкой.
const consoleInput = $("#console-command");
const consoleButton = $("#console-form").querySelector("button[type=submit]");
consoleInput.disabled = !running;
consoleButton.disabled = !running;
consoleInput.placeholder = running
? "Команда сервера, например: players, save, quit"
: "Сервер остановлен — консоль принимает команды только на работающем";
// Профили делят игровые порты и файл запуска, поэтому переключать их можно
// только на остановленном сервере.
const picker = $("#profile-select");