Beispiel #1
0
        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).
             * */
        }
Beispiel #2
0
        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);
        }