public void HandleRequest(HttpListenerContext context) { NameValueCollection query; using (StreamReader rdr = new StreamReader(context.Request.InputStream)) query = HttpUtility.ParseQueryString(rdr.ReadToEnd()); using (var db1 = new Database()) { chrs = new Chars() { Characters = new List<Char>() { }, NextCharId = 2, MaxNumChars = 1, Account = db1.Verify(query["guid"], query["password"]), Servers = new List<ServerItem>() { new ServerItem() { Name = "EUSouth", Lat = 22.28, Long = 114.16, DNS = db.confreader.getservers(false).ToString(), //127.0.0.1, CHANGE THIS TO LET YOUR FRIENDS CONNECT Usage = 0.2, AdminOnly = false } //new ServerItem() //{ // Name = "Admin Realm", // Lat = 22.28, // Long = 114.16, // DNS = "127.0.0.1", // Usage = 0.2, // AdminOnly = true //} } }; if (chrs.Account != null) { db1.GetCharData(chrs.Account, chrs); db1.LoadCharacters(chrs.Account, chrs); chrs.News = db1.GetNews(chrs.Account); } else { chrs.Account = Database.CreateGuestAccount(query["guid"]); chrs.News = db1.GetNews(null); } MemoryStream ms = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" }); XmlWriterSettings xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws); serializer.Serialize(xtw, chrs, chrs.Namespaces); } }
protected override void HandleRequest() { using (Database db = new Database()) { Account a = db.Verify(Query["guid"], Query["password"], Program.GameData); if (!CheckAccount(a, db)) return; db.LockAccount(a); Chars chrs = new Chars { Characters = new List<Char>(), NextCharId = 2, MaxNumChars = 1, Account = a, Servers = GetServerList() }; if (chrs.Account != null) { db.GetCharData(chrs.Account, chrs); db.LoadCharacters(chrs.Account, chrs); chrs.News = db.GetNews(Program.GameData, chrs.Account); chrs.OwnedSkins = Utils.GetCommaSepString(chrs.Account.OwnedSkins.ToArray()); db.UnlockAccount(chrs.Account); } else { chrs.Account = Database.CreateGuestAccount(Query["guid"] ?? ""); chrs.News = db.GetNews(Program.GameData, null); } MapPoint p = null; //GetLatLong(Context.Request.RemoteEndPoint.Address); if (p != null) { chrs.Lat = p.Latitude.ToString().Replace(',', '.'); chrs.Long = p.Longitude.ToString().Replace(',', '.'); } chrs.ClassAvailabilityList = GetClassAvailability(chrs.Account); chrs.TOSPopup = chrs.Account.NotAcceptedNewTos; chrs.ClassAvailabilityList = GetClassAvailability(chrs.Account); XmlSerializer serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" }); XmlWriterSettings xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; xws.Indent = true; xws.IndentChars = " "; XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws); serializer.Serialize(xtw, chrs, chrs.Namespaces); } }
public Chars GetChars(string guid, string password, XmlData data) { using (var db = new Database()) { Account a = db.Verify(guid, password, data); if (a != null) { if (a.Banned) return null; } Chars chrs = new Chars { Characters = new List<Char>(), NextCharId = 2, MaxNumChars = 1, Account = a, }; db.GetCharData(chrs.Account, chrs); db.LoadCharacters(chrs.Account, chrs); chrs.News = db.GetNews(Program.GameData, chrs.Account); chrs.OwnedSkins = Utils.GetCommaSepString(chrs.Account.OwnedSkins.ToArray()); return chrs; } }
protected override void HandleRequest() { using (var db = new Database()) { List<ServerItem> servers; if (Account == null) servers = GetServersForRank(0); else servers = Account.Banned ? YoureBanned() : GetServersForRank(Account.Rank); var chrs = new Chars { Characters = new List<Char>(), NextCharId = 2, MaxNumChars = 1, Account = Account, Servers = servers }; if (chrs.Account != null) { db.GetCharData(chrs.Account, chrs); db.LoadCharacters(chrs.Account, chrs); chrs.News = db.GetNews(chrs.Account); } else { chrs.Account = Database.CreateGuestAccount(Query["guid"]); chrs.News = db.GetNews(null); } var serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" }); var xws = new XmlWriterSettings { OmitXmlDeclaration = true, Encoding = Encoding.UTF8, Indent = true, IndentChars = " " }; var xtw = XmlWriter.Create(Context.Response.OutputStream, xws); serializer.Serialize(xtw, chrs, chrs.Namespaces); } }
public void HandleRequest(HttpListenerContext context) { NameValueCollection query; using (StreamReader rdr = new StreamReader(context.Request.InputStream)) query = HttpUtility.ParseQueryString(rdr.ReadToEnd()); using (var db = new Database(Program.Settings.GetValue("conn"))) { Chars chrs = new Chars() { Characters = new List<Char>() { }, NextCharId = 2, MaxNumChars = 1, Account = db.Verify(query["guid"], query["password"]), Servers = GetServerList() }; if (chrs.Account != null) { db.GetCharData(chrs.Account, chrs); db.LoadCharacters(chrs.Account, chrs); chrs.News = db.GetNews(Program.GameData, chrs.Account); } else { chrs.Account = Database.CreateGuestAccount(query["guid"]); chrs.News = db.GetNews(Program.GameData, null); } MemoryStream ms = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" }); XmlWriterSettings xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws); serializer.Serialize(xtw, chrs, chrs.Namespaces); } }
protected override void HandleRequest() { using (var db = new Database()) { List<ServerItem> filteredServers = null; Account a = db.Verify(Query["guid"], Query["password"]); if (a != null) { if (a.Banned) { filteredServers = YoureBanned(); } else { filteredServers = GetServersForRank(a.Rank); } } else { filteredServers = GetServersForRank(0); } Chars chrs = new Chars() { Characters = new List<Char>() { }, NextCharId = 2, MaxNumChars = 1, Account = db.Verify(Query["guid"], Query["password"]), Servers = filteredServers }; Account dvh = null; if (chrs.Account != null) { db.GetCharData(chrs.Account, chrs); db.LoadCharacters(chrs.Account, chrs); chrs.News = db.GetNews(chrs.Account); dvh = chrs.Account; } else { chrs.Account = Database.CreateGuestAccount(Query["guid"]); chrs.News = db.GetNews(null); } MemoryStream ms = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" }); XmlWriterSettings xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws); serializer.Serialize(xtw, chrs, chrs.Namespaces); } }
protected override void HandleRequest() { using (Database db = new Database()) { Account a; if (Query["guid"].Contains("@") && !String.IsNullOrWhiteSpace(Query["password"])) { a = db.Verify(Query["guid"], Query["password"], Program.GameData); if (a == null) { using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream)) wtr.WriteLine("<Error>Account credentials not valid</Error>"); Context.Response.Close(); return; } } else { a = db.GetAccountByName(Query["guid"], Program.GameData); if (a != null) { if (!a.VisibleMuledump) { using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream)) wtr.WriteLine("<Error>This player has a private muledump.</Error>"); Context.Response.Close(); return; } } else { using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream)) wtr.WriteLine("<Error>User not found</Error>"); Context.Response.Close(); return; } } if (a.Banned) { using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream)) wtr.WriteLine("<Error>Account under maintenance</Error>"); Context.Response.Close(); return; } Chars chrs = new Chars { Characters = new List<Char>(), NextCharId = 2, MaxNumChars = 1, Account = a }; if (chrs.Account != null) { db.GetCharData(chrs.Account, chrs); db.LoadCharacters(chrs.Account, chrs); chrs.News = db.GetNews(Program.GameData, chrs.Account); chrs.OwnedSkins = Utils.GetCommaSepString(chrs.Account.OwnedSkins.ToArray()); } else { using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream)) wtr.WriteLine("<Error>User not found</Error>"); Context.Response.Close(); return; } XmlSerializer serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" }); XmlWriterSettings xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; xws.Indent = true; xws.IndentChars = " "; XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws); serializer.Serialize(xtw, chrs, chrs.Namespaces); } }
public override void HandleRequest(HttpListenerContext context) { NameValueCollection query; using (var rdr = new StreamReader(context.Request.InputStream)) query = HttpUtility.ParseQueryString(rdr.ReadToEnd()); if (query.AllKeys.Length == 0) { string queryString = string.Empty; string currUrl = context.Request.RawUrl; int iqs = currUrl.IndexOf('?'); if (iqs >= 0) { query = HttpUtility.ParseQueryString((iqs < currUrl.Length - 1) ? currUrl.Substring(iqs + 1) : String.Empty); } } using (var db = new Database(Program.Settings.GetValue("conn"))) { bool isGuest = db.Verify(query["guid"], query["password"]) == null ? true : false; Account acc = db.Verify(query["guid"], query["password"]); var chrs = new Chars { Characters = new List<Char>(), NextCharId = 2, MaxNumChars = 1, Account = db.Verify(query["guid"], query["password"]), Servers = isGuest ? NoServerList() : GetServerList(acc.Admin) }; if (chrs.Account != null) { if (!chrs.Account.isBanned) { db.GetCharData(chrs.Account, chrs); db.LoadCharacters(chrs.Account, chrs); chrs.News = db.GetNews(Program.GameData, chrs.Account); } } else { chrs.Account = Database.CreateGuestAccount(query["guid"]); chrs.News = db.GetNews(Program.GameData, null); } chrs.ClassAvailabilityList = GetClassAvailability(chrs.Account); var ms = new MemoryStream(); var serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) {Namespace = ""}); var xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws); serializer.Serialize(xtw, chrs, chrs.Namespaces); } }
public void HandleRequest(HttpListenerContext context) { NameValueCollection query; using (var rdr = new StreamReader(context.Request.InputStream)) query = HttpUtility.ParseQueryString(rdr.ReadToEnd()); using (var db = new Database()) { List<ServerItem> filteredServers = null; Account a = db.Verify(query["guid"], query["password"]); if (a != null) { if (a.Banned) { filteredServers = YoureBanned(); } else { filteredServers = GetServersForRank(a.Rank); } } else { filteredServers = GetServersForRank(0); } var chrs = new Chars { Characters = new List<Char>(), NextCharId = 2, MaxNumChars = 1, Account = db.Verify(query["guid"], query["password"]), Servers = filteredServers }; Account dvh = null; if (chrs.Account != null) { db.GetCharData(chrs.Account, chrs); db.LoadCharacters(chrs.Account, chrs); chrs.News = db.GetNews(chrs.Account); dvh = chrs.Account; } else { chrs.Account = Database.CreateGuestAccount(query["guid"]); chrs.News = db.GetNews(null); } var ms = new MemoryStream(); var serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) {Namespace = ""}); var xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws); serializer.Serialize(xtw, chrs, chrs.Namespaces); db.Dispose(); } }