private void LogUser() { ResourcesManager.LogPlayerIn(level, Client); level.Tick(); var loginOk = new LoginOkMessage(Client); var avatar = level.GetPlayerAvatar(); loginOk.SetAccountId(avatar.GetId()); loginOk.SetPassToken(avatar.GetUserToken()); loginOk.SetServerMajorVersion(MajorVersion); loginOk.SetServerBuild(MinorVersion); loginOk.SetContentVersion(ContentVersion); loginOk.SetServerEnvironment("prod"); loginOk.SetDaysSinceStartedPlaying(0); loginOk.SetServerTime(Math.Round(level.GetTime().Subtract(new DateTime(1970, 1, 1)).TotalSeconds * 1000).ToString(CultureInfo.InvariantCulture)); loginOk.SetAccountCreatedDate(avatar.GetAccountCreationDate().ToString()); loginOk.SetStartupCooldownSeconds(0); loginOk.SetCountryCode(avatar.GetUserRegion() ?? "EN"); loginOk.Send(); var alliance = ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId()); if (ResourcesManager.IsPlayerOnline(level)) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Clash of Magic Admin"); mail.SetIsNew(2); mail.SetAllianceId(0); mail.SetSenderLeagueId(22); mail.SetAllianceBadgeData(1526735450); mail.SetAllianceName("Clash of Magic Admin"); mail.SetMessage(ConfigurationManager.AppSettings["AdminMessage"]); mail.SetSenderLevel(500); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); p.Send(); } new OwnHomeDataMessage(Client, level).Send(); // THIS MESSAGE MUST BE SENT FIRST !!! new AvatarStreamMessage(Client).Send(); if (alliance != null) { new AllianceFullEntryMessage(Client, alliance).Send(); new AllianceStreamMessage(Client, alliance).Send(); new AllianceWarHistoryMessage(Client, alliance).Send(); //PacketManager.ProcessOutgoingPacket (new AllianceWarMapDataMessage(Client)); //Don't activate it (not done!) } new BookmarkMessage(Client).Send(); }