Exemplo n.º 1
0
        /// <summary>
        /// Updates the Dynamic yams.at DNS.
        /// </summary>
        public static void UpdateDNS()
        {
            string externalIP = Networking.GetExternalIP().ToString();

            if (externalIP != Database.GetSetting("LastExternalIP", "YAMS"))
            {
                //IP has changed since last time we checked so update the DNS
                string strVars = "action=update&domain=" + Database.GetSetting("DNSName", "YAMS") + "&secret=" + Database.GetSetting("DNSSecret", "YAMS") + "&ip=" + externalIP;
                try
                {
                    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://yams.in/dns/?" + strVars);
                    request.Method = "GET";

                    //Grab the response
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                    Database.AddLog("Updated Dynamic DNS");
                    Database.SaveSetting("LastExternalIP", externalIP);
                }
                catch (System.Net.WebException ex)
                {
                    Database.AddLog("Couldn't update DNS: " + ex.Message);
                }
            }
        }
Exemplo n.º 2
0
        //Initial Set-up for first run only
        public static void FirstRun()
        {
            //Grab latest server jar
            YAMS.AutoUpdate.UpdateIfNeeded(YAMS.AutoUpdate.strMCServerURL, YAMS.Core.RootFolder + @"\lib\minecraft_server.jar.UPDATE");

            //Set our MC Defaults in the DB
            var NewServer = new List <KeyValuePair <string, string> >();

            NewServer.Add(new KeyValuePair <string, string>("admin-slot", "true"));
            NewServer.Add(new KeyValuePair <string, string>("enable-health", "true"));
            NewServer.Add(new KeyValuePair <string, string>("hellworld", "false"));
            NewServer.Add(new KeyValuePair <string, string>("level-name", @"world"));
            NewServer.Add(new KeyValuePair <string, string>("max-players", "20"));
            NewServer.Add(new KeyValuePair <string, string>("motd", "Welcome to a YAMS server!"));
            NewServer.Add(new KeyValuePair <string, string>("online-mode", "true"));
            NewServer.Add(new KeyValuePair <string, string>("public", "false"));
            NewServer.Add(new KeyValuePair <string, string>("pvp", "true"));
            NewServer.Add(new KeyValuePair <string, string>("server-ip", ""));
            NewServer.Add(new KeyValuePair <string, string>("server-name", "My YAMS MC Server"));
            NewServer.Add(new KeyValuePair <string, string>("server-port", "25565"));
            NewServer.Add(new KeyValuePair <string, string>("spawn-animals", "true"));
            NewServer.Add(new KeyValuePair <string, string>("spawn-monsters", "true"));
            NewServer.Add(new KeyValuePair <string, string>("verify-names", "true"));
            NewServer.Add(new KeyValuePair <string, string>("white-list", "false"));
            Database.NewServer(NewServer, "My First YAMS Server");

            //Set our YAMS Defaults
            Database.SaveSetting("UpdateJAR", "true");
            Database.SaveSetting("UpdateSVC", "true");
            Database.SaveSetting("UpdateGUI", "true");
            Database.SaveSetting("UpdateWeb", "true");
            Database.SaveSetting("UpdateAddons", "true");
            Database.SaveSetting("RestartOnJarUpdate", "true");
            Database.SaveSetting("RestartOnSVCUpdate", "true");
            Database.SaveSetting("Memory", "1024");
            Database.SaveSetting("EnableJavaOptimisations", "true");
            Database.SaveSetting("AdminListenPort", "56552");                                                         //Use an IANA legal internal port 49152 - 65535
            Database.SaveSetting("PublicListenPort", Convert.ToString(Networking.TcpPort.FindNextAvailablePort(80))); //Find nearest open port to 80 for public site
            Database.SaveSetting("ExternalIP", Networking.GetExternalIP().ToString());
            Database.SaveSetting("ListenIP", Networking.GetListenIP().ToString());
            Database.SaveSetting("UpdateBranch", "live");

            //Run an update now
            AutoUpdate.CheckUpdates();

            //Tell the DB that we've run this
            Database.SaveSetting("FirstRun", "true");
        }