vimp-engine 0.24.2 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,22 +18,42 @@ export default {
18
18
  cert: path.join(rootDir, '.certs', 'cert.pem'),
19
19
  },
20
20
 
21
- // список игр-плагинов, подключаемых к мастеру (Этап A2 плана разделения):
22
- // `package` имя npm-пакета игры, резолвится через node_modules; пакет
23
- // объявлен зависимостью в корневом package.json репозитория (деплой-уровень),
24
- // не в packages/engine vimp-engine остаётся game-agnostic и не тянет
25
- // конкретную игру за собой (кодревью Этапов A, находка F1). Версию задаёт
26
- // именно эта зависимость, каталог берёт её из dist/manifest.json пакета.
27
- // Список переопределяется переменной окружения GAMES_MATRIX (JSON) — её
28
- // задаёт деплой; вне прода каталог вдобавок дополняется собранными
29
- // пакетами @vimp-games/* из node_modules (master/localGames.js), чтобы
30
- // прилинкованная игра попадала в лобби без правки этого массива: он
31
- // публикуется вместе с пакетом vimp-engine
21
+ // Статический каталог игр-плагинов. ПУСТ по умолчанию
22
+ // (master-game-registry, этап 3): штатный источник каталога реестр игр
23
+ // auth-сервиса, откуда мастер скачивает одобренные пакеты сам
24
+ // (master/GameSync.js). Движок игр не знает и зависимостями их не тянет.
25
+ //
26
+ // Массив остаётся двум потребителям, и env-переопределения у него нет:
27
+ // локальной разработке (каталог наполняют собранные пакеты @vimp-games/*
28
+ // из node_modules, master/localGames.js прилинкованная игра важнее
29
+ // реестра) и dedicated-серверу, который берёт отсюда игру, названную
30
+ // VIMP_DEDICATED_GAME. `package` имя npm-пакета игры, резолвится через
31
+ // node_modules; версию задаёт сама установленная зависимость.
32
32
  // maxGameScore (snakes-v3 этап 3.3, необязательное поле рядом с
33
33
  // id/package) — потолок результата ОДНОЙ игры для этой игры; мастер
34
- // клампит им `best`/`points` PUT /auth/rank. Не задан дефолт
34
+ // клампит им `best`/`points` PUT /auth/rank. Для игр реестра его задаёт
35
+ // админ при модерации, здесь — только запасной путь. Не задан — дефолт
35
36
  // master:playerData:maxGameScore
36
- games: [{ id: 'tanks', package: '@vimp-games/tanks' }],
37
+ games: [],
38
+
39
+ // Хранилище игровых пакетов (направление master-game-registry): мастер
40
+ // качает одобренные игры из npm registry и раздаёт их с диска, вместо того
41
+ // чтобы получать их npm-зависимостью на этапе сборки образа.
42
+ gameStore: {
43
+ // корень хранилища; null → <repoRoot>/.games (локальная разработка).
44
+ // В проде задаётся VIMP_GAMES_DIR и монтируется томом
45
+ dir: null,
46
+ registryUrl: 'https://registry.npmjs.org',
47
+ // период опроса реестра auth за изменениями каталога
48
+ refreshInterval: 60000,
49
+ // потолки распаковки недоверенного архива
50
+ maxTarballBytes: 64 * 1024 * 1024,
51
+ maxFiles: 5000,
52
+ // сколько версий одной игры держать на диске: активная + стейджевая
53
+ keepVersions: 2,
54
+ // потолок ожидания ответа реестра
55
+ timeout: 30000,
56
+ },
37
57
 
38
58
  // список серверов (GET /servers)
39
59
  servers: {