Ejemplo n.º 1
0
 public PlayerCommingMessage(Database.Records.AccountRecord account, string ticket)
     : base(Protocol.ForwardPacketTypeEnum.PlayerCommingMessage)
 {
     Writer.Write(ticket);
     Writer.Write(account.ID);
     Writer.Write(account.Username);
     Writer.Write(account.Password);
     Writer.Write(account.Pseudo);
     Writer.Write(account.SecretQuestion);
     Writer.Write(account.SecretAnswer);
     Writer.Write(account.AdminLevel);
     Writer.Write(account.Points);
 }
Ejemplo n.º 2
0
        public static void ReceivedPlayerConnected(Network.WorldLink link, Protocol.ForwardPacket packet)
        {
            string name = packet.Reader.ReadString();

            if (!link.ConnectedAccount.Contains(name))
            {
                link.ConnectedAccount.Add(name);
                Database.Records.AccountRecord account = Database.Records.AccountRecord.FindByUsername(name);
                if (account != null)
                {
                    account.Logged = 1;
                    account.SaveAndFlush();
                }
            }
            Logger.LogInfo("Player '" + name + "' connected on server '" + link.GameServer.ID + "'");
        }
Ejemplo n.º 3
0
        public static void ReceivedPlayer(RealmLink link, Protocol.ForwardPacket packet)
        {
            string ticket = packet.Reader.ReadString();

            Database.Records.AccountRecord account = new Database.Records.AccountRecord()
            {
                ID             = packet.Reader.ReadInt32(),
                Username       = packet.Reader.ReadString(),
                Password       = packet.Reader.ReadString(),
                Pseudo         = packet.Reader.ReadString(),
                SecretQuestion = packet.Reader.ReadString(),
                SecretAnswer   = packet.Reader.ReadString(),
                AdminLevel     = packet.Reader.ReadInt32(),
                Points         = packet.Reader.ReadInt32(),
                Vip            = packet.Reader.ReadInt32(),
            };
            Utilities.ConsoleStyle.Realm("Account '" + account.Username + "' added to waiting ticket");
            Tickets.Add(ticket, account);
        }
Ejemplo n.º 4
0
 public static Database.Records.AccountDataRecord CreateNewAccountData(Database.Records.AccountRecord account)
 {
     try
     {
         Database.Records.AccountDataRecord newAccountData = new Database.Records.AccountDataRecord();
         newAccountData.AccountID = account.ID;
         newAccountData.NickName  = account.Pseudo;
         newAccountData.Bank      = World.Game.Items.ItemBag.CreateBag();
         newAccountData.Bank.Create();
         newAccountData.BankID = newAccountData.Bank.ID;
         Database.Cache.AccountDataCache.Cache.Add(newAccountData);
         newAccountData.CreateAndFlush();
         return(newAccountData);
     }catch (Exception e)
     {
         Utilities.ConsoleStyle.Error("Error : " + e.ToString());
         return(null);
     }
 }
Ejemplo n.º 5
0
 public static void ReceivedShopPointUpdate(Network.WorldLink link, Protocol.ForwardPacket packet)
 {
     try
     {
         string name   = packet.Reader.ReadString();
         int    points = packet.Reader.ReadInt32();
         Database.Records.AccountRecord account = Database.Records.AccountRecord.FindByUsername(name);
         if (account != null)
         {
             account.Points = points;
             account.SaveAndFlush();
             Logger.LogInfo("Shop points updated for '" + name + "' !");
         }
     }
     catch (Exception e)
     {
         Logger.LogError("Cant update shop points : " + e.ToString());
     }
 }
Ejemplo n.º 6
0
 public static void ReceivedPlayerDisconnected(Network.WorldLink link, Protocol.ForwardPacket packet)
 {
     try
     {
         string name = packet.Reader.ReadString();
         if (link.ConnectedAccount.Contains(name))
         {
             link.ConnectedAccount.Remove(name);
             Database.Records.AccountRecord account = Database.Records.AccountRecord.FindByUsername(name);
             if (account != null)
             {
                 account.Logged = 0;
                 account.SaveAndFlush();
             }
         }
         Logger.LogInfo("Player '" + name + "' disconnected on from '" + link.GameServer.ID + "'");
     }
     catch (Exception e)
     {
         Logger.LogError("Can't disconnect player : " + e.ToString());
     }
 }
Ejemplo n.º 7
0
        private void CheckAccount(string packet)
        {
            string[] data     = packet.Split('#');
            string   username = data[0];
            string   password = data[1].Substring(1);

            Database.Records.AccountRecord account = Database.Records.AccountRecord.FindByUsername(username);
            if (account != null)
            {
                if (Utilities.Security.Hash.cryptPass(_client.EncrypKey, account.Password) == password)
                {
                    _client.Account = account;

                    if (Communication.World.Manager.WorldCommunicator.IsConnected(account.Username))
                    {
                        Communication.World.Manager.WorldCommunicator.SendKickPlayer(account.Username);
                    }

                    if (!AuthentificationQueue.AddClient(_client))
                    {
                        SendAccountInformation();
                        _client.State = AuthentificationState.OnServerList;
                    }
                    else
                    {
                        _client.State = AuthentificationState.InQueue;
                    }
                }
                else
                {
                    _client.Send("AlEx");
                }
            }
            else
            {
                _client.Send("AlEx");
            }
        }
Ejemplo n.º 8
0
 public static bool IsBanned(Database.Records.AccountRecord account)
 {
     return(Database.Cache.BannedAccountCache.Cache.FindAll(x => x.Account.ToLower() == account.Username.ToLower()).Count > 0);
 }