diff --git a/example.env b/example.env index acc1c6a..62cd812 100644 --- a/example.env +++ b/example.env @@ -1,11 +1,10 @@ +PORT= RCCSERVICE= -ARBITER_TOKEN= -ARBITER_PASSWORD= -accessKey= BASE_URL=https://kapish.fun -RENDER_FORMAT=PNG +ARBITER_TOKEN= +ARBITER_KEY= RENDER_USER_WIDTH=420 RENDER_USER_HEIGHT=420 diff --git a/src/index.js b/src/index.js index 14b711a..10fd3cc 100644 --- a/src/index.js +++ b/src/index.js @@ -6,13 +6,11 @@ const logger = require("./lib/logger.js") if (process.platform == "linux") logger.warn("Game hosting might not be fully compatible with Linux") -global.games = new Map() - -setInterval(() => { - global.games.forEach(async (value, key) => { - if (!(await value.Running())) value.Stop() - }) -}, 15000) +app.use(({ query }, response, next) => { + if (!query.key) return response.status(400).json({ error: "Missing key in query" }) + if (query.key !== process.env.ARBITER_KEY) return response.status(403).json({ error: "Incorrect key in query" }) + next() +}) const validateQueryParam = (req, res, next) => { const myQueryParam = process.env.accessKey; @@ -33,17 +31,19 @@ app.use("/game/status", require("./routes/game/status.js")) app.use("/game/execute", require("./routes/game/execute.js")) app.use("/render/asset", require("./routes/render/asset.js")) -//app.use("/render/game", require("./routes/render/game.js")) -//app.use("/render/texture", require("./routes/render/texture.js")) +app.use("/render/game", require("./routes/render/game.js")) +app.use("/render/texture", require("./routes/render/texture.js")) app.use("/render/user", require("./routes/render/user.js")) app.use("/render/texture", require("./routes/render/texture.js")) app.use("*", require("./routes/index.js")) -app.listen(process.env.PORT || 64989, () => { - logger.boot(`Listening on http://127.0.0.1:${process.env.PORT || 64989}/`) -}) +process.on("uncaughtException", (err) => logger.error(err.message)) +global.games = new Map() +setInterval(() => { + global.games.forEach(async (value, key) => { + if (!(await value.Running())) value.Stop() + }) +}, 15000) -process.on("uncaughtException", (err) => { - logger.error(err.message) -}) +app.listen(process.env.PORT, () => logger.boot(`Listening on http://127.0.0.1:${process.env.PORT}/`)) diff --git a/src/lib/classes/GameJob.js b/src/lib/classes/GameJob.js index 6380fde..ef5a24c 100644 --- a/src/lib/classes/GameJob.js +++ b/src/lib/classes/GameJob.js @@ -30,9 +30,7 @@ class GameJob extends Job { { type: "LUA_TSTRING", value: process.env.BASE_URL }, { type: "LUA_TNUMBER", value: id }, - { type: "LUA_TNUMBER", value: 0 }, - { type: "LUA_TNUMBER", value: 0 }, - { type: "LUA_TSTRING", value: process.env.ARBITER_TOKEN }, + { type: "LUA_TNUMBER", value: 50001 }, ], }, }).catch((e) => reject(e)) diff --git a/src/lib/classes/RenderJob.js b/src/lib/classes/RenderJob.js index 4da4cf9..0439098 100644 --- a/src/lib/classes/RenderJob.js +++ b/src/lib/classes/RenderJob.js @@ -1,5 +1,5 @@ const { readFile } = require("fs/promises") -const chalk = require('chalk') +const chalk = require("chalk") const Job = require("./Job.js") const logger = require("../logger.js") @@ -31,7 +31,7 @@ class RenderJob extends Job { { type: "LUA_TSTRING", value: this.id }, { type: "LUA_TSTRING", value: "Headshot" }, - { type: "LUA_TSTRING", value: process.env.RENDER_FORMAT }, + { type: "LUA_TSTRING", value: "PNG" }, { type: "LUA_TNUMBER", value: process.env.RENDER_USER_WIDTH }, { type: "LUA_TNUMBER", value: process.env.RENDER_USER_HEIGHT }, @@ -70,7 +70,7 @@ class RenderJob extends Job { { type: "LUA_TSTRING", value: this.id }, { type: "LUA_TSTRING", value: "Bodyshot" }, - { type: "LUA_TSTRING", value: three_d ? "OBJ" : process.env.RENDER_FORMAT }, + { type: "LUA_TSTRING", value: three_d ? "OBJ" : "PNG" }, { type: "LUA_TNUMBER", value: process.env.RENDER_USER_WIDTH }, { type: "LUA_TNUMBER", value: process.env.RENDER_USER_HEIGHT }, @@ -110,7 +110,7 @@ class RenderJob extends Job { { type: "LUA_TSTRING", value: this.id }, { type: "LUA_TSTRING", value: "Asset" }, - { type: "LUA_TSTRING", value: three_d ? "OBJ" : process.env.RENDER_FORMAT }, + { type: "LUA_TSTRING", value: three_d ? "OBJ" : "PNG" }, { type: "LUA_TNUMBER", value: process.env.RENDER_ASSET_WIDTH }, { type: "LUA_TNUMBER", value: process.env.RENDER_ASSET_HEIGHT }, @@ -153,7 +153,7 @@ class RenderJob extends Job { { type: "LUA_TSTRING", value: this.id }, { type: "LUA_TSTRING", value: "Place" }, - { type: "LUA_TSTRING", value: process.env.RENDER_FORMAT }, + { type: "LUA_TSTRING", value: "PNG" }, { type: "LUA_TNUMBER", value: process.env.RENDER_PLACE_WIDTH }, { type: "LUA_TNUMBER", value: process.env.RENDER_PLACE_HEIGHT }, @@ -191,7 +191,7 @@ class RenderJob extends Job { { type: "LUA_TSTRING", value: this.id }, { type: "LUA_TSTRING", value: "Texture" }, - { type: "LUA_TSTRING", value: process.env.RENDER_FORMAT }, + { type: "LUA_TSTRING", value: "PNG" }, { type: "LUA_TNUMBER", value: process.env.RENDER_USER_WIDTH }, { type: "LUA_TNUMBER", value: process.env.RENDER_USER_HEIGHT }, diff --git a/src/lua/bodyshot.lua b/src/lua/bodyshot.lua index 1af7359..cfdf5f1 100644 --- a/src/lua/bodyshot.lua +++ b/src/lua/bodyshot.lua @@ -8,7 +8,7 @@ game:GetService("ContentProvider"):SetBaseUrl(baseUrl) game:GetService("ScriptContext").ScriptsDisabled = true local Player = game.Players:CreateLocalPlayer(0) -Player.CharacterAppearance = ("%s/users/%d/character"):format(baseUrl, assetId) +Player.CharacterAppearance = ("%s/Character?id=%d"):format(baseUrl, assetId) Player:LoadCharacter(false) game:GetService("RunService"):Run() diff --git a/src/lua/gameserver.lua b/src/lua/gameserver.lua index 47d204f..8d89161 100644 --- a/src/lua/gameserver.lua +++ b/src/lua/gameserver.lua @@ -1,16 +1,12 @@ -local jobId, type, baseUrl, placeId, port, owner, key = ... +local jobId, type, baseUrl, placeId, port = ... ------------------- UTILITY FUNCTIONS -------------------------- - - function waitForChild(parent, childName) - while true do - local child = parent:findFirstChild(childName) - if child then - return child - end - parent.ChildAdded:wait() - end + while true do + local child = parent:findFirstChild(childName) + if child then return child end + parent.ChildAdded:wait() + end end -----------------------------------END UTILITY FUNCTIONS ------------------------- @@ -38,7 +34,7 @@ local scriptContext = game:GetService('ScriptContext') pcall(function() scriptContext:AddStarterScript(37801172) end) scriptContext.ScriptsDisabled = true -game:SetPlaceID(assetId, false) +game:SetPlaceID(placeId, false) game:GetService("ChangeHistoryService"):SetEnabled(false) -- establish this peer as the Server @@ -160,5 +156,10 @@ end) +<<<<<<< HEAD -- StartGame -- +======= +------------------------------END START GAME SHARED SCRIPT-------------------------- + +>>>>>>> master game:GetService("RunService"):Run()