@energy8platform/platform-core 0.30.7 → 0.30.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"vite.cjs.js","sources":["../src/vite/spinPlugin.ts","../src/vite/index.ts"],"sourcesContent":[null,null],"names":["accessSync","fsConstants","fileURLToPath","join","createRequire","mkdtempSync","tmpdir","writeFileSync","spawn"],"mappings":"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"}
1
+ {"version":3,"file":"vite.cjs.js","sources":["../src/vite/spinPlugin.ts","../src/vite/index.ts"],"sourcesContent":[null,null],"names":["createNetServer","accessSync","fsConstants","fileURLToPath","join","createRequire","mkdtempSync","tmpdir","writeFileSync","spawn"],"mappings":"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"}
package/dist/vite.d.ts CHANGED
@@ -8,7 +8,10 @@ interface SpinPluginOptions {
8
8
  gamesDir?: string;
9
9
  /** id игры из декларации game "..." (default: первая загруженная) */
10
10
  gameId?: string;
11
- /** порт gRPC (default 50151) */
11
+ /**
12
+ * Стартовый порт gRPC (default: E8_SERVER_PORT → 50151). Если занят —
13
+ * берётся следующий свободный, кроме случая `external`, где порт точный.
14
+ */
12
15
  port?: number;
13
16
  /** server_seed дев-сессий (детерминированный replay) */
14
17
  serverSeed?: string;
package/dist/vite.esm.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { mkdtempSync, writeFileSync, accessSync, constants } from 'node:fs';
3
3
  import { createRequire } from 'node:module';
4
+ import { createServer } from 'node:net';
4
5
  import { fileURLToPath } from 'node:url';
5
6
  import { tmpdir } from 'node:os';
6
7
  import { join } from 'node:path';
@@ -18,6 +19,36 @@ import { join } from 'node:path';
18
19
  * Источник истины протокола: casino-platform/e8/crates/e8-server/proto/
19
20
  * engine.proto (репо движка); ниже — синхронизированная копия.
20
21
  */
22
+ /** стартовый порт gRPC, если не задан явно и нет E8_SERVER_PORT */
23
+ const DEFAULT_SPIN_PORT = 50151;
24
+ /** сколько портов подряд пробуем от стартового, прежде чем сдаться */
25
+ const PORT_SCAN_RANGE = 20;
26
+ /** сколько раз перезапускаем поиск, если сервер не поднялся на выбранном порту */
27
+ const START_ATTEMPTS = 3;
28
+ /**
29
+ * Свободен ли порт. Биндимся на 0.0.0.0 — e8-server слушает все интерфейсы,
30
+ * так что занятость на любом из них ему помешает.
31
+ */
32
+ function isPortFree(port) {
33
+ return new Promise((resolve) => {
34
+ const probe = createServer();
35
+ probe.once('error', () => resolve(false));
36
+ probe.once('listening', () => probe.close(() => resolve(true)));
37
+ probe.listen(port, '0.0.0.0');
38
+ });
39
+ }
40
+ /**
41
+ * Первый свободный порт начиная со `start`. Нужен, потому что порт по
42
+ * умолчанию один на все игры: без этого второй `npm run dev` не забиндил бы
43
+ * свой e8-server и молча ходил бы в чужой (с чужим --games-dir).
44
+ */
45
+ async function findFreePort(start, range = PORT_SCAN_RANGE) {
46
+ for (let p = start; p < start + range; p++) {
47
+ if (await isPortFree(p))
48
+ return p;
49
+ }
50
+ throw new Error(`[e8] нет свободного порта в диапазоне ${start}..${start + range - 1}`);
51
+ }
21
52
  /**
22
53
  * Поиск бинаря e8-server в порядке их NativeSimulationRunner:
23
54
  * явный binPath → env E8_SERVER_BINARY →
@@ -132,7 +163,10 @@ message HealthRequest {}
132
163
  message HealthResponse { bool ok = 1; uint32 games_loaded = 2; string sessions_backend = 3; }
133
164
  `;
134
165
  function spinPlugin(opts = {}) {
135
- const port = opts.port ?? 50151;
166
+ const basePort = opts.port ?? (Number(process.env.E8_SERVER_PORT) || DEFAULT_SPIN_PORT);
167
+ // фактический порт: при `external` — ровно basePort, иначе подбирается в
168
+ // configureServer и дальше читается замыканиями grpc()/логами
169
+ let port = basePort;
136
170
  const serverSeed = opts.serverSeed ?? 'e8-dev-seed';
137
171
  let child = null;
138
172
  let client = null;
@@ -204,6 +238,68 @@ function spinPlugin(opts = {}) {
204
238
  roundId,
205
239
  };
206
240
  }
241
+ /**
242
+ * Дождаться готовности сервера и запомнить gameId/entry_actions.
243
+ * `isDead` даёт выйти сразу, если наш процесс умер (не забиндил порт) —
244
+ * иначе ждали бы 30 секунд впустую.
245
+ */
246
+ async function connect(isDead = () => false) {
247
+ for (let i = 0; i < 100; i++) {
248
+ if (isDead())
249
+ return false;
250
+ try {
251
+ const games = await call('ListGames', {});
252
+ if (!gameId)
253
+ gameId = games.games[0]?.game_id ?? '';
254
+ const info = games.games.find((g) => g.game_id === gameId);
255
+ entryActions = info?.entry_actions ?? [];
256
+ console.log(`[e8] connected: :${port} game=${gameId} script=${info?.script_sha256?.slice(0, 12)} entry=[${entryActions}]`);
257
+ return true;
258
+ }
259
+ catch {
260
+ await new Promise((res) => setTimeout(res, 300));
261
+ }
262
+ }
263
+ return false;
264
+ }
265
+ /**
266
+ * Поднять собственный e8-server на свободном порту. Порт проверяется до
267
+ * спавна, но между проверкой и биндом есть гонка (и порт мог занять другой
268
+ * e8-server) — поэтому при неудачном старте ищем дальше со следующего.
269
+ */
270
+ async function startServer() {
271
+ const bin = resolveServerBinary(opts.binPath);
272
+ let from = basePort;
273
+ for (let attempt = 0; attempt < START_ATTEMPTS; attempt++) {
274
+ try {
275
+ port = await findFreePort(from);
276
+ }
277
+ catch (e) {
278
+ console.error(e.message);
279
+ return;
280
+ }
281
+ if (port !== basePort) {
282
+ console.log(`[e8] порт ${basePort} занят → e8-server на :${port}`);
283
+ }
284
+ const args = ['--port', String(port), '--sessions', 'memory', '--watch'];
285
+ if (opts.gamesDir)
286
+ args.push('--games-dir', opts.gamesDir);
287
+ else if (opts.spinPath) {
288
+ const dir = opts.spinPath.replace(/\/[^/]+$/, '') || '.';
289
+ args.push('--games-dir', dir);
290
+ }
291
+ let exited = false;
292
+ child = spawn(bin, args, { stdio: 'inherit' });
293
+ child.once('exit', () => (exited = true));
294
+ client = grpc();
295
+ if (await connect(() => exited))
296
+ return;
297
+ child?.kill();
298
+ child = null;
299
+ from = port + 1;
300
+ }
301
+ console.error(`[e8] e8-server не поднялся за ${START_ATTEMPTS} попытки от :${basePort}`);
302
+ }
207
303
  async function play(body) {
208
304
  const action = body.action ?? 'spin';
209
305
  const params = body.params ? JSON.stringify(body.params) : '';
@@ -261,31 +357,15 @@ function spinPlugin(opts = {}) {
261
357
  // движка (их LuaEngine на .spin-тексте тихо не поднимется).
262
358
  enforce: 'pre',
263
359
  async configureServer(server) {
264
- if (!opts.external) {
265
- const args = ['--port', String(port), '--sessions', 'memory', '--watch'];
266
- if (opts.gamesDir)
267
- args.push('--games-dir', opts.gamesDir);
268
- else if (opts.spinPath) {
269
- const dir = opts.spinPath.replace(/\/[^/]+$/, '') || '.';
270
- args.push('--games-dir', dir);
360
+ if (opts.external) {
361
+ client = grpc();
362
+ if (!(await connect())) {
363
+ console.error(`[e8] нет сервера на 127.0.0.1:${port} (external: true)`);
271
364
  }
272
- child = spawn(resolveServerBinary(opts.binPath), args, { stdio: 'inherit' });
273
- server.httpServer?.on('close', () => child?.kill());
274
365
  }
275
- client = grpc();
276
- for (let i = 0; i < 100; i++) {
277
- try {
278
- const games = await call('ListGames', {});
279
- if (!gameId)
280
- gameId = games.games[0]?.game_id ?? '';
281
- const info = games.games.find((g) => g.game_id === gameId);
282
- entryActions = info?.entry_actions ?? [];
283
- console.log(`[e8] connected: game=${gameId} script=${info?.script_sha256?.slice(0, 12)} entry=[${entryActions}]`);
284
- break;
285
- }
286
- catch {
287
- await new Promise((res) => setTimeout(res, 300));
288
- }
366
+ else {
367
+ await startServer();
368
+ server.httpServer?.on('close', () => child?.kill());
289
369
  }
290
370
  server.middlewares.use('/__lua-play', (req, res) => {
291
371
  if (req.method !== 'POST') {
@@ -1 +1 @@
1
- {"version":3,"file":"vite.esm.js","sources":["../src/vite/spinPlugin.ts","../src/vite/index.ts"],"sourcesContent":[null,null],"names":["fsConstants"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;AAYG;AASH;;;;;AAKG;AACH,SAAS,mBAAmB,CAAC,QAAiB,EAAA;AAC5C,IAAA,MAAM,EAAE,GAAG,CAAC,CAAS,KAAI;AACvB,QAAA,IAAI;AACF,YAAA,UAAU,CAAC,CAAC,EAAEA,SAAW,CAAC,IAAI,CAAC;AAC/B,YAAA,OAAO,IAAI;QACb;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,KAAK;QACd;AACF,IAAA,CAAC;AACD,IAAA,IAAI,QAAQ;AAAE,QAAA,OAAO,QAAQ;AAC7B,IAAA,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB;AACxC,IAAA,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,GAAG;AAC9B,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI;AAC5D,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ;AAC5E,IAAA,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,GAAG,MAAM,GAAG,EAAE;IACtD,MAAM,IAAI,GAAG,CAAA,UAAA,EAAa,QAAQ,IAAI,IAAI,CAAA,EAAG,GAAG,CAAA,CAAE;;;AAGlD,IAAA,IAAI;QACF,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3C,KAAK,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;YACnD,IAAI,EAAE,CAAC,SAAS,CAAC;AAAE,gBAAA,OAAO,SAAS;QACrC;IACF;AAAE,IAAA,MAAM;;IAER;IACA,OAAO,CAAA,SAAA,EAAY,GAAG,CAAA,CAAE;AAC1B;AAkBA;AACA,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEpB;AAEK,SAAU,UAAU,CAAC,IAAA,GAA0B,EAAE,EAAA;AACrD,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK;AAC/B,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,aAAa;IACnD,IAAI,KAAK,GAAwB,IAAI;IACrC,IAAI,MAAM,GAAQ,IAAI;AACtB,IAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE;IAC9B,IAAI,YAAY,GAAa,EAAE;IAE/B,IAAI,YAAY,GAAG,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC;;AAElB,IAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+C;IACrE,IAAI,aAAa,GAAkB,IAAI;AAEvC,IAAA,SAAS,IAAI,GAAA;;QAEX,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1C,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC;AACnC,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC;AACxC,QAAA,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;QACnD,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,YAAY,CAAC;AACtD,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE;AACrD,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAQ;AACpD,QAAA,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA,UAAA,EAAa,IAAI,CAAA,CAAE,EAAE,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;IACpF;AAEA,IAAA,SAAS,IAAI,CAAI,MAAc,EAAE,GAAY,EAAA;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAiB,EAAE,IAAO,KAC7C,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAClC;AACH,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,SAAS,QAAQ,CAAC,CAAM,EAAE,OAAe,EAAA;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAE;QACjC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI;;;;QAIzD,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI;AAClE,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACtD,YAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO;QACjC;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,YAAA,SAAS,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC;AAC7B,YAAA,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;YACrB,IAAI;AACL,SAAA,CAAC;AACF,QAAA,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;AAC1D,QAAA,IAAI,CAAC,CAAC,cAAc,EAAE;AACpB,YAAA,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YACtB,IAAI,aAAa,KAAK,OAAO;gBAAE,aAAa,GAAG,IAAI;QACrD;QACA,OAAO;YACL,QAAQ,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG;YACtE,IAAI;YACJ,WAAW,EAAE,CAAC,CAAC,YAAY;AAC3B,YAAA,OAAO,EAAE;AACP,kBAAE;oBACE,cAAc,EAAE,CAAC,CAAC,eAAe;oBACjC,WAAW,EAAE,CAAC,CAAC,YAAY;AAC3B,oBAAA,QAAQ,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG;oBAChC,SAAS,EAAE,IAAI,CAAC,GAAG;oBACnB,SAAS,EAAE,CAAC,CAAC,cAAc;AAC3B,oBAAA,aAAa,EAAE,KAAK;oBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB;AACH,kBAAE,IAAI;AACR,YAAA,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;AACrD,YAAA,cAAc,EAAE,CAAC,CAAC,CAAC,cAAc;YACjC,OAAO;SACR;IACH;IAEA,eAAe,IAAI,CAAC,IAAS,EAAA;AAC3B,QAAA,MAAM,MAAM,GAAW,IAAI,CAAC,MAAM,IAAI,MAAM;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;AAC7D,QAAA,MAAM,GAAG,GAAkB,IAAI,CAAC,OAAO,IAAI,aAAa;QACxD,UAAU,IAAI,CAAC;;;;QAKf,IAAI,GAAG,EAAE;AACP,YAAA,MAAM,EAAE,GAAQ,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACzD,YAAA,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACtE,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;AAAE,oBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC1E,gBAAA,MAAM,CAAC,GAAQ,MAAM,IAAI,CAAC,MAAM,EAAE;AAChC,oBAAA,QAAQ,EAAE,GAAG;oBACb,MAAM;AACN,oBAAA,WAAW,EAAE,MAAM;oBACnB,UAAU,EAAE,CAAA,IAAA,EAAO,UAAU,CAAA,CAAE;AAChC,iBAAA,CAAC;gBACF,IAAI,CAAC,CAAC,KAAK;AAAE,oBAAA,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACrC,gBAAA,OAAO,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YACzB;QACF;;;QAIA,YAAY,IAAI,CAAC;QACjB,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,IAAI,CAAA,CAAA,EAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAE;AACxF,QAAA,MAAM,GAAG,GAAW,IAAI,CAAC,GAAG,IAAI,GAAG;AACnC,QAAA,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACzC,QAAA,MAAM,CAAC,GAAQ,MAAM,IAAI,CAAC,YAAY,EAAE;AACtC,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,KAAK,EAAE,YAAY;YACnB,MAAM;YACN,GAAG;AACH,YAAA,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,CAAA,IAAA,EAAO,UAAU,CAAA,CAAE;AAC/B,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAC;QACF,IAAI,CAAC,CAAC,KAAK;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,CAAC,CAAC,cAAc;YAAE,aAAa,GAAG,OAAO;AAC9C,QAAA,OAAO,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAC7B;IAEA,OAAO;AACL,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,KAAK,EAAE,OAAO;;;;AAId,QAAA,OAAO,EAAE,KAAK;QAEd,MAAM,eAAe,CAAC,MAAM,EAAA;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,gBAAA,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC;gBACxE,IAAI,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC;AACrD,qBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACtB,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,GAAG;AACxD,oBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC;gBAC/B;AACA,gBAAA,KAAK,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC5E,gBAAA,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,EAAE,IAAI,EAAE,CAAC;YACrD;YACA,MAAM,GAAG,IAAI,EAAE;AAEf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5B,gBAAA,IAAI;oBACF,MAAM,KAAK,GAAQ,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AAC9C,oBAAA,IAAI,CAAC,MAAM;wBAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;AACnD,oBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC;AAC/D,oBAAA,YAAY,GAAG,IAAI,EAAE,aAAa,IAAI,EAAE;oBACxC,OAAO,CAAC,GAAG,CACT,CAAA,qBAAA,EAAwB,MAAM,CAAA,QAAA,EAAW,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,YAAY,CAAA,CAAA,CAAG,CACrG;oBACD;gBACF;AAAE,gBAAA,MAAM;AACN,oBAAA,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClD;YACF;AAEA,YAAA,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAQ,EAAE,GAAQ,KAAI;AAC3D,gBAAA,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;AACzB,oBAAA,GAAG,CAAC,UAAU,GAAG,GAAG;AACpB,oBAAA,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC7B;gBACF;gBACA,IAAI,IAAI,GAAG,EAAE;AACb,gBAAA,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;AAC1C,gBAAA,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,YAAW;AACvB,oBAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjD,oBAAA,IAAI;AACF,wBAAA,GAAG,CAAC,UAAU,GAAG,GAAG;AACpB,wBAAA,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvD;oBAAE,OAAO,CAAM,EAAE;AACf,wBAAA,GAAG,CAAC,UAAU,GAAG,GAAG;AACpB,wBAAA,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/C;AACF,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AAEF,YAAA,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,IAAS,EAAE,GAAQ,KAAI;AAC9D,gBAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjD,gBAAA,IAAI;AACF,oBAAA,MAAM,CAAC,GAAQ,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC3D,oBAAA,GAAG,CAAC,UAAU,GAAG,GAAG;oBACpB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9D;gBAAE,OAAO,CAAM,EAAE;AACf,oBAAA,GAAG,CAAC,UAAU,GAAG,GAAG;AACpB,oBAAA,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C;AACF,YAAA,CAAC,CAAC;QACJ,CAAC;KACF;AACH;;ACrVA;AAEA;;;;;;;AAOG;AACH,MAAM,UAAU,GAAG,uBAAuB;AAEpC,SAAU,eAAe,CAAC,UAAkB,EAAA;IAChD,IAAI,QAAQ,GAAG,EAAE;IACjB,IAAI,QAAQ,GAAG,EAAE;IACjB,IAAI,kBAAkB,GAAG,UAAU;IAEnC,OAAO;AACL,QAAA,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,OAAO;AACd,QAAA,OAAO,EAAE,KAAK;AAEd,QAAA,cAAc,CAAC,MAAM,EAAA;AACnB,YAAA,QAAQ,GAAG,MAAM,CAAC,IAAI;;;AAGtB,YAAA,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC9B,gBAAA,kBAAkB,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1E;QACF,CAAC;AAED,QAAA,SAAS,CAAC,EAAE,EAAA;YACV,IAAI,EAAE,KAAK,UAAU;AAAE,gBAAA,OAAO,EAAE;QAClC,CAAC;AAED,QAAA,IAAI,CAAC,EAAE,EAAA;AACL,YAAA,IAAI,EAAE,KAAK,UAAU,EAAE;;gBAErB,OAAO;;;;8BAIe,kBAAkB,CAAA;;;;;;;gBAOhC,QAAQ,CAAA;CACvB;YACK;QACF,CAAC;AAED,QAAA,kBAAkB,CAAC,IAAI,EAAA;;YAErB,MAAM,WAAW,GAAG,iEAAiE;YACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAErC,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC;AAC5E,gBAAA,OAAO,IAAI;YACb;AAEA,YAAA,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5B,gBAAA,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D;AAAO,iBAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACnC,gBAAA,QAAQ,GAAG,QAAQ,GAAG,QAAQ;YAChC;AACA,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,2BAAA,EAA8B,UAAU,CAAA,WAAA,CAAa,CAAC;QACtF,CAAC;KACF;AACH;;;;"}
1
+ {"version":3,"file":"vite.esm.js","sources":["../src/vite/spinPlugin.ts","../src/vite/index.ts"],"sourcesContent":[null,null],"names":["createNetServer","fsConstants"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@energy8platform/platform-core",
3
- "version": "0.30.7",
3
+ "version": "0.30.9",
4
4
  "description": "Energy8 platform core: Lua engine, DevBridge, RTP simulation, and SDK session orchestration. Renderer-agnostic — pair with any game framework (Pixi, Phaser, Three.js, custom).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs.js",
@@ -1,43 +1,60 @@
1
1
  /**
2
- * Shared Energy8 SVG logo with an embedded loader bar.
2
+ * Shared Energy8 SVG logo with a loader bar underneath.
3
3
  *
4
- * The loader bar fill is controlled via a `<clipPath>` whose `<rect>` width
4
+ * The wordmark is the official ENERGY8 artwork as vector outlines, kept at its
5
+ * native coordinates (836.01 × 185.55). Two deviations from the Illustrator
6
+ * export:
7
+ *
8
+ * - Fourteen zero-area `<path d="M…"/>` stubs are dropped (export artifacts),
9
+ * same as in splash.ts.
10
+ * - The export gives every shape its own `<linearGradient>` even though they
11
+ * collapse to two distinct ramps — one over the letters that sit on the
12
+ * baseline (y 0..160.85), one over the two that descend (y 0..185.55).
13
+ * Colours are attributes rather than a `<style>` block on purpose: inlining
14
+ * the export's `<style>` would leak rules for the generic `.st0` selector
15
+ * into the host page.
16
+ *
17
+ * The loader bar is NOT part of the artwork — it is a pill drawn below the
18
+ * wordmark, with the fill controlled via a `<clipPath>` whose `<rect>` width
5
19
  * is animatable. Different consumers customise gradient IDs and the clip
6
20
  * element's ID/class to avoid collisions when both CSSPreloader and
7
21
  * LoadingScene appear in the same DOM.
8
22
  */
9
23
 
10
- /** SVG path data for the Energy8 wordmarkreused across loaders */
24
+ /** Full width of the artwork in SVG units the bar spans it edge to edge. */
25
+ const LOGO_WIDTH = 836.01;
26
+ /** Loader bar geometry, in SVG units, below the wordmark's 185.55 baseline. */
27
+ const BAR_Y = 215;
28
+ const BAR_H = 24;
29
+
30
+ /** SVG path data for the Energy8 wordmark, in reading order: E N E R G Y 8 */
11
31
  const WORDMARK_PATHS = `
12
- <path d="m241 81.75h-19.28c-1.77 0-6.73 4.98-7.43 6.99l-4.36 12.22c-0.49 1.37 0.05 2.92 1.06 4.32-2.07 1.19-3.69 3.08-4.36 5.43l-3.25 10.41c-0.86 2.89 2.39 6.63 4.31 6.63h19.28c1.96 0 7.4-5.56 7.96-7.51l2.96-10.22c0.63-2.25 0.1-3.98-1.22-4.99 2.55-1.56 3.86-4.14 4.55-6.31l2.77-9.31c0.74-2.57-1.37-7.66-2.99-7.66zm-13.36 28.31-2.27 7.03h-8.28l2.58-8.28h8.28l-0.31 1.25zm4.06-16.97-2.11 6.7h-7.04l2.25-7.34h7.26l-0.36 0.64z" fill="url(#GID0)"/>
13
- <path d="m202.5 81.75-9.31 14.97-2.32-14.97h-11.82l4.32 25.15-0.57 4.91-8.64 26.44 15.31-12.76 5.63-16.48 19.96-27.26h-12.56z" fill="url(#GID1)"/>
14
- <path d="m174.2 81.75h-19.78l-5.75 5.16-10.79 33.2c-0.77 2.53 2.48 6.93 4.87 6.93h17.38c2.63 0 7.85-5.34 8.32-6.83l5.37-18.14h-15.17l-2.2 7.64h3.78l-2.25 7.2h-8.01l7.1-25.52h7.58l-1.48 8.4 12.78-5.98c1.28-0.63 1.97-3.99 1.61-6.61-0.36-2.34-1.64-5.45-3.36-5.45z" fill="url(#GID2)"/>
15
- <path d="m140.6 81.75h-70.6l-5.36 19.37-4.26-19.37h-46.76l2.95 5.88-10.58 39.28h26.84l2.95-9.52-15.63-0.13 2.55-8.34h8.74l8.47-9.81h-14.61l2.11-7.3h15.47l2.54-8.71 2.58 4.74-11.4 39.07h11.05l6.46-21.49 8.84 36.33 19.18-55.67-1.83-3.36 3.68 4.09-12.07 40.1h28.18l3.39-10.31h-17.01l2.67-8.03h9.98l7.58-9.52h-14.28l1.93-6.6h14.61l3.25-9.73 2.81 5.12-11.3 38.89h11.05l5.23-17.81h1.62l1.48 17.6h10.69l-1.48-16.81c4.75-1.28 7.52-5.9 8.64-9.81l2.95-11.3c0.86-2.73-1.43-6.85-3.3-6.85zm-9.8 17.3h-8.69l2.54-7.84h8.35l-2.2 7.84z" fill="url(#GID3)"/>
16
- <path d="m205.9 148.9h-122.6l-2.61-3.12h-32.4l-2.51 3.12h-1.59c-5.34 0-7.94 4.88-7.94 7.65v0.03c0 4.2 3.55 7.6 7.74 7.6h103.6l2.11 3.12h36.09l1.82-3.12h18.3c5.25 0 6.64-5.3 6.64-7.35v-0.25c0-4.23-2.9-7.68-6.64-7.68zm-0.7 12.83h-160.6c-3.69 0-6.11-2.58-6.11-5.47v-0.03c0-2.89 2.1-5.47 5.61-5.47h161.1c3.45 0 4.89 3.12 4.89 5.65v0.17c0 2.57-2.11 5.15-4.89 5.15z" fill="url(#GID4)"/>`;
32
+ <polygon points="133.44 0 34.47 0 0 160.84 98.96 160.89 106.94 123.69 45.07 123.72 50.37 98.97 87.48 99.01 95.46 61.78 58.31 61.89 63.63 37.09 125.48 37.15 133.44 0" fill="url(#GID0)"/>
33
+ <polygon points="205.08 185.4 176.15 185.55 164.37 86.6 148.43 161.13 111.28 161.1 145.81 0 182.93 0 191.76 74.24 207.67 0 244.79 0 205.08 185.4" fill="url(#GID1)"/>
34
+ <polygon points="356.14 0 257.15 0 222.7 160.82 321.67 160.8 329.64 123.59 267.78 123.61 273.07 98.96 310.18 98.94 318.16 61.73 281.02 61.84 286.34 37.02 348.18 37.14 356.14 0" fill="url(#GID0)"/>
35
+ <path d="M455.1,0h-86.6c-11.53,53.8-22.93,107.03-34.46,160.82h37.12l13.24-61.85h12.38s-.88,61.86-.88,61.86l37.12-.04.88-61.83,15.02-12.37,15.91-74.24L455.1,0ZM417.1,61.87l-24.74-.03c1.76-8.22,6.2-28.9,7.96-37.12l24.76-.06-7.97,37.21Z" fill="url(#GID0)"/>
36
+ <polygon points="457.75 160.84 455.99 111.33 477.21 12.3 492.22 0 578.83 0 588.59 12.19 580.6 49.49 543.46 49.53 546.13 37.08 509.01 37.11 490.46 123.69 527.57 123.7 532.87 98.98 520.5 98.96 525.8 74.24 575.31 74.2 559.4 148.42 544.35 160.9 457.75 160.84" fill="url(#GID0)"/>
37
+ <polygon points="624.78 74.24 603.58 0 640.69 0 654.85 49.4 690.17 0 727.3 0 656.6 98.95 643.37 160.81 600.95 185.55 624.78 74.24" fill="url(#GID1)"/>
38
+ <path d="M836.01,12.37L826.27,0h-74.23s-15.02,12.36-15.02,12.36l-13.23,61.84,15.9,6.69-18.56,5.71-13.25,61.84,9.72,12.37h74.23s15.03-12.39,15.03-12.39l13.25-61.82-18.56-5.76,21.2-6.6,13.26-61.87ZM772.38,136.13l-24.73-.04c1.76-8.22,6.19-28.89,7.95-37.1h24.74s-7.96,37.14-7.96,37.14ZM788.29,61.86l-24.74-.02c1.76-8.21,6.19-28.88,7.95-37.09l24.75-.02-7.96,37.13Z" fill="url(#GID0)"/>`;
17
39
 
18
- /** Gradient definitions template (gradient IDs are replaced per-consumer) */
40
+ /**
41
+ * Gradient definitions template (gradient IDs are replaced per-consumer).
42
+ * GID0/GID1 are the wordmark's two vertical ramps — bottom-to-top, so y1 is
43
+ * the shape's baseline and y2 its top. GID2 is the cyan loader fill.
44
+ */
19
45
  const GRADIENT_DEFS = `
20
- <linearGradient id="GID0" x1="223.7" x2="223.7" y1="81.75" y2="127.8" gradientUnits="userSpaceOnUse">
21
- <stop stop-color="#663BA6"/><stop stop-color="#7939C2" offset=".349"/><stop stop-color="#8A2FC0" offset=".6615"/><stop stop-color="#791BA3" offset="1"/>
46
+ <linearGradient id="GID0" x1="0" x2="0" y1="160.85" y2="0" gradientUnits="userSpaceOnUse">
47
+ <stop stop-color="#892ebf"/><stop stop-color="#862fbf" offset=".23"/><stop stop-color="#7f35c1" offset=".36"/><stop stop-color="#7539be" offset=".67"/><stop stop-color="#7139b7" offset=".72"/><stop stop-color="#6c3aae" offset=".83"/><stop stop-color="#6b3bac" offset="1"/>
22
48
  </linearGradient>
23
- <linearGradient id="GID1" x1="194.6" x2="194.6" y1="81.75" y2="138.3" gradientUnits="userSpaceOnUse">
24
- <stop stop-color="#663BA6"/><stop stop-color="#7939C2" offset=".349"/><stop stop-color="#8A2FC0" offset=".6615"/><stop stop-color="#791BA3" offset="1"/>
49
+ <linearGradient id="GID1" x1="0" x2="0" y1="185.55" y2="0" gradientUnits="userSpaceOnUse">
50
+ <stop stop-color="#892ebf"/><stop stop-color="#862fbf" offset=".23"/><stop stop-color="#7f35c1" offset=".36"/><stop stop-color="#7539be" offset=".67"/><stop stop-color="#7139b7" offset=".72"/><stop stop-color="#6c3aae" offset=".83"/><stop stop-color="#6b3bac" offset="1"/>
25
51
  </linearGradient>
26
- <linearGradient id="GID2" x1="157.8" x2="157.8" y1="81.75" y2="127" gradientUnits="userSpaceOnUse">
27
- <stop stop-color="#663BA6"/><stop stop-color="#7939C2" offset=".349"/><stop stop-color="#8A2FC0" offset=".6615"/><stop stop-color="#791BA3" offset="1"/>
28
- </linearGradient>
29
- <linearGradient id="GID3" x1="79.96" x2="79.96" y1="81.75" y2="141.8" gradientUnits="userSpaceOnUse">
30
- <stop stop-color="#663BA6"/><stop stop-color="#7939C2" offset=".349"/><stop stop-color="#8A2FC0" offset=".6615"/><stop stop-color="#791BA3" offset="1"/>
31
- </linearGradient>
32
- <linearGradient id="GID4" x1="36.18" x2="212.5" y1="156.6" y2="156.6" gradientUnits="userSpaceOnUse">
33
- <stop stop-color="#316FB0"/><stop stop-color="#1FCDE6" offset=".5"/><stop stop-color="#29FEE7" offset="1"/>
34
- </linearGradient>
35
- <linearGradient id="GID5" x1="40.27" x2="208.2" y1="156.4" y2="156.4" gradientUnits="userSpaceOnUse">
52
+ <linearGradient id="GID2" x1="0" x2="${LOGO_WIDTH}" y1="${BAR_Y}" y2="${BAR_Y}" gradientUnits="userSpaceOnUse">
36
53
  <stop stop-color="#316FB0"/><stop stop-color="#1FCDE6" offset=".5"/><stop stop-color="#29FEE7" offset="1"/>
37
54
  </linearGradient>`;
38
55
 
39
56
  /** Max width of the loader bar in SVG units */
40
- export const LOADER_BAR_MAX_WIDTH = 174;
57
+ export const LOADER_BAR_MAX_WIDTH = LOGO_WIDTH;
41
58
 
42
59
  interface LogoSVGOptions {
43
60
  /** Prefix for gradient/clip IDs to avoid collisions (e.g. 'pl' or 'ls') */
@@ -72,7 +89,7 @@ export function buildLogoSVG(opts: LogoSVGOptions): string {
72
89
  const defs = GRADIENT_DEFS.replace(/GID(\d)/g, `${idPrefix}$1`);
73
90
 
74
91
  const clipId = `${idPrefix}-loader-clip`;
75
- const fillGradientId = `${idPrefix}5`;
92
+ const fillGradientId = `${idPrefix}2`;
76
93
 
77
94
  const classAttr = svgClass ? ` class="${svgClass}"` : '';
78
95
  const styleAttr = svgStyle ? ` style="${svgStyle}"` : '';
@@ -81,13 +98,16 @@ export function buildLogoSVG(opts: LogoSVGOptions): string {
81
98
  const txtIdAttr = textId ? ` id="${textId}"` : '';
82
99
  const txtClassAttr = textClass ? ` class="${textClass}"` : '';
83
100
 
84
- return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250 200" fill="none"${classAttr}${styleAttr}>
101
+ const bar = `x="0" y="${BAR_Y}" width="${LOGO_WIDTH}" height="${BAR_H}" rx="${BAR_H / 2}"`;
102
+
103
+ return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${LOGO_WIDTH} 310" fill="none"${classAttr}${styleAttr}>
85
104
  ${paths}
86
105
  <clipPath id="${clipId}">
87
- <rect${rectIdAttr} x="37" y="148" width="0" height="20"${rectClassAttr}/>
106
+ <rect${rectIdAttr} x="0" y="${BAR_Y}" width="0" height="${BAR_H}"${rectClassAttr}/>
88
107
  </clipPath>
89
- <path d="m204.5 152.6h-159.8c-2.78 0-4.45 1.69-4.45 3.99v0.11c0 2.04 1.42 3.43 3.64 3.43h160.6c2.88 0 3.67-2.07 3.67-3.43v-0.25c0-2.04-1.48-3.85-3.67-3.85z" fill="url(#${fillGradientId})" clip-path="url(#${clipId})"/>
90
- <text${txtIdAttr} x="125" y="196" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-family="-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif" font-size="8" font-weight="600" letter-spacing="1.5"${txtClassAttr}>${textContent ?? 'Loading...'}</text>
108
+ <rect ${bar} fill="url(#${fillGradientId})" opacity=".18"/>
109
+ <rect ${bar} fill="url(#${fillGradientId})" clip-path="url(#${clipId})"/>
110
+ <text${txtIdAttr} x="${LOGO_WIDTH / 2}" y="294" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-family="-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif" font-size="26" font-weight="600" letter-spacing="5"${txtClassAttr}>${textContent ?? 'Loading...'}</text>
91
111
  <defs>
92
112
  ${defs}
93
113
  </defs>
@@ -46,7 +46,7 @@ export const energy8Variant: PreloaderVariant = {
46
46
 
47
47
  @keyframes ge-loader-fill {
48
48
  0% { width: 0; }
49
- 50% { width: 174; }
49
+ 50% { width: ${LOADER_BAR_MAX_WIDTH}; }
50
50
  100% { width: 0; }
51
51
  }
52
52
 
@@ -14,11 +14,44 @@
14
14
  import { spawn, type ChildProcess } from 'node:child_process';
15
15
  import { accessSync, constants as fsConstants, mkdtempSync, writeFileSync } from 'node:fs';
16
16
  import { createRequire } from 'node:module';
17
+ import { createServer as createNetServer } from 'node:net';
17
18
  import { fileURLToPath } from 'node:url';
18
19
  import { tmpdir } from 'node:os';
19
20
  import { join } from 'node:path';
20
21
  import type { Plugin } from 'vite';
21
22
 
23
+ /** стартовый порт gRPC, если не задан явно и нет E8_SERVER_PORT */
24
+ export const DEFAULT_SPIN_PORT = 50151;
25
+ /** сколько портов подряд пробуем от стартового, прежде чем сдаться */
26
+ const PORT_SCAN_RANGE = 20;
27
+ /** сколько раз перезапускаем поиск, если сервер не поднялся на выбранном порту */
28
+ const START_ATTEMPTS = 3;
29
+
30
+ /**
31
+ * Свободен ли порт. Биндимся на 0.0.0.0 — e8-server слушает все интерфейсы,
32
+ * так что занятость на любом из них ему помешает.
33
+ */
34
+ function isPortFree(port: number): Promise<boolean> {
35
+ return new Promise((resolve) => {
36
+ const probe = createNetServer();
37
+ probe.once('error', () => resolve(false));
38
+ probe.once('listening', () => probe.close(() => resolve(true)));
39
+ probe.listen(port, '0.0.0.0');
40
+ });
41
+ }
42
+
43
+ /**
44
+ * Первый свободный порт начиная со `start`. Нужен, потому что порт по
45
+ * умолчанию один на все игры: без этого второй `npm run dev` не забиндил бы
46
+ * свой e8-server и молча ходил бы в чужой (с чужим --games-dir).
47
+ */
48
+ async function findFreePort(start: number, range = PORT_SCAN_RANGE): Promise<number> {
49
+ for (let p = start; p < start + range; p++) {
50
+ if (await isPortFree(p)) return p;
51
+ }
52
+ throw new Error(`[e8] нет свободного порта в диапазоне ${start}..${start + range - 1}`);
53
+ }
54
+
22
55
  /**
23
56
  * Поиск бинаря e8-server в порядке их NativeSimulationRunner:
24
57
  * явный binPath → env E8_SERVER_BINARY →
@@ -63,7 +96,10 @@ export interface SpinPluginOptions {
63
96
  gamesDir?: string;
64
97
  /** id игры из декларации game "..." (default: первая загруженная) */
65
98
  gameId?: string;
66
- /** порт gRPC (default 50151) */
99
+ /**
100
+ * Стартовый порт gRPC (default: E8_SERVER_PORT → 50151). Если занят —
101
+ * берётся следующий свободный, кроме случая `external`, где порт точный.
102
+ */
67
103
  port?: number;
68
104
  /** server_seed дев-сессий (детерминированный replay) */
69
105
  serverSeed?: string;
@@ -146,7 +182,10 @@ message HealthResponse { bool ok = 1; uint32 games_loaded = 2; string sessions_b
146
182
  `;
147
183
 
148
184
  export function spinPlugin(opts: SpinPluginOptions = {}): Plugin {
149
- const port = opts.port ?? 50151;
185
+ const basePort = opts.port ?? (Number(process.env.E8_SERVER_PORT) || DEFAULT_SPIN_PORT);
186
+ // фактический порт: при `external` — ровно basePort, иначе подбирается в
187
+ // configureServer и дальше читается замыканиями grpc()/логами
188
+ let port = basePort;
150
189
  const serverSeed = opts.serverSeed ?? 'e8-dev-seed';
151
190
  let child: ChildProcess | null = null;
152
191
  let client: any = null;
@@ -224,6 +263,72 @@ export function spinPlugin(opts: SpinPluginOptions = {}): Plugin {
224
263
  };
225
264
  }
226
265
 
266
+ /**
267
+ * Дождаться готовности сервера и запомнить gameId/entry_actions.
268
+ * `isDead` даёт выйти сразу, если наш процесс умер (не забиндил порт) —
269
+ * иначе ждали бы 30 секунд впустую.
270
+ */
271
+ async function connect(isDead: () => boolean = () => false): Promise<boolean> {
272
+ for (let i = 0; i < 100; i++) {
273
+ if (isDead()) return false;
274
+ try {
275
+ const games: any = await call('ListGames', {});
276
+ if (!gameId) gameId = games.games[0]?.game_id ?? '';
277
+ const info = games.games.find((g: any) => g.game_id === gameId);
278
+ entryActions = info?.entry_actions ?? [];
279
+ console.log(
280
+ `[e8] connected: :${port} game=${gameId} script=${info?.script_sha256?.slice(0, 12)} entry=[${entryActions}]`,
281
+ );
282
+ return true;
283
+ } catch {
284
+ await new Promise((res) => setTimeout(res, 300));
285
+ }
286
+ }
287
+ return false;
288
+ }
289
+
290
+ /**
291
+ * Поднять собственный e8-server на свободном порту. Порт проверяется до
292
+ * спавна, но между проверкой и биндом есть гонка (и порт мог занять другой
293
+ * e8-server) — поэтому при неудачном старте ищем дальше со следующего.
294
+ */
295
+ async function startServer(): Promise<void> {
296
+ const bin = resolveServerBinary(opts.binPath);
297
+ let from = basePort;
298
+
299
+ for (let attempt = 0; attempt < START_ATTEMPTS; attempt++) {
300
+ try {
301
+ port = await findFreePort(from);
302
+ } catch (e: any) {
303
+ console.error(e.message);
304
+ return;
305
+ }
306
+ if (port !== basePort) {
307
+ console.log(`[e8] порт ${basePort} занят → e8-server на :${port}`);
308
+ }
309
+
310
+ const args = ['--port', String(port), '--sessions', 'memory', '--watch'];
311
+ if (opts.gamesDir) args.push('--games-dir', opts.gamesDir);
312
+ else if (opts.spinPath) {
313
+ const dir = opts.spinPath.replace(/\/[^/]+$/, '') || '.';
314
+ args.push('--games-dir', dir);
315
+ }
316
+
317
+ let exited = false;
318
+ child = spawn(bin, args, { stdio: 'inherit' });
319
+ child.once('exit', () => (exited = true));
320
+ client = grpc();
321
+
322
+ if (await connect(() => exited)) return;
323
+
324
+ child?.kill();
325
+ child = null;
326
+ from = port + 1;
327
+ }
328
+
329
+ console.error(`[e8] e8-server не поднялся за ${START_ATTEMPTS} попытки от :${basePort}`);
330
+ }
331
+
227
332
  async function play(body: any): Promise<unknown> {
228
333
  const action: string = body.action ?? 'spin';
229
334
  const params = body.params ? JSON.stringify(body.params) : '';
@@ -281,32 +386,15 @@ export function spinPlugin(opts: SpinPluginOptions = {}): Plugin {
281
386
  enforce: 'pre',
282
387
 
283
388
  async configureServer(server) {
284
- if (!opts.external) {
285
- const args = ['--port', String(port), '--sessions', 'memory', '--watch'];
286
- if (opts.gamesDir) args.push('--games-dir', opts.gamesDir);
287
- else if (opts.spinPath) {
288
- const dir = opts.spinPath.replace(/\/[^/]+$/, '') || '.';
289
- args.push('--games-dir', dir);
389
+ if (opts.external) {
390
+ client = grpc();
391
+ if (!(await connect())) {
392
+ console.error(`[e8] нет сервера на 127.0.0.1:${port} (external: true)`);
290
393
  }
291
- child = spawn(resolveServerBinary(opts.binPath), args, { stdio: 'inherit' });
394
+ } else {
395
+ await startServer();
292
396
  server.httpServer?.on('close', () => child?.kill());
293
397
  }
294
- client = grpc();
295
-
296
- for (let i = 0; i < 100; i++) {
297
- try {
298
- const games: any = await call('ListGames', {});
299
- if (!gameId) gameId = games.games[0]?.game_id ?? '';
300
- const info = games.games.find((g: any) => g.game_id === gameId);
301
- entryActions = info?.entry_actions ?? [];
302
- console.log(
303
- `[e8] connected: game=${gameId} script=${info?.script_sha256?.slice(0, 12)} entry=[${entryActions}]`,
304
- );
305
- break;
306
- } catch {
307
- await new Promise((res) => setTimeout(res, 300));
308
- }
309
- }
310
398
 
311
399
  server.middlewares.use('/__lua-play', (req: any, res: any) => {
312
400
  if (req.method !== 'POST') {