ToneGuessr/server/index.js

42 lines
1.1 KiB
JavaScript

const express = require("express");
const { Server } = require("socket.io");
const http = require("http");
const app = express();
const path = require("path");
app.use(express.static(path.join(__dirname, './dist')));
app.disable("x-powered-by");
app.get('*', (req, res) => res.sendFile(path.join(__dirname, './dist', 'index.html')));
const server = http.createServer(app);
const io = new Server(server, {
cors: {origin: "*"},
pingTimeout: 30000,
pingInterval: 10000
});
const roomController = require('./controller/room');
const gameController = require('./controller/game');
roomController.setCleanupGameState(gameController.cleanupGameState);
// Handle socket connections
io.on("connection", require("./handler/connection")(io));
server.on('error', (error) => {
console.error('Server error:', error);
});
const PORT = process.env.PORT || 5287;
server.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
process.on('SIGINT', () => {
console.log('Server shutting down...');
server.close(() => {
console.log('Server closed');
process.exit(0);
});
});