From 2db5de3e7217ca4bd9fcaf5345ea5672b5d6663f Mon Sep 17 00:00:00 2001 From: Tedd Hansen Date: Sat, 2 Feb 2008 07:35:51 +0000 Subject: [PATCH] Added commands to change config file from console: CONFIG SET section key value value value CONFIG GET section key CONFIG SAVE (it saves, but does it save correctly?:) ScriptEngine will react correctly to any config change made while it is running. --- .../Framework/Data.MySQL/MySQLDataStore.cs | 16 ++++- OpenSim/Framework/RegionInfo.cs | 2 +- OpenSim/Region/Application/OpenSimMain.cs | 63 +++++++++++++++++- OpenSim/Region/ClientStack/UDPServer.cs | 2 +- .../Common/ScriptEngineBase/ScriptEngine.cs | 12 ++-- bin/OpenSim.32BitLaunch.exe | Bin 4608 -> 4608 bytes bin/OpenSim.32BitLaunch.pdb | Bin 11776 -> 11776 bytes bin/OpenSim.32BitLaunch.vshost.exe | Bin 14848 -> 0 bytes 8 files changed, 83 insertions(+), 12 deletions(-) delete mode 100755 bin/OpenSim.32BitLaunch.vshost.exe diff --git a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs index 45d0720132..b25924c7e7 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs @@ -415,11 +415,12 @@ namespace OpenSim.Framework.Data.MySQL } } + static Random rnd = new Random(); public void StoreLandObject(Land parcel, LLUUID regionUUID) { // Does the new locking fix it? - //MainLog.Instance.Verbose("DATASTORE", "Tedds temp fix: Waiting 3 seconds for stuff to catch up. (Someone please fix! :))"); - //System.Threading.Thread.Sleep(3000); + MainLog.Instance.Verbose("DATASTORE", "Tedds temp fix: Waiting 3 seconds for stuff to catch up. (Someone please fix! :))"); + System.Threading.Thread.Sleep(2500 + rnd.Next(300, 900)); lock (DBAccessLock) { @@ -1469,7 +1470,16 @@ namespace OpenSim.Framework.Data.MySQL if (conn.State != ConnectionState.Open) { - conn.Open(); + try + { + conn.Open(); + } + catch (Exception ex) + { + MainLog.Instance.Error("MySql", "Error connecting to MySQL server: " + ex.Message); + MainLog.Instance.Error("MySql", "Application is terminating!"); + System.Threading.Thread.CurrentThread.Abort(); + } } try diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index b8437745e8..be0b3e0d93 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs @@ -310,7 +310,7 @@ namespace OpenSim.Framework NetworkServersInfo.DefaultHttpListenerPort.ToString(), false); configMember.addConfigurationOption("allow_alternate_ports", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "Allow sim to find alternate UDP ports when ports are in use?", - "false", false); + "false", true); configMember.addConfigurationOption("external_host_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "External Host Name", "127.0.0.1", false); diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 8934be2ace..223b4a5d8f 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs @@ -720,6 +720,9 @@ namespace OpenSim m_log.Error("show modules - shows info aboutloaded modules."); m_log.Error("stats - statistical information for this server not displayed in the client"); m_log.Error("shutdown - disconnect all clients and shutdown."); + m_log.Error("config set category field value - set a config value"); + m_log.Error("config get category field - get a config value"); + m_log.Error("config save - save OpenSim.ini"); m_log.Error("terrain help - show help for terrain commands."); break; @@ -911,8 +914,66 @@ namespace OpenSim MainLog.Instance.Notice("STATS", "Extra statistics collection has not been enabled"); } break; - + case "config": + string n = command.ToUpper(); + if (cmdparams.Length > 0) + { + switch (cmdparams[0].ToLower()) + { + case "set": + if (cmdparams.Length < 4) + { + MainLog.Instance.Notice(n, "SYNTAX: " + n + " SET SECTION KEY VALUE"); + MainLog.Instance.Notice(n, "EXAMPLE: " + n + " SET ScriptEngine.DotNetEngine NumberOfScriptThreads 5"); + } + else + { + IConfig c = DefaultConfig().Configs[cmdparams[1]]; + if (c == null) + c = DefaultConfig().AddConfig(cmdparams[1]); + string _value = String.Join(" ", cmdparams, 3, cmdparams.Length - 3); + c.Set(cmdparams[2], _value); + m_config.Merge(c.ConfigSource); + + MainLog.Instance.Notice(n, + n + " " + n + " " + cmdparams[1] + " " + cmdparams[2] + " " + + _value); + } + break; + case "get": + if (cmdparams.Length < 3) + { + MainLog.Instance.Notice(n, "SYNTAX: " + n + " GET SECTION KEY"); + MainLog.Instance.Notice(n, "EXAMPLE: " + n + " GET ScriptEngine.DotNetEngine NumberOfScriptThreads"); + } + else + { + IConfig c = DefaultConfig().Configs[cmdparams[1]]; + if (c == null) + { + MainLog.Instance.Notice(n, "Section \"" + cmdparams[1] + "\" does not exist."); + break; + } + else + { + MainLog.Instance.Notice(n, + n + " GET " + cmdparams[1] + " " + cmdparams[2] + ": " + + c.GetString(cmdparams[2])); + } + } + + break; + case "save": + MainLog.Instance.Notice(n, "Saving configuration file: " + Application.iniFilePath); + m_config.Save(Application.iniFilePath); + break; + } + } + else + { + } + break; default: m_log.Error("Unknown command"); break; diff --git a/OpenSim/Region/ClientStack/UDPServer.cs b/OpenSim/Region/ClientStack/UDPServer.cs index e292c2ca73..0fd34865dc 100644 --- a/OpenSim/Region/ClientStack/UDPServer.cs +++ b/OpenSim/Region/ClientStack/UDPServer.cs @@ -257,7 +257,7 @@ namespace OpenSim.Region.ClientStack { uint newPort = listenPort; - for (uint i = 0; i < 10; i++) + for (uint i = 0; i < 20; i++) { newPort = listenPort + i; m_log.Verbose("SERVER", "Opening UDP socket on " + listenIP.ToString() + " " + newPort + ". Allow alternate ports: " + Allow_Alternate_Port.ToString()); diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs index 0b58da0015..4cf39b463a 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs @@ -134,14 +134,14 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase #if DEBUG Log.Debug(ScriptEngineName, "Refreshing configuration for all modules"); #endif - RefreshConfigFileSeconds = ScriptConfigSource.GetInt("RefreshConfig", 0); + RefreshConfigFileSeconds = ScriptConfigSource.GetInt("RefreshConfig", 30); - // Reload from disk + // Reload from disk? No! //ConfigSource.Reload(); - if (File.Exists(OpenSim.Application.iniFilePath)) - { - //ConfigSource.Merge(new IniConfigSource(OpenSim.Application.iniFilePath)); - } + //if (File.Exists(OpenSim.Application.iniFilePath)) + //{ + // //ConfigSource.Merge(new IniConfigSource(OpenSim.Application.iniFilePath)); + //} // Create a new object (probably not necessary?) diff --git a/bin/OpenSim.32BitLaunch.exe b/bin/OpenSim.32BitLaunch.exe index 9a91a622823df5b04fce411f0d179c9bb39ee5bd..f16f5b2867bc03ae602c70e0bfb9d004dca7111f 100755 GIT binary patch delta 48 zcmZorX;7Ka!E{7?W7j4&fw`0Q97`3VCG~W_9sBO$wnMnjNF@JITmvQ E0L&H<(EtDd delta 48 zcmZorX;7Ka!Q{ugv1=2Xz=S7uosCt|4tuY$$h7dtN=^1*e*%=7Y{a3($htX}V=*TH Ds}B$K diff --git a/bin/OpenSim.32BitLaunch.pdb b/bin/OpenSim.32BitLaunch.pdb index eacf47c613bca09cee463a394a70b25633a8d94a..4ae2e48d8853b3ceca004467ee530edaa6b8c92e 100644 GIT binary patch delta 134 zcmZpOX^5Gi!#HE3t~Lj&C<6ln^JZVI#f+0UA|_k#S!}M+Dq!5i!@W^23xak)1OihSo~Lm;e9( diff --git a/bin/OpenSim.32BitLaunch.vshost.exe b/bin/OpenSim.32BitLaunch.vshost.exe deleted file mode 100755 index 9c4b9b802e6dbe12d86b50381fad5dd8aa9ce0c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14848 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 a+FxSVtUg-sgoEwWSzzGj_VF`unDjq!Lbo3P