public void makeme(AuthThread login, byte[] packet) { this.login = login; _packet = packet; _offset = 1; read(); }
public override void run() { AuthThread.getInstance().setInGameAccount(Client.AccountName, false); L2Player player = Client.CurrentPlayer; if (player == null) //re-login на выборе чаров { return; } if (player._p_block_act == 1) { player.sendActionFailed(); return; } if (player.isInCombat()) { player.sendSystemMessage(101);//You cannot exit the game while in combat. player.sendActionFailed(); return; } player.Termination(); player.sendPacket(new LeaveWorld()); }
public LoginServAcceptPlayer(IServiceProvider serviceProvider, Packet p, AuthThread login) : base(serviceProvider) { _accountCrudService = serviceProvider.GetService <ICrudService <AccountContract> >(); _login = login; _accountId = p.ReadInt(); _key = new SessionKey(p.ReadInt(), p.ReadInt(), p.ReadInt(), p.ReadInt()); }
public override void run() { AccountModel ta = new AccountModel(); ta.Login = account; AuthThread.getInstance().awaitAccount(ta); }
public static void HandlePacket(Packet packet, AuthThread login) { PacketBase packetBase = null; Log.Info($"Received packet with Opcode:{packet.FirstOpcode.ToString("X2")}"); if (ClientPackets.ContainsKey(packet.FirstOpcode)) { packetBase = (PacketBase)Activator.CreateInstance(ClientPackets[packet.FirstOpcode], packet, login); } packetBase?.RunImpl(); }
public AuthLogin(IServiceProvider serviceProvider, Packet packet, GameClient client) : base(serviceProvider) { _client = client; _authThread = serviceProvider.GetService <AuthThread>(); _accountService = serviceProvider.GetService <IAccountService>(); _playerService = serviceProvider.GetService <IPlayerService>(); _loginName = packet.ReadString(); _playKey2 = packet.ReadInt(); _playKey1 = packet.ReadInt(); _loginKey1 = packet.ReadInt(); _loginKey2 = packet.ReadInt(); }
public static void handlePacket(AuthThread login, byte[] buff) { byte id = 0; try { id = buff[0]; } catch (IndexOutOfRangeException e) { Console.WriteLine("Something went wrong on PacketHandlerAuth: " + e); goto SkipLabel; } Console.WriteLine("login>gs: " + id); string cninfo = "handlepacket: request " + id.ToString("x2") + " size " + buff.Length; ReceiveAuthPacket msg = null; switch (id) { case 0xA1: msg = new LoginServPingResponse(login, buff); break; case 0xA5: msg = new LoginServLoginFail(login, buff); break; case 0xA6: msg = new LoginServLoginOk(login, buff); break; case 0xA7: msg = new LoginServAcceptPlayer(login, buff); break; case 0xA8: msg = new LoginServKickAccount(login, buff); break; } if (msg == null) { Console.WriteLine(cninfo); return; } new Thread(new ThreadStart(msg.run)).Start(); SkipLabel :; }
public AuthLogin(IServiceProvider serviceProvider, Packet packet, GameClient client) : base(serviceProvider) { _client = client; _authThread = serviceProvider.GetService <AuthThread>(); _characterService = serviceProvider.GetService <ICharacterService>(); _loginName = packet.ReadString(); int _playKey2 = packet.ReadInt(); int _playKey1 = packet.ReadInt(); int _loginKey1 = packet.ReadInt(); int _loginKey2 = packet.ReadInt(); _key = new SessionKey(_loginKey1, _loginKey2, _playKey1, _playKey2); }
public static void HandlePacket(Packet packet, AuthThread login) { PacketBase packetBase = null; Log.Info($"Received packet with Opcode:{packet.FirstOpcode.ToString("X2")}"); if (ClientPackets.ContainsKey(packet.FirstOpcode)) { packetBase = (PacketBase)Activator.CreateInstance(ClientPackets[packet.FirstOpcode], packet, login); } if (packetBase == null) { throw new ArgumentNullException(nameof(packetBase), $"Packet with opcode: {packet.FirstOpcode.ToString("X2")} doesn't exist in the dictionary."); } packetBase.RunImpl(); }
public GameClient(ClientManager clientManager, TcpClient tcpClient, GamePacketHandler gamePacketHandler) { Log.Info($"Connection from {tcpClient.Client.RemoteEndPoint}"); Address = tcpClient.Client.RemoteEndPoint; Client = tcpClient; Stream = tcpClient.GetStream(); AccountCharacters = new List <L2Player>(); _authThread = GameServer.ServiceProvider.GetService <AuthThread>(); _crypt = new GameCrypt(); _characterCrudService = GameServer.ServiceProvider.GetService <ICrudService <CharacterContract> >(); _characterService = GameServer.ServiceProvider.GetService <ICharacterService>(); _gamePacketHandler = gamePacketHandler; _clientManager = clientManager; Task.Factory.StartNew(Read); }
public void HandlePacket(Packet packet, AuthThread login) { PacketBase packetBase = null; Log.Info($"Received packet with Opcode:{packet.FirstOpcode:X2}"); if (LoginServerPackets.ContainsKey(packet.FirstOpcode)) { packetBase = (PacketBase)Activator.CreateInstance(LoginServerPackets[packet.FirstOpcode], _serviceProvider, packet, login); } if (packetBase == null) { throw new ArgumentNullException(nameof(packetBase), $"Packet with opcode: {packet.FirstOpcode:X2} doesn't exist in the dictionary."); } packetBase.RunImpl(); }
public override void run() { if (getClient().AccountName == null) { getClient().AccountName = _loginName; List <int> players = accountService.GetPlayerIdsListByAccountName(_loginName); int slot = 0; foreach (int id in players) { L2Player p = new L2Player().RestorePlayer(id, getClient()); p.CharSlot = slot; slot++; Client._accountChars.Add(p); } getClient().sendPacket(new CharacterSelectionInfo(getClient().AccountName, getClient()._accountChars, getClient()._sessionId)); AuthThread.getInstance().setInGameAccount(getClient().AccountName, true); } else { getClient().termination(); } }
public LoginServLoginFail(IServiceProvider serviceProvider, Packet p, AuthThread login) : base(serviceProvider) { _login = login; _code = p.ReadString(); }
public LoginServPingResponse(IServiceProvider serviceProvider, Packet p, AuthThread login) : base(serviceProvider) { _login = login; _message = p.ReadString(); }
public LoginServPing(AuthThread th) { this.version = th.version; this.build = th.build; }
public LoginServAcceptPlayer(Packet p, AuthThread login) { _login = login; _account = p.ReadString(); }
public LoginServLoginOk(Packet p, AuthThread login) { _login = login; _code = p.ReadString(); }
public LoginServPingResponse(IServiceProvider serviceProvider, Packet p, AuthThread authThread) : base(serviceProvider) { _authThread = authThread; _key = p.ReadInt(); }
public LoginServAcceptPlayer(IServiceProvider serviceProvider, Packet p, AuthThread login) : base(serviceProvider) { _login = login; _account = p.ReadString(); }
public LoginServLoginFail(IServiceProvider serviceProvider, Packet p, AuthThread authThread) : base(serviceProvider) { _authThread = authThread; _code = p.ReadString(); }
public LoginServAcceptPlayer(AuthThread login, byte[] db) { base.makeme(login, db); }
public LoginServKickAccount(AuthThread login, byte[] db) { base.makeme(login, db); }
public LoginServPingResponse(AuthThread login, byte[] db) { base.makeme(login, db); }
public LoginServPing(AuthThread th) { Version = th.Version; _build = th.Build; }
public LoginServPing(AuthThread authThread) { _authThread = authThread; _authThread.RandomPingKey = RandomThreadSafe.Instance.Next(); }
public Logout(IServiceProvider serviceProvider, Packet packet, GameClient client) : base(serviceProvider) { _authThread = serviceProvider.GetService <AuthThread>(); _client = client; }
public LoginServKickAccount(IServiceProvider serviceProvider, Packet p, AuthThread authThread) : base(serviceProvider) { _authThread = authThread; _accountId = p.ReadInt(); }
public void Start() { Console.Title = "L2dotNET Gameserver"; CLogger.form(); Cfg.init("all"); CharTemplateTable.Instance.Initialize(); NetworkBlock.getInstance(); GameTime.getInstance(); IdFactory.Instance.Initialize(); L2World.Instance.Initialize(); // MapRegionTable.getInstance(); ZoneTable.getInstance(); NpcTable.getInstance(); NpcData.getInstance(); // SpawnTable.getInstance(); StaticObjTable.getInstance().read(); StructureTable.getInstance().read(); // TSkillTable.getInstance(); ItemTable.getInstance(); ItemHandler.getInstance(); MultiSell.getInstance(); Capsule.getInstance(); RecipeTable.getInstance(); MonsterRace.getInstance(); AIManager.getInstance(); BlowFishKeygen.genKey(); CLogger.info("generated 20 blowfish keys"); AdminAccess.Instance.Initialize();; QuestManager.getInstance(); AnnouncementManager.Instance.Initialize(); AllianceTable.getInstance(); ClanTable.getInstance(); CLogger.info("NpcServer: "); StaticObjTable.getInstance().Spawn(); MonsterRace.getInstance().Spawn(); // SpawnTable.getInstance().Spawn(); StructureTable.getInstance().init(); HtmCache.getInstance(); AuthThread.getInstance(); // GeoData.getInstance(); CLogger.extra_info("listening game clients on port " + Cfg.SERVER_PORT); _listener = new TcpListener(Cfg.SERVER_PORT); _listener.Start(); TcpClient clientSocket = default(TcpClient); while (true) { clientSocket = _listener.AcceptTcpClient(); accept(clientSocket); } }
public LoginServLoginFail(AuthThread login, byte[] db) { base.makeme(login, db); }
public LoginServKickAccount(Packet p, AuthThread login) { _login = login; _account = p.ReadString(); }