private void HandleSelect(LoginSession session, PacketReader packet) { long characterId = packet.ReadLong(); packet.ReadShort(); // 01 00 Logger.Info($"Logging in to game with char id: {characterId}"); string ipAddress = Environment.GetEnvironmentVariable("IP"); int port = int.Parse(Environment.GetEnvironmentVariable("GAME_PORT")); IPEndPoint endpoint = new(IPAddress.Parse(ipAddress), port); AuthData authData = DatabaseManager.AuthData.GetByAccountId(session.AccountId); Player player = DatabaseManager.Characters.FindPartialPlayerById(characterId); if (player is null) { Logger.Error("Character not found!"); return; } authData.OnlineCharacterId = characterId; DatabaseManager.AuthData.UpdateOnlineCharacterId(authData); DatabaseManager.Characters.UpdateChannelId(characterId, channelId: 1, instanceId: 1, isMigrating: false); session.SendFinal(MigrationPacket.LoginToGame(endpoint, player.MapId, authData), logoutNotice: false); }
private void HandleChangeCharacter(GameSession session) { session.FieldManager.RemovePlayer(session, session.FieldPlayer); DatabaseManager.UpdateCharacter(session.Player); AuthData authData = AuthStorage.GetData(session.Player.AccountId); session.SendFinal(MigrationPacket.GameToLogin(LoginEndpoint, authData)); }
public override void Handle(GameSession session, PacketReader packet) { byte function = packet.ReadByte(); if (function == 0) { session.FieldManager.RemovePlayer(session, session.FieldPlayer); AuthData authData = AuthStorage.GetData(session.Player.AccountId); session.SendFinal(MigrationPacket.GameToLogin(loginEndpoint, authData)); } }
private void HandleSelect(LoginSession session, IByteReader packet) { long characterId = packet.ReadLong(); packet.ReadShort(); // 01 00 var request = new MigrateOutRequest { AccountId = session.AccountId, CharacterId = characterId }; logger.LogInformation("Logging in to game as {Request}", request); var response = world.MigrateOut(request); var endpoint = new IPEndPoint(IPAddress.Parse(response.IpAddress), response.Port); session.Send(MigrationPacket.LoginToGame(endpoint, response.Token, 2000062)); session.Disconnect(); //LoginPacket.LoginError("message?"); }
public void HandleSelect(LoginSession session, PacketReader packet) { long charId = packet.ReadLong(); packet.ReadShort(); // 01 00 logger.Info($"Logging in to game with charId:{charId}"); var endpoint = new IPEndPoint(IPAddress.Loopback, GameServer.PORT); var authData = new AuthData { TokenA = session.GetToken(), TokenB = session.GetToken(), CharacterId = charId, }; // Write AuthData to storage shared with GameServer AuthStorage.SetData(session.AccountId, authData); session.Send(MigrationPacket.LoginToGame(endpoint, authData)); //LoginPacket.LoginError("message?"); }
public void HandleSelect(LoginSession session, PacketReader packet) { long charId = packet.ReadLong(); packet.ReadShort(); // 01 00 Logger.Info("Logging in to game with char id: {charId}", charId); string ipAddress = Environment.GetEnvironmentVariable("IP"); int port = int.Parse(Environment.GetEnvironmentVariable("GAME_PORT")); IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse(ipAddress), port); AuthData authData = new AuthData { TokenA = LoginSession.GetToken(), TokenB = LoginSession.GetToken(), CharacterId = charId, }; // Write AuthData to storage shared with GameServer AuthStorage.SetData(session.AccountId, authData); session.SendFinal(MigrationPacket.LoginToGame(endpoint, authData)); // LoginPacket.LoginError("message?"); }
private void HandleChangeCharacter(GameSession session) { session.FieldManager.RemovePlayer(session); session.SendFinal(MigrationPacket.GameToLogin(LoginEndpoint, session.Player.Account.AuthData), logoutNotice: true); }