diff --git a/src/lib/classes/Job.js b/src/lib/classes/Job.js index 54778b2..4757f84 100644 --- a/src/lib/classes/Job.js +++ b/src/lib/classes/Job.js @@ -5,7 +5,7 @@ const RCCService = require("./RCCService.js") const logger = require("../logger.js") class Job extends RCCService { - constructor({ id = randomUUID(), expirationInSeconds = 10, category = 0, cores = 1 } = {}) { + constructor({ id = randomUUID(), expirationInSeconds = 60, category = 0, cores = 1 } = {}) { super() this.id = id this.expirationInSeconds = expirationInSeconds diff --git a/src/lib/classes/RenderJob.js b/src/lib/classes/RenderJob.js index 78f0139..0d14dd3 100644 --- a/src/lib/classes/RenderJob.js +++ b/src/lib/classes/RenderJob.js @@ -136,11 +136,6 @@ class RenderJob extends Job { } async RenderPlace(id) { - const response = await axios(`${process.env.BASE_URL}/API/Game/${id}?t=${process.env.ARBITER_TOKEN}`).catch((_) => reject(_)) - const { server_token, server_port, server_owner_id } = response.data - - this.id = server_token - const running = this.started if (!running) { const started = await this.Start() @@ -166,6 +161,7 @@ class RenderJob extends Job { { type: "LUA_TSTRING", value: process.env.BASE_URL }, { type: "LUA_TNUMBER", value: id }, + { type: "LUA_TSTRING", value: process.env.ARBITER_TOKEN }, ], }, }).catch((e) => false) diff --git a/src/lib/randport.js b/src/lib/randport.js index 34dfa5f..0da19fa 100644 --- a/src/lib/randport.js +++ b/src/lib/randport.js @@ -13,7 +13,7 @@ exports.tcp = () => { exports.udp = () => { return new Promise((resolve) => { - const server = dgram.createSocket() + const server = dgram.createSocket("udp4") server.bind(Math.random() * (60_000 - 50_000) + 50_000, () => { const port = server.address().port server.close((err) => resolve(port)) diff --git a/src/routes/render/game.js b/src/routes/render/game.js index 5962c24..a2e4c51 100644 --- a/src/routes/render/game.js +++ b/src/routes/render/game.js @@ -3,16 +3,14 @@ const app = express.Router() const RenderJob = require("../../lib/classes/RenderJob.js") -// app.get("/:id", async (request, response) => { -// const job = new RenderJob() -// const result = await job.RenderPlace(request.params.id, process.env.RENDER_BASE64).catch((_) => _) +app.get("/:id", async (request, response) => { + const { params, query } = request + const job = new RenderJob() -// if (result?.message) return response.status(500).json({ error: result.message }) -// else return response.end(result) -// }) + const game = await job.RenderPlace(params.id).catch((_) => _) + if (game?.message) return response.status(500).json({ error: game.message }) -app.get("*", (request, response) => { - response.status(501).end("Not Implemented") + return response.end(game) }) module.exports = app