@dcl/sdk-commands 7.31.1-40962203448.commit-c68a75f → 7.31.1-41498712919.commit-5e4cada
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/README.md +33 -0
- package/dist/commands/scene-insights/actions.d.ts +63 -0
- package/dist/commands/scene-insights/actions.js +106 -0
- package/dist/commands/scene-insights/actions.js.map +1 -0
- package/dist/commands/scene-insights/client.d.ts +51 -0
- package/dist/commands/scene-insights/client.js +294 -0
- package/dist/commands/scene-insights/client.js.map +1 -0
- package/dist/commands/scene-insights/format.d.ts +23 -0
- package/dist/commands/scene-insights/format.js +143 -0
- package/dist/commands/scene-insights/format.js.map +1 -0
- package/dist/commands/scene-insights/index.d.ts +51 -0
- package/dist/commands/scene-insights/index.js +315 -0
- package/dist/commands/scene-insights/index.js.map +1 -0
- package/dist/commands/scene-insights/inputs.d.ts +49 -0
- package/dist/commands/scene-insights/inputs.js +166 -0
- package/dist/commands/scene-insights/inputs.js.map +1 -0
- package/dist/commands/scene-insights/session-store.d.ts +43 -0
- package/dist/commands/scene-insights/session-store.js +132 -0
- package/dist/commands/scene-insights/session-store.js.map +1 -0
- package/dist/commands/scene-insights/session.d.ts +46 -0
- package/dist/commands/scene-insights/session.js +92 -0
- package/dist/commands/scene-insights/session.js.map +1 -0
- package/dist/commands/scene-insights/sign-in.d.ts +48 -0
- package/dist/commands/scene-insights/sign-in.js +125 -0
- package/dist/commands/scene-insights/sign-in.js.map +1 -0
- package/dist/commands/scene-insights/signature-validation.d.ts +6 -0
- package/dist/commands/scene-insights/signature-validation.js +100 -0
- package/dist/commands/scene-insights/signature-validation.js.map +1 -0
- package/dist/commands/scene-insights/types.d.ts +61 -0
- package/dist/commands/scene-insights/types.js +4 -0
- package/dist/commands/scene-insights/types.js.map +1 -0
- package/dist/commands/sdk-server-logs/index.d.ts +24 -0
- package/dist/commands/sdk-server-logs/index.js +313 -0
- package/dist/commands/sdk-server-logs/index.js.map +1 -0
- package/dist/commands/start/dcl-env.d.ts +16 -0
- package/dist/commands/start/dcl-env.js +51 -0
- package/dist/commands/start/dcl-env.js.map +1 -0
- package/dist/commands/start/index.d.ts +1 -0
- package/dist/commands/start/index.js +24 -6
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/multiplayer-server.d.ts +35 -0
- package/dist/commands/start/multiplayer-server.js +244 -0
- package/dist/commands/start/multiplayer-server.js.map +1 -0
- package/dist/commands/start/server/routes.d.ts +1 -1
- package/dist/commands/start/server/routes.js +6 -2
- package/dist/commands/start/server/routes.js.map +1 -1
- package/dist/commands/start/server/runtime-env.d.ts +84 -0
- package/dist/commands/start/server/runtime-env.js +415 -0
- package/dist/commands/start/server/runtime-env.js.map +1 -0
- package/dist/commands/start/server/storage-service.d.ts +8 -0
- package/dist/commands/start/server/storage-service.js +243 -0
- package/dist/commands/start/server/storage-service.js.map +1 -0
- package/dist/commands/start/utils.d.ts +32 -0
- package/dist/commands/start/utils.js +72 -0
- package/dist/commands/start/utils.js.map +1 -1
- package/dist/commands/storage/env.d.ts +5 -0
- package/dist/commands/storage/env.js +86 -0
- package/dist/commands/storage/env.js.map +1 -0
- package/dist/commands/storage/index.d.ts +26 -0
- package/dist/commands/storage/index.js +142 -0
- package/dist/commands/storage/index.js.map +1 -0
- package/dist/commands/storage/player.d.ts +5 -0
- package/dist/commands/storage/player.js +143 -0
- package/dist/commands/storage/player.js.map +1 -0
- package/dist/commands/storage/scene.d.ts +5 -0
- package/dist/commands/storage/scene.js +105 -0
- package/dist/commands/storage/scene.js.map +1 -0
- package/dist/commands/storage/shared.d.ts +62 -0
- package/dist/commands/storage/shared.js +260 -0
- package/dist/commands/storage/shared.js.map +1 -0
- package/dist/commands/storage/types.d.ts +56 -0
- package/dist/commands/storage/types.js +23 -0
- package/dist/commands/storage/types.js.map +1 -0
- package/dist/components/analytics.d.ts +75 -1
- package/dist/components/analytics.js +3 -2
- package/dist/components/analytics.js.map +1 -1
- package/dist/logic/auth-chain-headers.d.ts +11 -0
- package/dist/logic/auth-chain-headers.js +25 -0
- package/dist/logic/auth-chain-headers.js.map +1 -0
- package/dist/logic/bundle.js +31 -0
- package/dist/logic/bundle.js.map +1 -1
- package/dist/logic/config.d.ts +1 -0
- package/dist/logic/config.js +7 -0
- package/dist/logic/config.js.map +1 -1
- package/dist/logic/error.d.ts +1 -1
- package/dist/logic/error.js.map +1 -1
- package/dist/logic/exec.d.ts +1 -0
- package/dist/logic/exec.js +2 -2
- package/dist/logic/exec.js.map +1 -1
- package/dist/logic/lang.js +1 -1
- package/dist/logic/lsd-realm.d.ts +5 -0
- package/dist/logic/lsd-realm.js +28 -0
- package/dist/logic/lsd-realm.js.map +1 -0
- package/dist/logic/project-files.js +2 -0
- package/dist/logic/project-files.js.map +1 -1
- package/dist/logic/scene-validations.d.ts +8 -1
- package/dist/logic/scene-validations.js.map +1 -1
- package/dist/run-command.js +3 -2
- package/dist/run-command.js.map +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sdk-server-logs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare function webExplorerBaseUrl(dclenv: string): string;
|
|
2
|
+
/** Extra query params for the web client under a non-default environment. */
|
|
3
|
+
export declare function webExplorerEnvParams(dclenv: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* Environment args for the locally-spawned engine. `--base-domain` re-points every backend
|
|
6
|
+
* host the engine composes, Pulse included; the gatekeeper pin is the temporary exception.
|
|
7
|
+
*/
|
|
8
|
+
export declare function engineEnvArgs(dclenv: string): string[];
|
|
9
|
+
/** Pulse endpoint for deep-linked native clients (ENet); undefined = the client's default. */
|
|
10
|
+
export declare function pulseServerNative(dclenv: string): string | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Pulse params for the mobile preview deep link: the LSD realm key — stated explicitly so a
|
|
13
|
+
* phone-side explorer can join the partition without re-deriving it — plus the environment's
|
|
14
|
+
* Pulse endpoint when it is not the production default.
|
|
15
|
+
*/
|
|
16
|
+
export declare function lsdDeepLinkPulseParams(projectRoot: string, dclenv: string): string;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.webExplorerBaseUrl = webExplorerBaseUrl;
|
|
4
|
+
exports.webExplorerEnvParams = webExplorerEnvParams;
|
|
5
|
+
exports.engineEnvArgs = engineEnvArgs;
|
|
6
|
+
exports.pulseServerNative = pulseServerNative;
|
|
7
|
+
exports.lsdDeepLinkPulseParams = lsdDeepLinkPulseParams;
|
|
8
|
+
// Everything `--dclenv` selects for the preview lives here. The default (org) needs no
|
|
9
|
+
// overrides. Zone runs its OWN Pulse server with identical realm names, so a zone preview
|
|
10
|
+
// must land every party on it: the zone-hosted web client and a --base-domain zone engine
|
|
11
|
+
// derive `pulse-server.decentraland.zone` themselves (bevy-explorer#1224); only parties
|
|
12
|
+
// with no zone base domain — native clients launched by deep link — need it stated.
|
|
13
|
+
const lsd_realm_1 = require("../../logic/lsd-realm");
|
|
14
|
+
function webExplorerBaseUrl(dclenv) {
|
|
15
|
+
// bevy-web is deployed on decentraland.org and decentraland.zone only; the zone page
|
|
16
|
+
// resolves its base domain from its own host, which re-points its Pulse fallback too
|
|
17
|
+
return `https://decentraland.${dclenv === 'zone' ? 'zone' : 'org'}/bevy-web/`;
|
|
18
|
+
}
|
|
19
|
+
// TEMPORARY: the preview gatekeeper has no zone deployment yet, so zone launches pin that
|
|
20
|
+
// one service back to org — server and web client alike — or scene-room minting fails.
|
|
21
|
+
// Drop both pins once comms-gatekeeper-local is deployed on zone.
|
|
22
|
+
const ORG_PREVIEW_GATEKEEPER = 'https://comms-gatekeeper-local.decentraland.org';
|
|
23
|
+
/** Extra query params for the web client under a non-default environment. */
|
|
24
|
+
function webExplorerEnvParams(dclenv) {
|
|
25
|
+
if (dclenv !== 'zone')
|
|
26
|
+
return '';
|
|
27
|
+
return `&previewGatekeeper=${encodeURIComponent(ORG_PREVIEW_GATEKEEPER)}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Environment args for the locally-spawned engine. `--base-domain` re-points every backend
|
|
31
|
+
* host the engine composes, Pulse included; the gatekeeper pin is the temporary exception.
|
|
32
|
+
*/
|
|
33
|
+
function engineEnvArgs(dclenv) {
|
|
34
|
+
if (dclenv !== 'zone')
|
|
35
|
+
return [];
|
|
36
|
+
return ['--base-domain=decentraland.zone', `--preview-gatekeeper=${ORG_PREVIEW_GATEKEEPER}`];
|
|
37
|
+
}
|
|
38
|
+
/** Pulse endpoint for deep-linked native clients (ENet); undefined = the client's default. */
|
|
39
|
+
function pulseServerNative(dclenv) {
|
|
40
|
+
return dclenv === 'zone' ? 'pulse-server.decentraland.zone:7777' : undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Pulse params for the mobile preview deep link: the LSD realm key — stated explicitly so a
|
|
44
|
+
* phone-side explorer can join the partition without re-deriving it — plus the environment's
|
|
45
|
+
* Pulse endpoint when it is not the production default.
|
|
46
|
+
*/
|
|
47
|
+
function lsdDeepLinkPulseParams(projectRoot, dclenv) {
|
|
48
|
+
const server = pulseServerNative(dclenv);
|
|
49
|
+
return `&pulse-realm=${encodeURIComponent((0, lsd_realm_1.lsdRealmKey)(projectRoot))}` + (server ? `&pulse-server=${server}` : '');
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=dcl-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dcl-env.js","sourceRoot":"","sources":["../../../src/commands/start/dcl-env.ts"],"names":[],"mappings":";;AAOA,gDAIC;AAQD,oDAGC;AAMD,sCAGC;AAGD,8CAEC;AAOD,wDAGC;AA9CD,uFAAuF;AACvF,0FAA0F;AAC1F,0FAA0F;AAC1F,wFAAwF;AACxF,oFAAoF;AACpF,qDAAmD;AAEnD,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,qFAAqF;IACrF,qFAAqF;IACrF,OAAO,wBAAwB,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAA;AAC/E,CAAC;AAED,0FAA0F;AAC1F,uFAAuF;AACvF,kEAAkE;AAClE,MAAM,sBAAsB,GAAG,iDAAiD,CAAA;AAEhF,6EAA6E;AAC7E,SAAgB,oBAAoB,CAAC,MAAc;IACjD,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,CAAA;IAChC,OAAO,sBAAsB,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,CAAA;AAC3E,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,MAAc;IAC1C,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,CAAA;IAChC,OAAO,CAAC,iCAAiC,EAAE,wBAAwB,sBAAsB,EAAE,CAAC,CAAA;AAC9F,CAAC;AAED,8FAA8F;AAC9F,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,WAAmB,EAAE,MAAc;IACxE,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,gBAAgB,kBAAkB,CAAC,IAAA,uBAAW,EAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACnH,CAAC"}
|
|
@@ -38,6 +38,7 @@ export declare const args: {
|
|
|
38
38
|
'--multi-instance': BooleanConstructor;
|
|
39
39
|
'--asset-bundles': BooleanConstructor;
|
|
40
40
|
'--no-client': BooleanConstructor;
|
|
41
|
+
'--no-server': BooleanConstructor;
|
|
41
42
|
'--mcp': BooleanConstructor;
|
|
42
43
|
'--mcp-port': NumberConstructor;
|
|
43
44
|
};
|
|
@@ -66,6 +66,8 @@ const beautiful_logs_1 = require("../../logic/beautiful-logs");
|
|
|
66
66
|
const project_validations_1 = require("../../logic/project-validations");
|
|
67
67
|
const explorer_alpha_1 = require("./explorer-alpha");
|
|
68
68
|
const utils_1 = require("./utils");
|
|
69
|
+
const multiplayer_server_1 = require("./multiplayer-server");
|
|
70
|
+
const dcl_env_1 = require("./dcl-env");
|
|
69
71
|
exports.args = (0, args_1.declareArgs)({
|
|
70
72
|
'--dir': String,
|
|
71
73
|
'--help': Boolean,
|
|
@@ -101,6 +103,7 @@ exports.args = (0, args_1.declareArgs)({
|
|
|
101
103
|
'--multi-instance': Boolean,
|
|
102
104
|
'--asset-bundles': Boolean,
|
|
103
105
|
'--no-client': Boolean,
|
|
106
|
+
'--no-server': Boolean,
|
|
104
107
|
'--mcp': Boolean,
|
|
105
108
|
'--mcp-port': Number
|
|
106
109
|
});
|
|
@@ -119,7 +122,7 @@ async function help(options) {
|
|
|
119
122
|
--web3 (deprecated) No effect. Kept for backwards compatibility
|
|
120
123
|
--skip-build Skip build and only serve the files in preview mode
|
|
121
124
|
--debug Enables Debug panel mode inside DCL Explorer (default=true)
|
|
122
|
-
--dclenv Decentraland Environment. Which environment to use for the content. This determines the catalyst server used, asset-bundles, etc. Possible values: org, zone, today. (default=org)
|
|
125
|
+
--dclenv Decentraland Environment. Which environment to use for the content. This determines the catalyst server used, asset-bundles, etc., plus the bevy-web domain and the Pulse comms server for the preview. Possible values: org, zone, today. (default=org)
|
|
123
126
|
--realm Realm used to serve the content. (default=Localhost)
|
|
124
127
|
--local-scene Enable local scene development.
|
|
125
128
|
--position Initial Position to start the explorer. (default=position defined at scene.json)
|
|
@@ -131,6 +134,7 @@ async function help(options) {
|
|
|
131
134
|
--multi-instance Allow running multiple Explorer instances simultaneously.
|
|
132
135
|
--asset-bundles Preview with optimized asset bundles (forwarded as local-ab=true in the deep link; the Desktop Explorer converts the scene's assets itself).
|
|
133
136
|
--no-client Suppress every auto-launch (desktop Explorer deeplink, browser open, mobile QR). The file watcher still notifies a desktop Explorer if it connects on its own — useful when an external tool owns the Explorer process.
|
|
137
|
+
--no-server Do not spawn the Multiplayer Server. Use it when another preview of this project already runs one: two servers for the same scene fight over the scene room.
|
|
134
138
|
--mcp Enable the MCP server in the Explorer (forwarded as a deep link parameter).
|
|
135
139
|
--mcp-port Port for the MCP server in the Explorer (forwarded as a deep link parameter).
|
|
136
140
|
|
|
@@ -163,8 +167,10 @@ async function main(options) {
|
|
|
163
167
|
const withDataLayer = options.args['--data-layer'];
|
|
164
168
|
const isHub = !!options.args['--hub'];
|
|
165
169
|
const skipClient = !!options.args['--no-client'];
|
|
170
|
+
const skipServer = !!options.args['--no-server'];
|
|
166
171
|
const bevyWeb = !!options.args['--bevy-web'];
|
|
167
172
|
const isMobile = !!options.args['--mobile'];
|
|
173
|
+
const dclenv = options.args['--dclenv'] || 'org';
|
|
168
174
|
const explorerAlpha = !bevyWeb;
|
|
169
175
|
const workspace = await (0, workspace_validations_1.getValidWorkspace)(options.components, workingDirectory);
|
|
170
176
|
/* istanbul ignore if */
|
|
@@ -197,9 +203,12 @@ async function main(options) {
|
|
|
197
203
|
const config = (0, env_config_provider_1.createRecordConfigComponent)({
|
|
198
204
|
HTTP_SERVER_PORT: port.toString(),
|
|
199
205
|
HTTP_SERVER_HOST: '0.0.0.0',
|
|
206
|
+
// the embedded comms server (RoomsComponent/LinearProtocol) logs every
|
|
207
|
+
// connect/disconnect at DEBUG; LOG_LEVEL=DEBUG in the env re-enables it
|
|
208
|
+
LOG_LEVEL: 'INFO',
|
|
200
209
|
...process.env
|
|
201
210
|
});
|
|
202
|
-
const logs = await (0, logger_1.createConsoleLogComponent)({});
|
|
211
|
+
const logs = await (0, logger_1.createConsoleLogComponent)({ config });
|
|
203
212
|
const ws = await (0, ws_1.createWsComponent)({ logs });
|
|
204
213
|
const server = await (0, http_server_1.createServerComponent)({ config, ws: ws.ws, logs }, { cors: {} });
|
|
205
214
|
const rooms = await (0, rooms_1.createRoomsComponent)({
|
|
@@ -232,13 +241,15 @@ async function main(options) {
|
|
|
232
241
|
components.logger.error(e);
|
|
233
242
|
}
|
|
234
243
|
}
|
|
235
|
-
await (0, routes_1.wireRouter)(components, workspace, dataLayer);
|
|
244
|
+
await (0, routes_1.wireRouter)(components, workspace, dataLayer, dclenv);
|
|
236
245
|
if (watch) {
|
|
237
246
|
for (const project of workspace.projects) {
|
|
238
247
|
await (0, file_watch_notifier_1.wireFileWatcherToWebSockets)(components, project.workingDirectory, project.kind);
|
|
239
248
|
}
|
|
240
249
|
}
|
|
241
250
|
await startComponents();
|
|
251
|
+
const project = workspace.projects[0];
|
|
252
|
+
const multiplayerServerReady = project && !skipServer ? (0, multiplayer_server_1.spawnAuthServer)(components, project, `http://localhost:${port}`, dclenv) : undefined;
|
|
242
253
|
const networkInterfaces = os.networkInterfaces();
|
|
243
254
|
const availableURLs = [];
|
|
244
255
|
(0, beautiful_logs_1.printProgressInfo)(options.components.logger, 'Preview server is now running!');
|
|
@@ -256,23 +267,30 @@ async function main(options) {
|
|
|
256
267
|
const sortedURLs = availableURLs.sort((a, _b) => {
|
|
257
268
|
return a.toLowerCase().includes('localhost') || a.includes('127.0.0.1') || a.includes('0.0.0.0') ? -1 : 1;
|
|
258
269
|
});
|
|
259
|
-
|
|
270
|
+
// no pulse override needed: the zone-hosted page derives its base domain — and with
|
|
271
|
+
// it its pulse-server fallback — from its own host (see dcl-env.ts)
|
|
272
|
+
const bevyUrl = `${(0, dcl_env_1.webExplorerBaseUrl)(dclenv)}?preview=true&realm=${new URL(sortedURLs[0]).origin}` +
|
|
273
|
+
`&position=${baseCoords.x},${baseCoords.y}${(0, dcl_env_1.webExplorerEnvParams)(dclenv)}`;
|
|
260
274
|
if (bevyWeb) {
|
|
261
275
|
components.logger.log('Available on:\n');
|
|
262
276
|
components.logger.log(` ${bevyUrl}`);
|
|
263
277
|
(0, beautiful_logs_1.printWarning)(components.logger, 'Chromium-based browsers require permission for websites to reach localhost (Local Network Access).\n' +
|
|
264
278
|
'When the browser asks to access apps on your device, click "Allow".\n' +
|
|
265
279
|
'If the scene never loads and no prompt appears, enable it manually and reload:\n' +
|
|
266
|
-
|
|
280
|
+
` chrome://settings/content/siteDetails?site=${encodeURIComponent(new URL(bevyUrl).origin)}\n` +
|
|
267
281
|
' → "Apps on device" (Chrome 145+) or "Local network access" (Chrome 142-144) → Allow');
|
|
268
282
|
}
|
|
269
283
|
components.logger.log('\nPress CTRL+C to exit\n');
|
|
284
|
+
const launchesClient = !skipClient && !isMobile && (explorerAlpha || openBrowser);
|
|
285
|
+
if (multiplayerServerReady && launchesClient) {
|
|
286
|
+
await (0, multiplayer_server_1.waitForServerReady)(components, multiplayerServerReady);
|
|
287
|
+
}
|
|
270
288
|
if (explorerAlpha && !isMobile && !skipClient) {
|
|
271
289
|
const realm = new URL(sortedURLs[0]).origin;
|
|
272
290
|
await (0, explorer_alpha_1.runExplorerAlpha)(components, { cwd: workingDirectory, realm, baseCoords, isHub, args: options.args });
|
|
273
291
|
}
|
|
274
292
|
if (isMobile && !skipClient && lanUrl) {
|
|
275
|
-
const deepLink = `decentraland://open?preview=${lanUrl}&position=${baseCoords.x},${baseCoords.y}`;
|
|
293
|
+
const deepLink = `decentraland://open?preview=${lanUrl}&position=${baseCoords.x},${baseCoords.y}${(0, dcl_env_1.lsdDeepLinkPulseParams)(workspace.projects[0].workingDirectory, dclenv)}`;
|
|
276
294
|
qrcode_1.default.toString(deepLink, { type: 'terminal', small: true }, (err, qr) => {
|
|
277
295
|
if (!err) {
|
|
278
296
|
components.logger.log(log_1.colors.bold('\nScan to preview on mobile: \n'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ChildProcess } from 'child_process';
|
|
2
|
+
import { CliComponents } from '../../components';
|
|
3
|
+
import { PreviewComponents } from './types';
|
|
4
|
+
import { ProjectUnion } from '../../logic/project-validations';
|
|
5
|
+
type ServerEngine = 'bevy' | 'hammurabi';
|
|
6
|
+
export type MultiplayerServer = {
|
|
7
|
+
child: ChildProcess;
|
|
8
|
+
/** true once the process survived the startup grace window, false if it errored or exited first. */
|
|
9
|
+
ready: Promise<boolean>;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Starts the Multiplayer Server process using npx to install and run in one step
|
|
13
|
+
*/
|
|
14
|
+
export declare function startMultiplayerServer(components: Pick<CliComponents, 'logger' | 'analytics'>, workingDir: string, realm: string, engine?: ServerEngine, engineArgs?: string[], position?: {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
}): MultiplayerServer;
|
|
18
|
+
/** Waits for the server process to come up, fail, or time out. */
|
|
19
|
+
export declare function waitForServerReady(components: Pick<CliComponents, 'logger'>, ready: Promise<boolean>, timeoutMs?: number): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Spawns the multiplayer server for the project.
|
|
22
|
+
* In the auth-server SDK, all scenes are authoritative multiplayer.
|
|
23
|
+
* Uses npx to handle installation and execution in a single step (works in Electron).
|
|
24
|
+
*
|
|
25
|
+
* Which implementation runs is chosen by DCL_SERVER_ENGINE (bevy | hammurabi), defaulting
|
|
26
|
+
* to bevy. When bevy reports itself unavailable on this machine (exit 78) the preview is
|
|
27
|
+
* aborted with instructions to opt into hammurabi — there is no automatic fallback.
|
|
28
|
+
*
|
|
29
|
+
* @param components - Preview components including logger
|
|
30
|
+
* @param project - The project to start the multiplayer server for
|
|
31
|
+
* @param realm - The realm URL to pass to the server
|
|
32
|
+
* @returns The readiness promise, or undefined when the server could not be spawned
|
|
33
|
+
*/
|
|
34
|
+
export declare function spawnAuthServer(components: PreviewComponents, project: ProjectUnion, realm: string, dclenv?: string): Promise<boolean> | undefined;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.startMultiplayerServer = startMultiplayerServer;
|
|
4
|
+
exports.waitForServerReady = waitForServerReady;
|
|
5
|
+
exports.spawnAuthServer = spawnAuthServer;
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
const beautiful_logs_1 = require("../../logic/beautiful-logs");
|
|
8
|
+
const log_1 = require("../../components/log");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
const scene_validations_1 = require("../../logic/scene-validations");
|
|
11
|
+
const future_1 = require("../../logic/future");
|
|
12
|
+
const dcl_env_1 = require("./dcl-env");
|
|
13
|
+
const HAMMURABI_PACKAGE = '@dcl/hammurabi-server';
|
|
14
|
+
const HAMMURABI_VERSION = 'next';
|
|
15
|
+
const BEVY_PACKAGE = '@dcl-regenesislabs/bevy-headless-server';
|
|
16
|
+
const BEVY_VERSION = '0.1.0-40426840234.commit-2043a68';
|
|
17
|
+
const EXIT_UNAVAILABLE = 78;
|
|
18
|
+
const CMD_METACHARACTERS = /[&|<>^%"!\r\n]/;
|
|
19
|
+
const DEFAULT_ENGINE = 'bevy';
|
|
20
|
+
function selectedEngine() {
|
|
21
|
+
const requested = process.env.DCL_SERVER_ENGINE;
|
|
22
|
+
return requested === 'bevy' || requested === 'hammurabi' ? requested : DEFAULT_ENGINE;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* npx accepts a directory or tarball as well as a registry spec, so pointing
|
|
26
|
+
* DCL_SERVER_PACKAGE at a local build exercises this spawn path without publishing.
|
|
27
|
+
*/
|
|
28
|
+
function packageSpec(engine) {
|
|
29
|
+
const override = process.env.DCL_SERVER_PACKAGE;
|
|
30
|
+
if (override)
|
|
31
|
+
return override;
|
|
32
|
+
return engine === 'bevy' ? `${BEVY_PACKAGE}@${BEVY_VERSION}` : `${HAMMURABI_PACKAGE}@${HAMMURABI_VERSION}`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Registers cleanup handlers on the global process object
|
|
36
|
+
* Returns a function to remove the handlers
|
|
37
|
+
*/
|
|
38
|
+
function registerProcessCleanup(cleanup) {
|
|
39
|
+
process.on('SIGTERM', cleanup);
|
|
40
|
+
process.on('SIGINT', cleanup);
|
|
41
|
+
process.on('exit', cleanup);
|
|
42
|
+
return () => {
|
|
43
|
+
process.off('SIGTERM', cleanup);
|
|
44
|
+
process.off('SIGINT', cleanup);
|
|
45
|
+
process.off('exit', cleanup);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const TRACING_PREFIX = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})\.\d+Z\s+(INFO|WARN|ERROR|DEBUG|TRACE)\s+[\w:]+:\s?/;
|
|
49
|
+
const HEARTBEAT_LINE = /^\[headless\] alive:/;
|
|
50
|
+
const SERVER_READY_GRACE_MS = 1500;
|
|
51
|
+
const SERVER_READY_TIMEOUT_MS = 10000;
|
|
52
|
+
const ANSI_CODES = /\u001b\[[0-9;]*m/g;
|
|
53
|
+
const ENGINE_NOISE = [
|
|
54
|
+
/^failed to process gltf/,
|
|
55
|
+
/^Path not found: \$ipfs/,
|
|
56
|
+
/^bevy_render feature is enabled but RenderApp was not detected/,
|
|
57
|
+
/^Could not find an asset loader matching: .* Path: Some\("embedded:\/\//
|
|
58
|
+
];
|
|
59
|
+
const SCENE_CONTEXT = /^\[\[-?\d+, -?\d+\] \d+\.\d+\] /;
|
|
60
|
+
function colorByLevel(level, message) {
|
|
61
|
+
if (level === 'WARN')
|
|
62
|
+
return log_1.colors.yellow(message);
|
|
63
|
+
if (level === 'ERROR')
|
|
64
|
+
return log_1.colors.redBright(message);
|
|
65
|
+
return message;
|
|
66
|
+
}
|
|
67
|
+
function localTime(utcTimestamp) {
|
|
68
|
+
const date = new Date(utcTimestamp + 'Z');
|
|
69
|
+
return isNaN(date.getTime()) ? '' : log_1.colors.dim(date.toTimeString().slice(0, 8)) + ' ';
|
|
70
|
+
}
|
|
71
|
+
/** Forwards a server child stream to `sink`, line by line, tagged `[Server]` and ANSI-cleaned. */
|
|
72
|
+
function forwardEngineLogs(source, sink) {
|
|
73
|
+
if (!source)
|
|
74
|
+
return;
|
|
75
|
+
const serverTag = log_1.colors.greenBright('[Server]') + ' ';
|
|
76
|
+
const writeClean = (raw) => {
|
|
77
|
+
const line = raw.replace(ANSI_CODES, '');
|
|
78
|
+
if (!line.trim())
|
|
79
|
+
return;
|
|
80
|
+
if (HEARTBEAT_LINE.test(line))
|
|
81
|
+
return;
|
|
82
|
+
const match = line.match(TRACING_PREFIX);
|
|
83
|
+
if (!match) {
|
|
84
|
+
sink.write(serverTag + line.replace(/^\[headless\] /, '') + '\n');
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const message = line.slice(match[0].length);
|
|
88
|
+
if (ENGINE_NOISE.some((pattern) => pattern.test(message)))
|
|
89
|
+
return;
|
|
90
|
+
if (SCENE_CONTEXT.test(message)) {
|
|
91
|
+
const sceneMessage = message.replace(SCENE_CONTEXT, '');
|
|
92
|
+
const sceneTag = sceneMessage.match(/^(LOG|WARN|ERROR|DEBUG) /);
|
|
93
|
+
const body = sceneTag ? sceneMessage.slice(sceneTag[0].length) : sceneMessage;
|
|
94
|
+
sink.write(serverTag + localTime(match[1]) + colorByLevel(sceneTag?.[1], body) + '\n');
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
sink.write(serverTag + localTime(match[1]) + colorByLevel(match[2], message) + '\n');
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
let pending = '';
|
|
101
|
+
source.setEncoding('utf8');
|
|
102
|
+
source.on('data', (chunk) => {
|
|
103
|
+
const lines = (pending + chunk).split('\n');
|
|
104
|
+
pending = lines.pop() ?? '';
|
|
105
|
+
lines.forEach(writeClean);
|
|
106
|
+
});
|
|
107
|
+
source.on('end', () => {
|
|
108
|
+
if (pending)
|
|
109
|
+
writeClean(pending);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Starts the Multiplayer Server process using npx to install and run in one step
|
|
114
|
+
*/
|
|
115
|
+
function startMultiplayerServer(components, workingDir, realm, engine = DEFAULT_ENGINE, engineArgs = [], position) {
|
|
116
|
+
const pkg = packageSpec(engine);
|
|
117
|
+
(0, beautiful_logs_1.printProgressInfo)(components.logger, `Starting ${log_1.colors.bold('Multiplayer Server')} (${engine}) with realm: ${log_1.colors.bold(realm)}`);
|
|
118
|
+
const npxArgs = ['--yes', pkg, `--realm=${realm}`, ...engineArgs];
|
|
119
|
+
if (position)
|
|
120
|
+
npxArgs.push(`--position=${position.x},${position.y}`);
|
|
121
|
+
const npxCliJs = (0, utils_1.findNpxCliJs)();
|
|
122
|
+
const npxPath = npxCliJs ? null : (0, utils_1.findNpxBin)();
|
|
123
|
+
if (!npxCliJs && !npxPath) {
|
|
124
|
+
throw new Error('npx-cli.js and npx were not found in a trusted location');
|
|
125
|
+
}
|
|
126
|
+
const useShell = !!npxPath && process.platform === 'win32';
|
|
127
|
+
if (useShell) {
|
|
128
|
+
const unsafe = npxArgs.find((arg) => CMD_METACHARACTERS.test(arg));
|
|
129
|
+
if (unsafe)
|
|
130
|
+
throw new Error(`refusing to run npx through the shell with argument ${JSON.stringify(unsafe)}`);
|
|
131
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `npx-cli.js not found next to ${process.execPath} or any npm on PATH; running ${npxPath} through the shell`);
|
|
132
|
+
}
|
|
133
|
+
const env = (0, utils_1.isElectronEnvironment)()
|
|
134
|
+
? { ...(0, utils_1.getSpawnEnv)(), npm_config_prefix: workingDir }
|
|
135
|
+
: { ...(0, utils_1.getSpawnEnv)() };
|
|
136
|
+
if (engine === 'bevy' && !env.RUST_LOG) {
|
|
137
|
+
env.RUST_LOG = 'warn,scene_runner::renderer_context=info';
|
|
138
|
+
}
|
|
139
|
+
const stdio = ['inherit', 'pipe', 'pipe'];
|
|
140
|
+
const serverProcess = npxCliJs
|
|
141
|
+
? (0, child_process_1.spawn)(process.execPath, [npxCliJs, ...npxArgs], { cwd: workingDir, shell: false, stdio, env })
|
|
142
|
+
: (0, child_process_1.spawn)(useShell ? `"${npxPath}"` : npxPath, useShell ? npxArgs.map((arg) => `"${arg}"`) : npxArgs, {
|
|
143
|
+
cwd: workingDir,
|
|
144
|
+
shell: useShell,
|
|
145
|
+
stdio,
|
|
146
|
+
env
|
|
147
|
+
});
|
|
148
|
+
forwardEngineLogs(serverProcess.stdout, process.stdout);
|
|
149
|
+
forwardEngineLogs(serverProcess.stderr, process.stderr);
|
|
150
|
+
const ready = (0, future_1.future)();
|
|
151
|
+
let graceTimer;
|
|
152
|
+
serverProcess.on('spawn', () => {
|
|
153
|
+
graceTimer = setTimeout(() => ready.resolve(true), SERVER_READY_GRACE_MS);
|
|
154
|
+
});
|
|
155
|
+
serverProcess.on('error', (error) => {
|
|
156
|
+
clearTimeout(graceTimer);
|
|
157
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Multiplayer Server process error: ${error.message}`);
|
|
158
|
+
ready.resolve(false);
|
|
159
|
+
});
|
|
160
|
+
const cleanup = () => {
|
|
161
|
+
if (!serverProcess.killed) {
|
|
162
|
+
serverProcess.kill('SIGTERM');
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const removeCleanup = registerProcessCleanup(cleanup);
|
|
166
|
+
serverProcess.on('close', (code, signal) => {
|
|
167
|
+
removeCleanup();
|
|
168
|
+
clearTimeout(graceTimer);
|
|
169
|
+
ready.resolve(false);
|
|
170
|
+
if (code !== 0 && code !== null) {
|
|
171
|
+
components.analytics.track('Multiplayer server exited', {
|
|
172
|
+
engine,
|
|
173
|
+
exitCode: code,
|
|
174
|
+
unavailable: code === EXIT_UNAVAILABLE
|
|
175
|
+
});
|
|
176
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Multiplayer Server exited with code ${code}. The preview keeps running without it, ` +
|
|
177
|
+
`but clients wait for state sync (\`isStateSyncronized()\` stays false) until a server joins the scene room.`);
|
|
178
|
+
}
|
|
179
|
+
else if (signal && signal !== 'SIGTERM' && signal !== 'SIGINT') {
|
|
180
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Multiplayer Server terminated by signal ${signal}`);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
return { child: serverProcess, ready };
|
|
184
|
+
}
|
|
185
|
+
/** Waits for the server process to come up, fail, or time out. */
|
|
186
|
+
async function waitForServerReady(components, ready, timeoutMs = SERVER_READY_TIMEOUT_MS) {
|
|
187
|
+
(0, beautiful_logs_1.printProgressInfo)(components.logger, 'Waiting for the Multiplayer Server to start...');
|
|
188
|
+
let timer;
|
|
189
|
+
const timeout = new Promise((resolve) => {
|
|
190
|
+
timer = setTimeout(() => resolve('timeout'), timeoutMs);
|
|
191
|
+
});
|
|
192
|
+
const result = await Promise.race([ready, timeout]);
|
|
193
|
+
clearTimeout(timer);
|
|
194
|
+
if (result === true) {
|
|
195
|
+
(0, beautiful_logs_1.printProgressInfo)(components.logger, `${log_1.colors.bold('Multiplayer Server')} is ready`);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
const reason = result === 'timeout' ? `is not ready after ${timeoutMs / 1000}s` : 'is not running';
|
|
199
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Multiplayer Server ${reason}. Opening the client anyway; state sync completes once a server joins the scene room.`);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Spawns the multiplayer server for the project.
|
|
203
|
+
* In the auth-server SDK, all scenes are authoritative multiplayer.
|
|
204
|
+
* Uses npx to handle installation and execution in a single step (works in Electron).
|
|
205
|
+
*
|
|
206
|
+
* Which implementation runs is chosen by DCL_SERVER_ENGINE (bevy | hammurabi), defaulting
|
|
207
|
+
* to bevy. When bevy reports itself unavailable on this machine (exit 78) the preview is
|
|
208
|
+
* aborted with instructions to opt into hammurabi — there is no automatic fallback.
|
|
209
|
+
*
|
|
210
|
+
* @param components - Preview components including logger
|
|
211
|
+
* @param project - The project to start the multiplayer server for
|
|
212
|
+
* @param realm - The realm URL to pass to the server
|
|
213
|
+
* @returns The readiness promise, or undefined when the server could not be spawned
|
|
214
|
+
*/
|
|
215
|
+
function spawnAuthServer(components, project, realm, dclenv = 'org') {
|
|
216
|
+
const engine = selectedEngine();
|
|
217
|
+
try {
|
|
218
|
+
const server = startMultiplayerServer(components, project.workingDirectory, realm, engine, engine === 'bevy' ? (0, dcl_env_1.engineEnvArgs)(dclenv) : [], (0, scene_validations_1.getBaseCoords)(project.scene));
|
|
219
|
+
void components.signaler.programClosed
|
|
220
|
+
.then(() => {
|
|
221
|
+
if (!server.child.killed)
|
|
222
|
+
server.child.kill('SIGTERM');
|
|
223
|
+
})
|
|
224
|
+
.catch(() => { });
|
|
225
|
+
if (engine === 'bevy') {
|
|
226
|
+
server.child.on('close', (code) => {
|
|
227
|
+
if (code !== EXIT_UNAVAILABLE)
|
|
228
|
+
return;
|
|
229
|
+
const { logger } = components;
|
|
230
|
+
logger.error(`The bevy multiplayer server (${packageSpec(engine)}) cannot run on this machine ` +
|
|
231
|
+
`(exit ${EXIT_UNAVAILABLE}: unsupported platform or missing binary — ${process.platform}-${process.arch}).`);
|
|
232
|
+
logger.error(`To run the preview with the hammurabi server instead:`);
|
|
233
|
+
logger.error(` DCL_SERVER_ENGINE=hammurabi npm start`);
|
|
234
|
+
void components.analytics.stop().finally(() => process.exit(EXIT_UNAVAILABLE));
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
return server.ready;
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Failed to start Multiplayer Server: ${error.message}`);
|
|
241
|
+
return undefined;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=multiplayer-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiplayer-server.js","sourceRoot":"","sources":["../../../src/commands/start/multiplayer-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,4 @@ import { Workspace } from '../../../logic/workspace-validations';
|
|
|
3
3
|
import { DataLayer } from '../data-layer/rpc';
|
|
4
4
|
import { PreviewComponents } from '../types';
|
|
5
5
|
export declare const sceneUpdateClients: Set<WebSocket>;
|
|
6
|
-
export declare function wireRouter(components: PreviewComponents, workspace: Workspace, dataLayer?: DataLayer): Promise<void>;
|
|
6
|
+
export declare function wireRouter(components: PreviewComponents, workspace: Workspace, dataLayer?: DataLayer, dclenv?: string): Promise<void>;
|
|
@@ -10,10 +10,12 @@ const http_server_1 = require("@well-known-components/http-server");
|
|
|
10
10
|
const ws_1 = require("@well-known-components/http-server/dist/ws");
|
|
11
11
|
const ws_2 = require("../data-layer/ws");
|
|
12
12
|
const endpoints_1 = require("./endpoints");
|
|
13
|
+
const storage_service_1 = require("./storage-service");
|
|
13
14
|
const realm_1 = require("./realm");
|
|
14
15
|
const utils_1 = require("../utils");
|
|
16
|
+
const dcl_env_1 = require("../dcl-env");
|
|
15
17
|
exports.sceneUpdateClients = new Set();
|
|
16
|
-
async function wireRouter(components, workspace, dataLayer) {
|
|
18
|
+
async function wireRouter(components, workspace, dataLayer, dclenv = 'org') {
|
|
17
19
|
const router = new http_server_1.Router();
|
|
18
20
|
if (dataLayer) {
|
|
19
21
|
router.get('/data-layer', async (ctx, next) => {
|
|
@@ -46,7 +48,8 @@ async function wireRouter(components, workspace, dataLayer) {
|
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
50
|
const [x, y] = baseParcel.split(',');
|
|
49
|
-
|
|
51
|
+
// same Pulse params as the terminal QR in start/index.ts
|
|
52
|
+
const deepLink = `decentraland://open?preview=${lanUrl}&position=${x},${y}${(0, dcl_env_1.lsdDeepLinkPulseParams)(workspace.projects[0].workingDirectory, dclenv)}`;
|
|
50
53
|
const qrDataUrl = await qrcode_1.default.toDataURL(deepLink);
|
|
51
54
|
return {
|
|
52
55
|
headers: { 'content-type': 'application/json' },
|
|
@@ -60,6 +63,7 @@ async function wireRouter(components, workspace, dataLayer) {
|
|
|
60
63
|
};
|
|
61
64
|
});
|
|
62
65
|
(0, realm_1.setupRealmAndComms)(components, router, localSceneParcels);
|
|
66
|
+
(0, storage_service_1.setupStorageEndpoints)(components, router, workspace);
|
|
63
67
|
await (0, endpoints_1.setupEcs6Endpoints)(components, router, workspace);
|
|
64
68
|
components.server.setContext(components);
|
|
65
69
|
components.server.use(router.allowedMethods());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/commands/start/server/routes.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/commands/start/server/routes.ts"],"names":[],"mappings":"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"}
|