UNPKG

gamelet-cli

Version:

Download project from code.gamelet.com, edit/test in vscode and sync back to server.

117 lines 10.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initServer = initServer; const express_1 = __importDefault(require("express")); const http_1 = __importDefault(require("http")); const socket_io_1 = __importDefault(require("socket.io")); const cors_1 = __importDefault(require("cors")); const UserManager_1 = require("./managers/UserManager"); const Database_1 = require("./managers/Database"); const MonitorManager_1 = require("./managers/MonitorManager"); // let app = (0, express_1.default)(); let packageRoot = __dirname + '/../../..'; let res = packageRoot + '/assets/server'; app.use(express_1.default.static(res + '/static')); app.use(express_1.default.json()); app.use(express_1.default.urlencoded({ extended: true })); app.set('views', res + '/views'); app.set('view engine', 'twig'); app.set('twig options', { strict_variables: false }); app.get('/', (_req, res) => { res.render('index.twig'); }); app.get('/monitor', (_req, res) => { res.render('monitor.twig'); }); function getServerTimeCode(add = 0) { return Math.floor((Date.now() + add) / 1000).toString(36); } function createServer(clientCode, port) { console.log('[' + clientCode + '] Server created'); app.get('/client', (0, cors_1.default)(), (_req, res) => { res.json({ client: { code: clientCode, }, time: Math.floor(Date.now() / 1000), }); }); app.get('/login', (0, cors_1.default)(), (_req, res) => { let user = UserManager_1.userManager.login(clientCode, false); res.json({ user: user, }); }); app.get('/timecode', (0, cors_1.default)(), (_req, res) => { res.send(Math.floor(Date.now() / 1000).toString(36)); }); app.get('/requestGuestToken', (0, cors_1.default)(), (_req, res) => { let user = UserManager_1.userManager.login(clientCode, true); res.json({ user: user, ip: user.ip, token: user.token, }); }); app.post('/svr/validate/portal_usertoken', (0, cors_1.default)(), async (_req, res) => { const data = await UserManager_1.userManager.loginPortal(clientCode, _req.body.portal, _req.body.ptoken); res.json(data); }); app.post('/jsonrpc/cmd', (0, cors_1.default)(), (_req, res) => { let command = _req.body.command; let user = UserManager_1.userManager.getByToken(_req.body.token); Database_1.database.executeCommand(user, command) .then(result => { res.json({ result: result, time: getServerTimeCode(), }); }) .catch(err => { res.status(400); res.send(err); MonitorManager_1.monitorManager.error(clientCode, 'jsonrpc/cmd', err); }); }); app.post('/jsonrpc/cmds', (0, cors_1.default)(), (_req, res) => { let commands = _req.body.commands; let user = UserManager_1.userManager.getByToken(_req.body.token); return Promise.all(commands.map(command => Database_1.database.executeCommand(user, command))) .then(results => { res.json({ results: results, time: getServerTimeCode(), }); }) .catch(err => { res.status(400); res.send(err); MonitorManager_1.monitorManager.error(clientCode, 'jsonrpc/cmd', err); }); }); return new Promise(resolve => { let server = http_1.default.createServer(app); server.listen(port, () => resolve(server)); }); } function initServer(clientCode, port) { return createServer(clientCode, port) .then(server => { const io = (0, socket_io_1.default)(server); const gameIO = io.of('/game'); return { app: app, server: server, io: io, gameIO: gameIO, port: port, }; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFpSEEsZ0NBYUM7QUE5SEQsc0RBQThCO0FBQzlCLGdEQUF3QjtBQUN4QiwwREFBaUM7QUFDakMsZ0RBQXdCO0FBQ3hCLHdEQUFxRDtBQUNyRCxrREFBK0M7QUFDL0MsOERBQTJEO0FBUzNELEVBQUU7QUFDRixJQUFJLEdBQUcsR0FBRyxJQUFBLGlCQUFPLEdBQUUsQ0FBQztBQUNwQixJQUFJLFdBQVcsR0FBRyxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQzFDLElBQUksR0FBRyxHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUV6QyxHQUFHLENBQUMsR0FBRyxDQUFDLGlCQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLEdBQUcsQ0FBQyxHQUFHLENBQUMsaUJBQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLEdBQUcsQ0FBQyxHQUFHLENBQUMsaUJBQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hELEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUNqQyxHQUFHLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMvQixHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRTtJQUNwQixnQkFBZ0IsRUFBRSxLQUFLO0NBQzFCLENBQUMsQ0FBQztBQUVILEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO0lBQ3ZCLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFDSCxH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