move to server auth token system for verifying gameserver auth messages, rather than ip

This commit is contained in:
BobTheBob 2021-12-30 18:08:55 +00:00
parent fdc97329e6
commit 5aa0ed27d5
4 changed files with 6 additions and 2 deletions

View File

@ -109,7 +109,7 @@ module.exports = ( fastify, opts, done ) => {
method: "POST",
host: server.ip,
port: server.authPort,
path: `/authenticate_incoming_player?id=${request.query.id}&authToken=${authToken}`
path: `/authenticate_incoming_player?id=${request.query.id}&authToken=${authToken}&serverAuthToken=${server.serverAuthToken}`
}, pdata )
if ( !authResponse )

View File

@ -31,6 +31,7 @@ module.exports = ( fastify, opts, done ) => {
delete copy.port
delete copy.authPort
delete copy.password
delete copy.serverAuthToken
displayServerArray.push( copy )
}

View File

@ -85,7 +85,8 @@ module.exports = ( fastify, opts, done ) => {
return {
success: true,
id: newServer.id
id: newServer.id,
serverAuthToken: newServer.serverAuthToken
}
})

View File

@ -26,6 +26,7 @@ class GameServer
this.lastHeartbeat = nameOrServer.lastHeartbeat
this.id = nameOrServer.id
this.serverAuthToken = nameOrServer.serverAuthToken
this.updateValues( nameOrServer.name, nameOrServer.description, nameOrServer.playerCount, nameOrServer.maxPlayers, nameOrServer.map, nameOrServer.playlist, nameOrServer.ip, nameOrServer.port, nameOrServer.authPort, nameOrServer.password, nameOrServer.modInfo, nameOrServer.pdiffs )
}
else // normal constructor
@ -33,6 +34,7 @@ class GameServer
this.lastHeartbeat = Date.now()
this.id = crypto.randomBytes(16).toString( "hex" )
this.serverAuthToken = crypto.randomBytes(16).toString( "hex" )
this.updateValues( nameOrServer, description, playerCount, maxPlayers, map, playlist, ip, port, authPort, password, modInfo )
}
}