hytopia 0.10.0-prerelease-8 → 0.10.0-prerelease-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.
- package/bin/scripts.js +12 -7
- package/package.json +1 -1
- package/server.js +1 -1
package/bin/scripts.js
CHANGED
@@ -105,7 +105,7 @@ function start() {
|
|
105
105
|
restartTimer = setTimeout(startNode, 100);
|
106
106
|
};
|
107
107
|
|
108
|
-
const
|
108
|
+
const ctx = await esbuild.context({
|
109
109
|
entryPoints: ['index.ts'],
|
110
110
|
outfile: './index.mjs',
|
111
111
|
bundle: true,
|
@@ -113,19 +113,24 @@ function start() {
|
|
113
113
|
platform: 'node',
|
114
114
|
target: 'node24',
|
115
115
|
sourcemap: 'inline',
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
116
|
+
plugins: [{
|
117
|
+
name: 'restart-on-end',
|
118
|
+
setup(build) {
|
119
|
+
build.onEnd((result) => {
|
120
|
+
if (!result.errors?.length) scheduleRestart();
|
121
|
+
});
|
120
122
|
}
|
121
|
-
}
|
123
|
+
}]
|
122
124
|
});
|
123
125
|
|
124
|
-
|
126
|
+
await ctx.rebuild();
|
127
|
+
startNode();
|
128
|
+
await ctx.watch();
|
125
129
|
|
126
130
|
const cleanup = async () => {
|
127
131
|
if (restartTimer) clearTimeout(restartTimer);
|
128
132
|
stopNode();
|
133
|
+
try { await ctx.dispose(); } catch {}
|
129
134
|
process.exit(0);
|
130
135
|
};
|
131
136
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "hytopia",
|
3
|
-
"version": "0.10.0-prerelease-
|
3
|
+
"version": "0.10.0-prerelease-9",
|
4
4
|
"description": "The HYTOPIA SDK makes it easy for developers to create massively multiplayer games using JavaScript or TypeScript.",
|
5
5
|
"type": "module",
|
6
6
|
"main": "./server.js",
|
package/server.js
CHANGED
@@ -442,7 +442,7 @@ qYGMwU/HBVHkLAn5XvT2a9xM0mzZ558d+ahbw8qAgRxg7BZ+2PW/bf7F2WRBUk1f
|
|
442
442
|
xauhAoGBALEspoxQozwohGQnP7EMF0/0JoKNpdNv0b0qCVvNiMo0+N297lI2mFQp
|
443
443
|
6xYlW/1l9afLokklF/J2IsyBrTCZoY7SaEk/lMMrQSyra+y0z71ogZ8A4ny9fxsj
|
444
444
|
0dDYJZGllL+3E/MQfd7k+KnOM/+A+cPoAnci76+L3vdkUb2P8SJk
|
445
|
-
-----END RSA PRIVATE KEY-----`;var IE=process.env.PORT??8080,fE="0.10.0-prerelease-
|
445
|
+
-----END RSA PRIVATE KEY-----`;var IE=process.env.PORT??8080,fE="0.10.0-prerelease-9",_E;((Y)=>{Y.READY="WEBSERVER.READY";Y.STOPPED="WEBSERVER.STOPPED";Y.ERROR="WEBSERVER.ERROR";Y.UPGRADE="WEBSERVER.UPGRADE"})(_E||={});class D3 extends L0{static instance=new D3;_webserver=k2.default();_internalHttpServer;constructor(){super();this._webserver.use((Z,J,X)=>{J.header("Access-Control-Allow-Origin","*"),X()}),this._webserver.get("/",(Z,J)=>{J.json({status:"OK",version:fE,runtime:"node"})}),this._webserver.use(k2.default.static("assets"));try{this._webserver.use(k2.default.static(tn1.dirname(p.resolve("/Users/arkdev/Desktop/HYTOPIA/hytopia/assets/release/index.js"))))}catch{}}start(){if(!this._internalHttpServer)this._internalHttpServer=process.env.NODE_ENV==="production"?on1.createServer(this._webserver):rn1.createServer({key:T2.existsSync("assets/certs/localhost.key")?T2.readFileSync("assets/certs/localhost.key"):cQ0,cert:T2.existsSync("assets/certs/localhost.crt")?T2.readFileSync("assets/certs/localhost.crt"):jQ0},this._webserver),this._internalHttpServer.on("upgrade",this._onUpgrade),this._internalHttpServer.on("error",this._onError),this._internalHttpServer.on("close",this._onStopped);else y.warning("WebServer.start(): server already started!");this._internalHttpServer.listen(IE,this._onStarted),console.info(`WebServer.start(): Server running on port ${IE}.`)}stop(){if(this._internalHttpServer)return new Promise((Z,J)=>{this._internalHttpServer.close((X)=>{if(X)J(X);else Z(!0)})});else return y.warning("WebServer.stop(): server not started."),Promise.resolve(!1)}_onStarted=()=>{this.emitWithGlobal("WEBSERVER.READY",{})};_onUpgrade=async(Z,J,X)=>{let $=en1.parse(Z.url??"",!0).query,Y=$.connectionId?.toString(),Q=$.sessionToken?.toString()??"";if(Y&&C7.instance.isValidConnectionId(Y))Z.connectionId=Y;else{let K=await x7.instance.getPlayerSession(Q);if(K?.error){let W=`${K.error.code}: ${K.error.message}`;J.write(`HTTP/1.1 401 Unauthorized\r
|
446
446
|
Content-Type: text/plain\r
|
447
447
|
Content-Length: ${W.length}\r
|
448
448
|
Connection: close\r
|