public override void AC_OnPacketInbound(Packet packet)
        {
            try
            {
                StartLogging();
                var header = (ClientMessages)packet.ReadByte();
                if (!Loaded)
                {
                    switch (header)
                    {
                    case ClientMessages.MIGRATE_IN:
                        OnPlayerLoad(packet);
                        break;
                    }
                }
                else
                {
                    switch (header)
                    {
                    case ClientMessages.ENTER_PORTAL:
                        Server.Instance.CenterConnection.CharacterExitCashshop(Player.SessionHash,
                                                                               Player.Character.ID, Server.Instance.WorldID);
                        break;

                    case ClientMessages.CASHSHOP_ACTION:
                        CashPacket.HandleCashPacket(Player.Character, packet);
                        break;

                    case ClientMessages.CASHSHOP_QUERY_CASH:
                        CashPacket.SendCashAmounts(Player.Character);
                        break;

                    case ClientMessages.CLIENT_HASH: break;

                    case ClientMessages.PONG:
                        // Make sure we update the player online thing
                        RedisBackend.Instance.SetPlayerOnline(
                            Player.Character.UserID,
                            Server.Instance.GetOnlineId()
                            );
                        break;

                    default:
                    {
                        Program.MainForm.LogAppend("[" + header + "] Unknown packet: " + packet);
                        break;
                    }
                    }
                }
            }
            catch (Exception ex)
            {
                Program.MainForm.LogAppend("Exception: " + ex);
            }
            finally
            {
                EndLogging();
            }
        }