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.
- package/package.json +2 -1
- package/src/client/components/controller/Games.js +99 -0
- package/src/client/components/model/Games.js +215 -0
- package/src/client/components/model/LobbyAuth.js +8 -0
- package/src/client/components/view/Games.js +365 -0
- package/src/client/lib/catalogState.js +44 -0
- package/src/client/lib/gameActivator.js +13 -5
- package/src/client/main.js +183 -21
- package/src/client/style.css +101 -0
- package/src/client/views/gameShell.js +31 -0
- package/src/client/views/includes/games.pug +36 -0
- package/src/client/views/includes/lobby.pug +7 -1
- package/src/client/views/index.pug +1 -0
- package/src/config/env.js +4 -4
- package/src/config/lobby.js +88 -3
- package/src/config/master.js +33 -13
package/src/config/master.js
CHANGED
|
@@ -18,22 +18,42 @@ export default {
|
|
|
18
18
|
cert: path.join(rootDir, '.certs', 'cert.pem'),
|
|
19
19
|
},
|
|
20
20
|
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
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: [
|
|
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: {
|