* minor: Comments
parent
41ad610f3e
commit
b47e405420
|
@ -36,25 +36,47 @@ using OpenSim.Framework.Console;
|
|||
|
||||
namespace OpenSim
|
||||
{
|
||||
/// <summary>
|
||||
/// Starting class for the OpenSimulator Region
|
||||
/// </summary>
|
||||
public class Application
|
||||
{
|
||||
/// <summary>
|
||||
/// Text Console Logger
|
||||
/// </summary>
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
/// <summary>
|
||||
/// Path to the main ini Configuration file
|
||||
/// </summary>
|
||||
public static string iniFilePath = "";
|
||||
|
||||
/// <summary>
|
||||
/// Save Crashes in the bin/crashes folder. Configurable with m_crashDir
|
||||
/// </summary>
|
||||
public static bool m_saveCrashDumps = false;
|
||||
|
||||
/// <summary>
|
||||
/// Directory to save crash reports to. Relative to bin/
|
||||
/// </summary>
|
||||
public static string m_crashDir = "crashes";
|
||||
|
||||
/// <summary>
|
||||
/// Instance of the OpenSim class. This could be OpenSim or OpenSimBackground depending on the configuration
|
||||
/// </summary>
|
||||
protected static OpenSimBase m_sim = null;
|
||||
|
||||
//could move our main function into OpenSimMain and kill this class
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
// First line
|
||||
// First line, hook the appdomain to the crash reporter
|
||||
AppDomain.CurrentDomain.UnhandledException +=
|
||||
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
|
||||
|
||||
// Add the arguments supplied when running the application to the configuration
|
||||
ArgvConfigSource configSource = new ArgvConfigSource(args);
|
||||
|
||||
// Configure Log4Net
|
||||
configSource.AddSwitch("Startup", "logconfig");
|
||||
string logConfigFile = configSource.Configs["Startup"].GetString("logconfig", String.Empty);
|
||||
if (logConfigFile != String.Empty)
|
||||
|
@ -69,6 +91,8 @@ namespace OpenSim
|
|||
m_log.Info("[OPENSIM MAIN]: configured log4net using default OpenSim.exe.config");
|
||||
}
|
||||
|
||||
// Check if the system is compatible with OpenSimulator.
|
||||
// Ensures that the minimum system requirements are met
|
||||
m_log.Info("Performing compatibility checks... ");
|
||||
string supported = String.Empty;
|
||||
if (Util.IsEnvironmentSupported(ref supported))
|
||||
|
@ -80,6 +104,7 @@ namespace OpenSim
|
|||
m_log.Warn("Environment is unsupported (" + supported + ")\n");
|
||||
}
|
||||
|
||||
// Configure nIni aliases and localles
|
||||
Culture.SetCurrentCulture();
|
||||
|
||||
|
||||
|
@ -99,8 +124,13 @@ namespace OpenSim
|
|||
configSource.AddConfig("StandAlone");
|
||||
configSource.AddConfig("Network");
|
||||
|
||||
// Check if we're running in the background or not
|
||||
bool background = configSource.Configs["Startup"].GetBoolean("background", false);
|
||||
|
||||
// Check if we're saving crashes
|
||||
m_saveCrashDumps = configSource.Configs["Startup"].GetBoolean("save_crashes", false);
|
||||
|
||||
// load Crash directory config
|
||||
m_crashDir = configSource.Configs["Startup"].GetString("crash_dir", m_crashDir);
|
||||
|
||||
if (background)
|
||||
|
@ -118,6 +148,7 @@ namespace OpenSim
|
|||
{
|
||||
try
|
||||
{
|
||||
// Block thread here for input
|
||||
MainConsole.Instance.Prompt();
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
|
@ -37,12 +37,32 @@ using OpenSim.Framework;
|
|||
|
||||
namespace OpenSim
|
||||
{
|
||||
/// <summary>
|
||||
/// Loads the Configuration files into nIni
|
||||
/// </summary>
|
||||
public class ConfigurationLoader
|
||||
{
|
||||
/// <summary>
|
||||
/// Various Config settings the region needs to start
|
||||
/// Physics Engine, Mesh Engine, GridMode, PhysicsPrim allowed, Neighbor,
|
||||
/// StorageDLL, Storage Connection String, Estate connection String, Client Stack
|
||||
/// Standalone settings.
|
||||
/// </summary>
|
||||
protected ConfigSettings m_configSettings;
|
||||
|
||||
/// <summary>
|
||||
/// A source of Configuration data
|
||||
/// </summary>
|
||||
protected OpenSimConfigSource m_config;
|
||||
|
||||
/// <summary>
|
||||
/// Grid Service Information. This refers to classes and addresses of the grid service
|
||||
/// </summary>
|
||||
protected NetworkServersInfo m_networkServersInfo;
|
||||
|
||||
/// <summary>
|
||||
/// Console logger
|
||||
/// </summary>
|
||||
private static readonly ILog m_log =
|
||||
LogManager.GetLogger(
|
||||
MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
@ -51,6 +71,13 @@ namespace OpenSim
|
|||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Loads the region configuration
|
||||
/// </summary>
|
||||
/// <param name="argvSource">Parameters passed into the process when started</param>
|
||||
/// <param name="configSettings"></param>
|
||||
/// <param name="networkInfo"></param>
|
||||
/// <returns>A configuration that gets passed to modules</returns>
|
||||
public OpenSimConfigSource LoadConfigSettings(
|
||||
IConfigSource argvSource, out ConfigSettings configSettings,
|
||||
out NetworkServersInfo networkInfo)
|
||||
|
@ -169,15 +196,22 @@ namespace OpenSim
|
|||
return m_config;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the included files as ini configuration files
|
||||
/// </summary>
|
||||
/// <param name="sources">List of URL strings or filename strings</param>
|
||||
private void AddIncludes(List<string> sources)
|
||||
{
|
||||
//loop over config sources
|
||||
foreach (IConfig config in m_config.Source.Configs)
|
||||
{
|
||||
// Look for Include-* in the key name
|
||||
string[] keys = config.GetKeys();
|
||||
foreach (string k in keys)
|
||||
{
|
||||
if (k.StartsWith("Include-"))
|
||||
{
|
||||
// read the config file to be included.
|
||||
string file = config.GetString(k);
|
||||
if (IsUri(file))
|
||||
{
|
||||
|
@ -199,7 +233,11 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if we can convert the string to a URI
|
||||
/// </summary>
|
||||
/// <param name="file">String uri to the remote resource</param>
|
||||
/// <returns>true if we can convert the string to a Uri object</returns>
|
||||
bool IsUri(string file)
|
||||
{
|
||||
Uri configUri;
|
||||
|
@ -253,7 +291,7 @@ namespace OpenSim
|
|||
/// <summary>
|
||||
/// Setup a default config values in case they aren't present in the ini file
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <returns>A Configuration source containing the default configuration</returns>
|
||||
private static IConfigSource DefaultConfig()
|
||||
{
|
||||
IConfigSource defaultConfig = new IniConfigSource();
|
||||
|
@ -322,6 +360,9 @@ namespace OpenSim
|
|||
return defaultConfig;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Read initial region settings from the ConfigSource
|
||||
/// </summary>
|
||||
protected virtual void ReadConfigSettings()
|
||||
{
|
||||
IConfig startupConfig = m_config.Source.Configs["Startup"];
|
||||
|
|
|
@ -29,12 +29,24 @@ using OpenSim.Framework;
|
|||
|
||||
namespace OpenSim
|
||||
{
|
||||
/// <summary>
|
||||
/// OpenSimulator Application Plugin framework interface
|
||||
/// </summary>
|
||||
public interface IApplicationPlugin : IPlugin
|
||||
{
|
||||
/// <summary>
|
||||
/// Initialize the Plugin
|
||||
/// </summary>
|
||||
/// <param name="openSim">The Application instance</param>
|
||||
void Initialise(OpenSimBase openSim);
|
||||
|
||||
/// <summary>
|
||||
/// Called when the application loading is completed
|
||||
/// </summary>
|
||||
void PostInitialise();
|
||||
}
|
||||
|
||||
|
||||
public class ApplicationPluginInitialiser : PluginInitialiserBase
|
||||
{
|
||||
private OpenSimBase server;
|
||||
|
|
|
@ -146,6 +146,9 @@ namespace OpenSim
|
|||
ChangeSelectedRegion("region", new string[] {"change", "region", "root"});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register standard set of region console commands
|
||||
/// </summary>
|
||||
private void RegisterConsoleCommands()
|
||||
{
|
||||
m_console.Commands.AddCommand("region", false, "clear assets",
|
||||
|
@ -332,6 +335,11 @@ namespace OpenSim
|
|||
base.ShutdownSpecific();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Timer to run a specific text file as console commands. Configured in in the main ini file
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void RunAutoTimerScript(object sender, EventArgs e)
|
||||
{
|
||||
if (m_timedScript != "disabled")
|
||||
|
@ -342,6 +350,11 @@ namespace OpenSim
|
|||
|
||||
#region Console Commands
|
||||
|
||||
/// <summary>
|
||||
/// Kicks users off the region
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmdparams">name of avatar to kick</param>
|
||||
private void KickUserCommand(string module, string[] cmdparams)
|
||||
{
|
||||
if (cmdparams.Length < 4)
|
||||
|
@ -401,6 +414,10 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opens a file and uses it as input to the console command parser.
|
||||
/// </summary>
|
||||
/// <param name="fileName">name of file to use as input to the console</param>
|
||||
private static void PrintFileToConsole(string fileName)
|
||||
{
|
||||
if (File.Exists(fileName))
|
||||
|
@ -419,12 +436,22 @@ namespace OpenSim
|
|||
m_log.Info("Not implemented.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Force resending of all updates to all clients in active region(s)
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="args"></param>
|
||||
private void HandleForceUpdate(string module, string[] args)
|
||||
{
|
||||
m_log.Info("Updating all clients");
|
||||
m_sceneManager.ForceCurrentSceneClientUpdate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Edits the scale of a primative with the name specified
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="args">0,1, name, x, y, z</param>
|
||||
private void HandleEditScale(string module, string[] args)
|
||||
{
|
||||
if (args.Length == 6)
|
||||
|
@ -437,6 +464,11 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new region based on the parameters specified. This will ask the user questions on the console
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmd">0,1,region name, region XML file</param>
|
||||
private void HandleCreateRegion(string module, string[] cmd)
|
||||
{
|
||||
if (cmd.Length < 4)
|
||||
|
@ -473,16 +505,32 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enable logins
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmd"></param>
|
||||
private void HandleLoginEnable(string module, string[] cmd)
|
||||
{
|
||||
ProcessLogin(true);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Disable logins
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmd"></param>
|
||||
private void HandleLoginDisable(string module, string[] cmd)
|
||||
{
|
||||
ProcessLogin(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Log login status to the console
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmd"></param>
|
||||
private void HandleLoginStatus(string module, string[] cmd)
|
||||
{
|
||||
if (m_commsManager.GridService.RegionLoginsEnabled == false)
|
||||
|
@ -492,6 +540,12 @@ namespace OpenSim
|
|||
m_log.Info("[ Login ] Login are enabled");
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Change and load configuration file data.
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmd"></param>
|
||||
private void HandleConfig(string module, string[] cmd)
|
||||
{
|
||||
List<string> args = new List<string>(cmd);
|
||||
|
@ -557,6 +611,12 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Load, Unload, and list Region modules in use
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmd"></param>
|
||||
private void HandleModules(string module, string[] cmd)
|
||||
{
|
||||
List<string> args = new List<string>(cmd);
|
||||
|
@ -797,6 +857,11 @@ namespace OpenSim
|
|||
}
|
||||
|
||||
// see BaseOpenSimServer
|
||||
/// <summary>
|
||||
/// Many commands list objects for debugging. Some of the types are listed here
|
||||
/// </summary>
|
||||
/// <param name="mod"></param>
|
||||
/// <param name="cmd"></param>
|
||||
public override void HandleShow(string mod, string[] cmd)
|
||||
{
|
||||
base.HandleShow(mod, cmd);
|
||||
|
@ -902,6 +967,10 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// print UDP Queue data for each client
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private string GetQueuesReport()
|
||||
{
|
||||
string report = String.Empty;
|
||||
|
@ -1010,6 +1079,11 @@ namespace OpenSim
|
|||
m_commsManager.UserAdminService.ResetUserPassword(firstName, lastName, newPassword);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use XML2 format to serialize data to a file
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmdparams"></param>
|
||||
protected void SavePrimsXml2(string module, string[] cmdparams)
|
||||
{
|
||||
if (cmdparams.Length > 5)
|
||||
|
@ -1022,6 +1096,11 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use XML format to serialize data to a file
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmdparams"></param>
|
||||
protected void SaveXml(string module, string[] cmdparams)
|
||||
{
|
||||
m_log.Error("[CONSOLE]: PLEASE NOTE, save-xml is DEPRECATED and may be REMOVED soon. If you are using this and there is some reason you can't use save-xml2, please file a mantis detailing the reason.");
|
||||
|
@ -1036,6 +1115,11 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Loads data and region objects from XML format.
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmdparams"></param>
|
||||
protected void LoadXml(string module, string[] cmdparams)
|
||||
{
|
||||
m_log.Error("[CONSOLE]: PLEASE NOTE, load-xml is DEPRECATED and may be REMOVED soon. If you are using this and there is some reason you can't use load-xml2, please file a mantis detailing the reason.");
|
||||
|
@ -1079,7 +1163,11 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serialize region data to XML2Format
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmdparams"></param>
|
||||
protected void SaveXml2(string module, string[] cmdparams)
|
||||
{
|
||||
if (cmdparams.Length > 2)
|
||||
|
@ -1092,6 +1180,11 @@ namespace OpenSim
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Load region data from Xml2Format
|
||||
/// </summary>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="cmdparams"></param>
|
||||
protected void LoadXml2(string module, string[] cmdparams)
|
||||
{
|
||||
if (cmdparams.Length > 2)
|
||||
|
|
Loading…
Reference in New Issue