Кнопка SteamCMD называет то, что произойдёт

«Установить / обновить через SteamCMD» одинаково выглядела и на чистой
машине, и на готовой. Теперь пока серверных файлов нет — это «Установить
сервер через SteamCMD», после установки — «Обновить сервер через
SteamCMD»; подсказка и вопрос перед запуском меняются вместе с ней.

На чистой машине подсказка вместо требования остановить сервер (его ещё
нет) говорит то, что важно знать заранее: сколько это займёт времени и
места на диске.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 02:02:08 +03:00
co-authored by Claude Opus 5
parent 27a2fd6386
commit 738ae96803
2 changed files with 16 additions and 4 deletions
+14 -2
View File
@@ -261,9 +261,17 @@ function renderStatus(status) {
? `${formatBytes(host.disk_free_bytes)} из ${formatBytes(host.disk_total_bytes)}` ? `${formatBytes(host.disk_free_bytes)} из ${formatBytes(host.disk_total_bytes)}`
: "—"; : "—";
// Кнопка называет то, что произойдёт: на чистой машине это установка, на
// готовой — обновление.
$("#install-state").textContent = status.installed $("#install-state").textContent = status.installed
? "Серверные файлы установлены." ? "Серверные файлы установлены."
: "Серверные файлы не найдены — установите их перед первым запуском."; : "Серверные файлы не найдены — сервер ещё не установлен.";
$("#btn-install").textContent = status.installed
? "Обновить сервер через SteamCMD"
: "Установить сервер через SteamCMD";
$("#install-hint").textContent = status.installed
? "Сервер должен быть остановлен. Обновление занимает несколько минут — прогресс виден во вкладке «Консоль»."
: "Займёт несколько минут и около 3 ГБ на диске — прогресс виден во вкладке «Консоль».";
const running = status.state !== "stopped"; const running = status.state !== "stopped";
$("#btn-start").disabled = running || !status.installed; $("#btn-start").disabled = running || !status.installed;
@@ -329,7 +337,11 @@ $("#btn-restart").addEventListener("click", () =>
serverAction("/api/server/restart", "Перезапустить сервер? Игроки будут отключены.")); serverAction("/api/server/restart", "Перезапустить сервер? Игроки будут отключены."));
$("#btn-install").addEventListener("click", async () => { $("#btn-install").addEventListener("click", async () => {
if (!confirm("Запустить установку/обновление серверных файлов через SteamCMD?")) return; // Тот же вопрос, что и на кнопке: «установить» и «обновить» — разные вещи
// по ощущениям, хотя команда SteamCMD одна.
const installed = $("#install-state").textContent.startsWith("Серверные файлы установлены");
const action = installed ? "Обновить серверные файлы" : "Установить сервер";
if (!confirm(`${action} через SteamCMD?`)) return;
try { try {
await post("/api/install"); await post("/api/install");
ok("Задача запущена — следите за вкладкой «Консоль»"); ok("Задача запущена — следите за вкладкой «Консоль»");
+2 -2
View File
@@ -114,8 +114,8 @@
<div class="card" id="install-card"> <div class="card" id="install-card">
<h3>Серверные файлы</h3> <h3>Серверные файлы</h3>
<p id="install-state" class="muted"></p> <p id="install-state" class="muted"></p>
<button class="btn btn-primary" id="btn-install">Установить / обновить через SteamCMD</button> <button class="btn btn-primary" id="btn-install">Установить сервер через SteamCMD</button>
<p class="muted small">Сервер должен быть остановлен. Обновление занимает несколько минут — прогресс виден во вкладке «Консоль».</p> <p class="muted small" id="install-hint">Займёт несколько минут и около 3 ГБ на диске — прогресс виден во вкладке «Консоль».</p>
</div> </div>
</section> </section>