public void Execute(GameServerMessageRouter <TPlayer> .ServerModel <TPlayer> model, PongRequestMessage message) { model.server.pingController.PongReceived(model.model, message.pingRequestId); var players = model.server.playerCollection.values; for (int index = 0; index < players.Count; index++) { TPlayer player = players[index]; model.model.Send(new PingResultRequestMessage(player.playerId, player.mostRecentPingValue), Channel.unreliable); } }
public void Execute(GameServerMessageRouter <TPlayer> .ServerModel <NetEndPoint> model, NatIdentifierRequestMessage message) { if (!model.server.playerCollection.TryGetPlayer(message.playerId, out TPlayer player)) { return; } player.remoteIdentifiedEndPoint = model.model; model.server.networkServer.Register(model.model, player); model.server.listener.GameServerPlayerDidConnect(player, Channel.unreliable); var serverEndPoint = model.server.networkServer.listeningOnEndPoint; player.Send(new NatIdentifierResponseMessage(serverEndPoint.address, serverEndPoint.port), Channel.unreliable); }