mirror of
https://github.com/AlecM33/Werewolf.git
synced 2025-12-26 07:47:50 +01:00
correctly configure socket server for gcloud
This commit is contained in:
@@ -36,14 +36,14 @@ export class GameCreationStepManager {
|
||||
2: {
|
||||
title: 'Create your deck of cards:',
|
||||
forwardHandler: () => {
|
||||
if (this.deckManager.getDeckSize() >= 5 && this.deckManager.getDeckSize() <= 50) {
|
||||
if (this.deckManager.getDeckSize() >= 3 && this.deckManager.getDeckSize() <= 50) {
|
||||
this.currentGame.deck = deckManager.getCurrentDeck().filter((card) => card.quantity > 0);
|
||||
cancelCurrentToast();
|
||||
this.removeStepElementsFromDOM(this.step);
|
||||
this.incrementStep();
|
||||
this.renderStep('creation-step-container', this.step);
|
||||
} else {
|
||||
toast('You must have a deck for between 5 and 50 players', 'error', true);
|
||||
toast('You must have a deck for between 3 and 50 players', 'error', true);
|
||||
}
|
||||
},
|
||||
backHandler: this.defaultBackHandler
|
||||
|
||||
@@ -17,9 +17,11 @@ const game = () => {
|
||||
if (timerWorker) {
|
||||
timerWorker.terminate();
|
||||
}
|
||||
timerWorker = null;
|
||||
toast('Disconnected. Attempting reconnect...', 'error', true, false);
|
||||
});
|
||||
socket.on('connect', () => {
|
||||
console.log("connect event fired");
|
||||
socket.emit(globals.COMMANDS.GET_ENVIRONMENT, function (returnedEnvironment) {
|
||||
timerWorker = new Worker(new URL('../modules/Timer.js', import.meta.url));
|
||||
prepareGamePage(returnedEnvironment, socket, timerWorker);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
const express = require('express');
|
||||
const path = require('path');
|
||||
const app = express();
|
||||
|
||||
@@ -16,7 +16,7 @@ class GameManager {
|
||||
addGameSocketHandlers = (namespace, socket) => {
|
||||
this.namespace = namespace;
|
||||
socket.on(globals.CLIENT_COMMANDS.FETCH_GAME_STATE, (accessCode, personId, ackFn) => {
|
||||
this.logger.trace('request for game state for accessCode ' + accessCode + ', person ' + personId);
|
||||
this.logger.trace('request for game state for accessCode: ' + accessCode + ' from socket: ' + socket.id + ' with cookie: ' + personId);
|
||||
this.handleRequestForGameState(
|
||||
this.namespace,
|
||||
this.logger,
|
||||
@@ -332,6 +332,7 @@ class GameManager {
|
||||
UsernameGenerator.generate(),
|
||||
globals.USER_TYPES.SPECTATOR
|
||||
);
|
||||
spectator.socketId = socket.id;
|
||||
logger.trace('new spectator: ' + spectator.name);
|
||||
game.spectators.push(spectator);
|
||||
ackFn(GameStateCurator.getGameStateFromPerspectiveOfPerson(game, spectator, gameRunner, socket, logger));
|
||||
|
||||
@@ -57,7 +57,6 @@ const ServerBootstrapper = {
|
||||
} else {
|
||||
logger.warn('starting main in PRODUCTION mode. This should not be used for local development.');
|
||||
main = http.createServer(app);
|
||||
app.use(require('express-force-https'));
|
||||
}
|
||||
|
||||
return main;
|
||||
@@ -66,36 +65,16 @@ const ServerBootstrapper = {
|
||||
createSocketServer: (main, app, port) => {
|
||||
let io;
|
||||
if (process.env.NODE_ENV.trim() === 'development') {
|
||||
const corsOptions = {
|
||||
origin: 'http://localhost:' + port,
|
||||
optionsSuccessStatus: 200,
|
||||
methods: ['GET', 'POST']
|
||||
};
|
||||
app.use(cors(corsOptions));
|
||||
io = require('socket.io')(main, {
|
||||
cors: {
|
||||
origin: 'http://localhost:' + port,
|
||||
methods: ['GET', 'POST'],
|
||||
allowedHeaders: ['Content-Type', 'X-Requested-With', 'Accept'],
|
||||
credentials: false
|
||||
}
|
||||
cors: { origin: 'http://localhost:' + port },
|
||||
pingTimeout: 5000,
|
||||
pingInterval: 5000
|
||||
});
|
||||
} else {
|
||||
const corsOptions = {
|
||||
origin: ['https://playwerewolf.uk.r.appspot.com'],
|
||||
methods: ['GET', 'POST'],
|
||||
allowedHeaders: ['Content-Type', 'X-Requested-With', 'Accept'],
|
||||
optionsSuccessStatus: 200
|
||||
};
|
||||
app.use(cors(corsOptions));
|
||||
io = require('socket.io')(main, {
|
||||
cors: {
|
||||
origin: ['https://playwerewolf.uk.r.appspot.com', 'wss://playwerewolf.uk.r.appspot.com'],
|
||||
methods: ['GET', 'POST'],
|
||||
allowedHeaders: ['Content-Type', 'X-Requested-With', 'Accept'],
|
||||
credentials: true
|
||||
},
|
||||
transports: ['polling']
|
||||
cors: { origin: 'https://playwerewolf.uk.r.appspot.com' },
|
||||
pingTimeout: 5000,
|
||||
pingInterval: 5000
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user