You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

32 lines
1.1 KiB

const serverConfig = require('../../config/serverConfig.js') // Server Config
const wrtColor = require('../common/wrtColor')
// const { sleep } = require('./common/sleep')
function filterExpired(player) {
// let diff = ((new Date())-player.lastActivity)
// console.log(`${player.username} diff: ${diff}`)
if (((new Date())-player.lastActivity) <= serverConfig.playerExpiration) {
return player
} else {
// console.log(`Expired Session: ${player.username}`)
wrtColor.magenta(`Expired Session: ${player.username}`)
}
}
function playerCleanup (state) {
// setInterval(function() { //<--This works, but I'm concerned about Memory Leak. I need to learn more.
// console.log(state)
// state.players = state.players.filter(checkExpired)
// }, serverConfig.cleanupInterval)
//setTimeout Version self-calling function
let timerId = setTimeout(function tick() {
// console.log(state)
state.players = state.players.filter(filterExpired)
timerId = setTimeout(tick, serverConfig.cleanupInterval)
}, serverConfig.cleanupInterval)
}
module.exports = {
playerCleanup: playerCleanup
}