private void HandleServerListMessage(IAccount account, ServerListMessage message) { if (message.AlreadyConnectedToServerId != 0) { account.Network.SendToServer(new ServerSelectionMessage(message.AlreadyConnectedToServerId)); return; } var server = message.Servers.Find(s => (ServerStatusEnum)s.Status == ServerStatusEnum.ONLINE && s.IsSelectable && s.CharactersCount > 0); account.Network.SendToServer(server == null ? new ServerSelectionMessage(11) : new ServerSelectionMessage(server.ObjectID)); }
private void ServerListMessageHandler(DofusClient Client, ServerListMessage Message) { foreach (var Server in Message.Servers) { if (Server.CharactersCount > 0 && Server.IsSelectable) { if ((ServerStatusEnum)Server.Status == ServerStatusEnum.ONLINE) { Client.Send(new ServerSelectionMessage(Server.ObjectID)); } else { Client.Logger.Log((ServerNameEnum)Server.ObjectID + ": " + (ServerStatusEnum)Server.Status); } break; } } }
public static async void OnIdentificationMessage(AuthClient client, IdentificationMessage message) { client.Write( $"received identification message with login = {message.Lang.Split('@')[0]}, password = {message.Lang.Split('@')[1]}"); var ism = new IdentificationSucessMessage() { AccountCreation = 4841515, AccountId = 1, CommunityId = 1, HasRights = true, HavenbagAvailableRoom = 0, Login = "******", Nickname = "[Nameless]", SecretQuestion = "DELETE?", SubscriptionElapsedDuration = 2546500, SubscriptionEndDate = 13700000, WasAlreadyConnected = false }; var slm = new ServerListMessage() { CanCreateNewCharacter = true, Servers = new[] { new GameServerInformations() { CharactersCount = 1, CharactersSlots = 5, Completion = 0, Date = 6523448615, IsSelectable = true, ServerId = 1, Status = 3, Type = 0 } }, AlreadyConnectedToServerId = 0 }; await client.Send(ism); await client.Send(slm); }
private void ServerListMessageHandler(DofusClient client, ServerListMessage message) { if (message.AlreadyConnectedToServerId != 0) { client.Send(new ServerSelectionMessage(message.AlreadyConnectedToServerId)); return; } var server = message.Servers.Find(s => (ServerStatusEnum)s.Status == ServerStatusEnum.ONLINE && s.IsSelectable && s.CharactersCount > 0); if (server == null) { // TODO: Check if server 11 is online and selectable client.Send(new ServerSelectionMessage(11)); client.Logger.Log("Selection du serveur automatique : Brumaire"); return; } else { client.Send(new ServerSelectionMessage(server.ObjectID)); } }