internal void Process_SSOTicket(IncomingMessage Message) { Core.GetUserDistributor().GetUser(Message.PopPrefixedString(), this.fUser.GetConnection().ipAddress); }
private void HandleConnectionData(ref byte[] data) { int pos = 0; while (pos < data.Length) { try { // Total length of message (without this): 3 Base64 bytes int messageLength = Base64Encoding.DecodeInt32(new byte[] { data[pos++], data[pos++], data[pos++] }); // ID of message: 2 Base64 bytes uint messageID = Base64Encoding.DecodeUInt32(new byte[] { data[pos++], data[pos++] }); // Data of message: (messageLength - 2) bytes byte[] Content = new byte[messageLength - 2]; for (int i = 0; i < Content.Length; i++) { Content[i] = data[pos++]; } // Create message object IncomingMessage message = new IncomingMessage(messageID, Content); if(this.mUser.IsLoggedIn()) Core.GetStandardOut().PrintDebug("[" + this.mUser.GetUsername() + "] -- > " + message.Header + message.GetContentString()); else Core.GetStandardOut().PrintDebug("[No Name] -> " + message.Header + message.GetContentString()); // Handle message object this.mPacketHandlers[messageID, 3].Invoke(message); // Execute High Priority if (message.IsCancelled()) return; this.mPacketHandlers[messageID, 2].Invoke(message); // Execute Low Priority if (message.IsCancelled()) return; this.mPacketHandlers[messageID, 1].Invoke(message); // Execute Default Action this.mPacketHandlers[messageID, 0].Invoke(message); // Execute Watchers } catch (IndexOutOfRangeException) // Bad formatting! { // TODO: Move this to IHI //IonEnvironment.GetHabboHotel().GetClients().StopClient(mID, 0); } catch (Exception ex) { Core.GetStandardOut().PrintError(ex.Message); } } }
internal void Process_Pong(IncomingMessage Message) { this.fUser.Pong(); }
internal void Process_InitCrypto(IncomingMessage Message) { this.fUser.GetPacketSender().Send_InitCrypto("166deece3b76b25aa9d5078522c7eb0a", false); }