public WorldDownloader DownloadWorldData() { if (World == null) { throw new NullReferenceException("WorldHandler.World is null"); } WorldDownloader downloader = new WorldDownloader(); downloader.DownloadsComplete += new EventHandler(downloader_DownloadsComplete); downloader.AddDownload(World.Server + "/interface.php?func=get_config", m_ConfigFile.FilePath); downloader.AddDownload(World.Server + "/map/village.txt.gz", m_VillageFile.FilePath + ".gz"); downloader.AddDownload(World.Server + "/map/player.txt.gz", m_PlayerFile.FilePath + ".gz"); downloader.StartDownloads(); return(downloader); // TODO: Download the world data from the DS server: // /map/ally.txt.gz - NOT YET // /map/conquer.txt.gz - NOT YET // /map/profile.txt.gz - NOT YET /* * Die einzelnen Daten sind mit Hilfe der PHP-Funktion urlencode() codiert, dh. dass zB. ein Komma durch %2C ersetzt ist. * * /map/ally.txt - /map/ally.txt.gz * In dieser Datei sind Informationen über die Stämme. Die Daten stehen in folgender Reihenfolge zur Verfügung: * * $id, $name, $tag, $members, $villages, $points, $all_points, $rank * /map/conquer.txt - /map/conquer.txt.gz * In dieser Datei sind alle Adelungen seit Beginn der Welt enthalten. Die Daten stehen in folgender Reihenfolge zur Verfügung: * * $village_id, $unix_timestamp, $new_owner, $old_owner * /interface.php?func=get_conquer&since=unix_timestamp * Über diese Funktion kann man sich alle Adelungen seit dem letzten Unix-Timestamp ausgeben lassen. Der Timestamp darf maximal 24 Stunden zurück liegen. Die Daten stehen in folgender Reihenfolge zur Verfügung: * * $village_id, $unix_timestamp, $new_owner, $old_owner * /map/profile.txt - /map/profile.txt.gz * In dieser Datei sind die Profildaten der Spieler. Die Daten stehen in folgender Reihenfolge zur Verfügung: * * $player_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname * /interface.php?func=get_config * Über diese Funktion kann man die Konfiguration der Welt auslesen (Format: XML). * */ }
public WorldDownloader DownloadServerInfo(Server server) { WorldDownloader serverInfoDownloader = new WorldDownloader(); ServersFile serverFile = server.getServerFile(m_DownloadDir); serverInfoDownloader.DownloadsComplete += (sender, args) => { serverFile.ParseFile(); foreach (WorldInfo i in serverFile.WorldInfo) { m_Wolrds.Add(i); } }; serverInfoDownloader.AddDownload(serverFile.Url, serverFile.FilePath); serverInfoDownloader.StartDownloads(); return(serverInfoDownloader); }