Files
my-world/tools/deploy_server.sh
T
aibrashandClaude Sonnet 5.5 fc0139dc05 Структура проекта: папки по назначению, карты самодостаточны, инструменты, README
- Перенос: Net→net, Player→player, World/*→maps/{hub,sandbox,backrooms}, core, objects,
  models/*→chasers/{rock,verity} и maps/*/models. Имена внутри папок с .glb не менялись
  (рядом лежат извлечённые текстуры). Все пути, пресеты экспорта и автолоады обновлены.
- Преследователи: rock-follow.gd → chasers/chaser.gd; камень в песочнице теперь инстанс
  chasers/rock/rock.tscn (как Верити).
- Удалён мусор: неиспользуемое небо sunflowers, Tree_01.glb, rock-path.gd, старая
  модель Верити, unwrap_cache (теперь в .gitignore).
- Основной пакет игры 70 КБ (камень и Верити уехали в пакеты карт).
- tools/: export_all.sh, serve_web.py (nginx-подобный dev-сервер), deploy_server.sh,
  test/ (боты, временный проект и сервер). Net: флаг --client для headless-клиента.
- deploy/: боевые nginx.conf и my-world.service, project.godot выделенного сервера.
- README переписан: что есть и чего нет, структура, карты, преследователи, сеть, пакеты,
  деплой, грабли, дорожная карта (телефон).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 17:47:47 +05:00

17 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Выкладка выделенного сервера: файлы сети + project.godot, пересборка кэша классов, перезапуск службы.
# tools/deploy_server.sh root@192.168.10.110
# ВАЖНО: клиент и сервер обновляются вместе (RPC несовместимы между версиями) — сначала пуш grid-world,
# потом этот скрипт. Бэкап прошлой версии кладётся в /opt/backup-my-world-server-<дата>/.
set -euo pipefail
HOST="${1:?укажи user@host}"
cd "$(dirname "$0")/.."
STAMP="$(date +%Y%m%d-%H%M%S)"
ssh "$HOST" "mkdir -p /opt/backup-my-world-server-$STAMP && cp -a /opt/my-world-server/project.godot /opt/my-world-server/Net /opt/my-world-server/net /opt/backup-my-world-server-$STAMP/ 2>/dev/null || true"
ssh "$HOST" "mkdir -p /opt/my-world-server/net"
scp -q net/net.gd net/net.gd.uid net/ghost.gd net/ghost.gd.uid net/server.tscn "$HOST:/opt/my-world-server/net/"
scp -q deploy/server/project.godot "$HOST:/opt/my-world-server/project.godot"
# Старая раскладка серверной папки (Net/ с большой буквы) больше не нужна
ssh "$HOST" "rm -rf /opt/my-world-server/Net && cd /opt/my-world-server && ./godot --headless --import --path . >/dev/null 2>&1; systemctl restart my-world && sleep 2 && systemctl is-active my-world && journalctl -u my-world -n 3 --no-pager | cut -c1-120"