protected override bool Process(GameClient sender, JoinServerMessageClient message) { // NOTE We should not use the user id in any 'public' packets so we'll just send 0 instead and use the username & token to authenticate. Console.WriteLine("Join Server for Username: {0}, Token: {1}", message.Username, message.Token); sender.AddFlag(GameSessionFlags.Authenticated); sender.Send(JoinServerResponseBuilder.Build(sender)); sender.Send(KeepaliveBuilder.Build(sender)); return(true); }
protected override bool Process(GameClient sender, SerialGServClient message) { if (message.Version != ClientVersionNumber) { sender.Send(SerialGServerResponseBuilder.Build(SerialGameStatusCode.ClientVersionMissmatch)); sender.Disconnect("Client Version Missmatch."); return(false); } // TODO Log MAC Address. sender.AddFlag(GameSessionFlags.Handshake); sender.Send(SerialGServerResponseBuilder.Build()); return(true); }