Compare commits

..

2 Commits

  1. 9
      public/data/scripts/online.js
  2. 3
      public/data/settings/get_port.php
  3. 15
      server/package-lock.json
  4. 1
      server/package.json
  5. 4
      server/src/index.ts
  6. 18
      server/src/start.ts

@ -2,10 +2,10 @@
function socketConnect(project, name = "noone"){ function socketConnect(project, name = "noone"){
let urlQueries = '?game=' + project.name + '&name=' + name; let urlQueries = '?game=' + project.name + '&name=' + name;
$.get('data/settings/get_port.php', port => { let url = 'https://' + location.hostname + urlQueries;
let url = 'https://' + location.hostname + ':' + port + urlQueries; socket = io.connect(url, {
path: "/global-draw/"
socket = io.connect(url); });
socket.on('connect', () => { socket.on('connect', () => {
console.log('Connected to ', url); console.log('Connected to ', url);
@ -31,7 +31,6 @@ function socketConnect(project, name = "noone"){
updateDrawType($("input[type=radio][name=type]:checked").val()); updateDrawType($("input[type=radio][name=type]:checked").val());
}); });
});
} }
function sendFeedback(){ function sendFeedback(){

@ -1,3 +0,0 @@
<?php
echo parse_ini_file("../../../server/.env")["HTTPS_PORT"];

@ -1,15 +1,14 @@
{ {
"name": "global-draw-sheet", "name": "global-draw",
"version": "2.0", "version": "2.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "global-draw-sheet", "name": "global-draw",
"version": "2.0", "version": "2.0",
"dependencies": { "dependencies": {
"dotenv": "^16.0.3", "dotenv": "^16.0.3",
"https": "^1.0.0",
"socket.io": "^4.4.1", "socket.io": "^4.4.1",
"typescript": "^5.0.2" "typescript": "^5.0.2"
}, },
@ -132,11 +131,6 @@
"node": ">=10.0.0" "node": ">=10.0.0"
} }
}, },
"node_modules/https": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz",
"integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg=="
},
"node_modules/mime-db": { "node_modules/mime-db": {
"version": "1.52.0", "version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@ -341,11 +335,6 @@
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
"integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==" "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw=="
}, },
"https": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz",
"integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg=="
},
"mime-db": { "mime-db": {
"version": "1.52.0", "version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",

@ -8,7 +8,6 @@
}, },
"dependencies": { "dependencies": {
"dotenv": "^16.0.3", "dotenv": "^16.0.3",
"https": "^1.0.0",
"socket.io": "^4.4.1", "socket.io": "^4.4.1",
"typescript": "^5.0.2" "typescript": "^5.0.2"
}, },

@ -3,5 +3,7 @@ import {StartServer} from "./start";
StartServer({ StartServer({
useP2P: false, useP2P: false,
gameClass: GlobalDraw gameClass: GlobalDraw,
subPath: "/global-draw/",
port: 3101
}); });

@ -3,30 +3,26 @@ import {log} from "./logger.js";
import {Server} from 'socket.io'; import {Server} from 'socket.io';
import {Room} from "./room.js"; import {Room} from "./room.js";
import * as https from "https"; import * as http from "http";
import * as fs from "fs";
export function StartServer(settings: any){ export function StartServer(settings: any){
require("dotenv").config(); require("dotenv").config();
const httpsPort = parseInt(process.env.HTTPS_PORT);
let cert = fs.readFileSync(`${process.env.SSL_PATH}/cert.pem`); let httpServer = http.createServer();
let key = fs.readFileSync(`${process.env.SSL_PATH}/key.pem`);
let httpsServer = https.createServer({key: key, cert: cert}); let sIO = new Server(httpServer, {
let sIO = new Server(httpsServer, {
cors: { cors: {
origin: ["https://play.benjamin-kraft.local", "https://play.benjamin-kraft.eu"] origin: ["https://play.benjamin-kraft.local", "https://play.benjamin-kraft.eu"]
} },
path: settings.subPath
}); });
if (settings.useP2P){ if (settings.useP2P){
const p2p = require('socket.io-p2p-server').Server; const p2p = require('socket.io-p2p-server').Server;
sIO.use(p2p); sIO.use(p2p);
} }
httpsServer.listen(httpsPort); httpServer.listen(settings.port);
Room.GameClass = settings.gameClass; Room.GameClass = settings.gameClass;
@ -35,5 +31,5 @@ export function StartServer(settings: any){
// On new connection // On new connection
sIO.on('connection', socket => connectionManager.newSocket(socket)); sIO.on('connection', socket => connectionManager.newSocket(socket));
log('startup', null, null, 'Server is listening on port ' + httpsPort); log('startup', null, null, 'Server is listening on port ' + settings.port);
} }
Loading…
Cancel
Save