diff --git a/server/index.mjs b/server/index.mjs index a996681..6877bec 100644 --- a/server/index.mjs +++ b/server/index.mjs @@ -34,6 +34,8 @@ const server = app const wss = new WebSocketServer({ server }) +var socketCounter = 0 + const environment = process.env.NODE_ENV const isDevelopment = environment === 'development' @@ -90,6 +92,10 @@ wss.addListener("connection", function(ws, req) { fillQueue(gameId) } + this.socketCounter += 1; + const ip = anonymize(req.headers['x-forwarded-for'] || req.socket.remoteAddress) + console.log(`[${new Date()}] Socket opened - ${ip}`) + const socket = { onMessage: (cb) => { ws.on("message", cb) }, onError: (cb) => { ws.on("error", cb) }, @@ -101,13 +107,22 @@ wss.addListener("connection", function(ws, req) { const socketConnection = jsonrpcserver.createConnection(reader, writer, () => ws.close()) const serverConnection = jsonrpcserver.createProcessStreamConnection(ps); socketConnection.forward(serverConnection, message => { - console.log(`CLIENT: ${JSON.stringify(message)}`) + if (isDevelopment) {console.log(`CLIENT: ${JSON.stringify(message)}`)} return message; }); serverConnection.forward(socketConnection, message => { - console.log(`SERVER: ${JSON.stringify(message)}`) + if (isDevelopment) {console.log(`SERVER: ${JSON.stringify(message)}`)} return message; }); + + console.log(`[${new Date()}] Number of open sockets - ${this.socketCounter}`) + console.log(`[${new Date()}] Free RAM - ${Math.round(os.freemem() / 1024 / 1024)} / ${Math.round(os.totalmem() / 1024 / 1024)} GB`) + + ws.on('close', () => { + console.log(`[${new Date()}] Socket closed - ${ip}`) + this.socketCounter -= 1; + }) + socketConnection.onClose(() => serverConnection.dispose()); serverConnection.onClose(() => socketConnection.dispose()); })