aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Application/OpenSimMain.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs97
1 files changed, 31 insertions, 66 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index 368af12..18c81a0 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -78,26 +78,16 @@ namespace OpenSim
78 m_silent = silent; 78 m_silent = silent;
79 } 79 }
80 80
81
81 /// <summary> 82 /// <summary>
82 /// Performs initialisation of the world, such as loading configuration from disk. 83 /// Performs initialisation of the world, such as loading configuration from disk.
83 /// </summary> 84 /// </summary>
84 public void StartUp() 85 public override void StartUp()
85 { 86 {
86 this.m_serversData = new NetworkServersInfo(); 87 base.StartUp();
87
88 this.localConfig = new XmlConfig(m_config);
89 this.localConfig.LoadData();
90
91 if (this.configFileSetup)
92 {
93 this.SetupFromConfigFile(this.localConfig);
94 }
95
96 m_log = new LogBase(m_logFilename, "Region", this, m_silent);
97 MainLog.Instance = m_log;
98 88
99 m_log.Verbose("Main.cs:Startup() - Loading configuration"); 89 m_log.Verbose("Main.cs:Startup() - Loading configuration");
100 this.m_serversData.InitConfig(this.m_sandbox, this.localConfig); 90 this.m_networkServersInfo.InitConfig(this.m_sandbox, this.localConfig);
101 this.localConfig.Close();//for now we can close it as no other classes read from it , but this should change 91 this.localConfig.Close();//for now we can close it as no other classes read from it , but this should change
102 92
103 ScenePresence.LoadTextureFile("avatar-texture.dat"); 93 ScenePresence.LoadTextureFile("avatar-texture.dat");
@@ -106,19 +96,18 @@ namespace OpenSim
106 96
107 this.SetupHttpListener(); 97 this.SetupHttpListener();
108 98
99 m_assetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey);
100 m_inventoryCache = new InventoryCache();
101
109 if (m_sandbox) 102 if (m_sandbox)
110 { 103 {
111 this.SetupLocalGridServers(); 104 this.commsManager = new CommunicationsLocal( m_networkServersInfo, m_httpServer);
112 // this.checkServer = new CheckSumServer(12036);
113 // this.checkServer.ServerListener();
114 } 105 }
115 else 106 else
116 { 107 {
117 this.SetupRemoteGridServers(); 108 this.commsManager = new CommunicationsOGS1( m_networkServersInfo, m_httpServer );
118 } 109 }
119 110
120 m_startuptime = DateTime.Now;
121
122 this.SetupScene(); 111 this.SetupScene();
123 112
124 m_log.Verbose("Main.cs:Startup() - Initialising HTTP server"); 113 m_log.Verbose("Main.cs:Startup() - Initialising HTTP server");
@@ -135,44 +124,30 @@ namespace OpenSim
135 124
136 } 125 }
137 126
138 # region Setup methods 127 protected override void Initialize()
139 protected void SetupLocalGridServers()
140 { 128 {
141 try 129 this.localConfig = new XmlConfig(m_config);
142 { 130 this.localConfig.LoadData();
143 m_assetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", this.m_serversData.AssetURL, this.m_serversData.AssetSendKey); 131
144 m_inventoryCache = new InventoryCache(); 132 if (this.configFileSetup)
145 this.commsManager = new CommunicationsLocal(this.m_serversData, m_httpServer);
146 }
147 catch (Exception e)
148 { 133 {
149 m_log.Error(e.Message + "\nSorry, could not setup local cache"); 134 this.SetupFromConfigFile(this.localConfig);
150 Environment.Exit(1);
151 } 135 }
152
153 } 136 }
154 137
155 protected void SetupRemoteGridServers() 138 protected override LogBase CreateLog()
156 { 139 {
157 try 140 return new LogBase(m_logFilename, "Region", this, m_silent);
158 {
159 m_assetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", this.m_serversData.AssetURL, this.m_serversData.AssetSendKey);
160 m_inventoryCache = new InventoryCache();
161 this.commsManager = new CommunicationsOGS1(this.m_serversData, m_httpServer);
162 }
163 catch (Exception e)
164 {
165 m_log.Error(e.Message + "\nSorry, could not setup remote cache");
166 Environment.Exit(1);
167 }
168 } 141 }
169 142
143 # region Setup methods
144
170 protected void SetupScene() 145 protected void SetupScene()
171 { 146 {
172 IGenericConfig regionConfig; 147 IGenericConfig regionConfig;
173 Scene scene; 148
174 UDPServer udpServer; 149 UDPServer udpServer;
175 RegionInfo regionDat = new RegionInfo(); 150 RegionInfo m_regionInfo = new RegionInfo();
176 AuthenticateSessionsBase authenBase; 151 AuthenticateSessionsBase authenBase;
177 152
178 string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Regions"); 153 string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Regions");
@@ -194,7 +169,7 @@ namespace OpenSim
194 169
195 for (int i = 0; i < configFiles.Length; i++) 170 for (int i = 0; i < configFiles.Length; i++)
196 { 171 {
197 regionDat = new RegionInfo(); 172 m_regionInfo = new RegionInfo();
198 if (m_sandbox) 173 if (m_sandbox)
199 { 174 {
200 AuthenticateSessionsBase authen = new AuthenticateSessionsBase(); // new AuthenticateSessionsLocal(); 175 AuthenticateSessionsBase authen = new AuthenticateSessionsBase(); // new AuthenticateSessionsLocal();
@@ -210,17 +185,17 @@ namespace OpenSim
210 Console.WriteLine("Loading region config file"); 185 Console.WriteLine("Loading region config file");
211 regionConfig = new XmlConfig(configFiles[i]); 186 regionConfig = new XmlConfig(configFiles[i]);
212 regionConfig.LoadData(); 187 regionConfig.LoadData();
213 regionDat.InitConfig(this.m_sandbox, regionConfig); 188 m_regionInfo.InitConfig(this.m_sandbox, regionConfig);
214 regionConfig.Close(); 189 regionConfig.Close();
215 190
216 udpServer = new UDPServer(regionDat.InternalEndPoint.Port, m_assetCache, this.m_inventoryCache, this.m_log, authenBase); 191 udpServer = new UDPServer(m_regionInfo.InternalEndPoint.Port, m_assetCache, this.m_inventoryCache, this.m_log, authenBase);
217 192
218 m_udpServer.Add(udpServer); 193 m_udpServer.Add(udpServer);
219 this.m_regionData.Add(regionDat); 194 this.m_regionData.Add(m_regionInfo);
220 195
221 StorageManager tmpStoreManager = new StorageManager("OpenSim.DataStore.NullStorage.dll", regionDat.DataStore, regionDat.RegionName); 196 StorageManager tmpStoreManager = new StorageManager("OpenSim.DataStore.NullStorage.dll", m_regionInfo.DataStore, m_regionInfo.RegionName);
222 197
223 scene = new Scene( regionDat, authenBase, commsManager, m_assetCache, tmpStoreManager, m_httpServer); 198 Scene scene = new Scene( m_regionInfo, authenBase, commsManager, m_assetCache, tmpStoreManager, m_httpServer);
224 this.m_localWorld.Add(scene); 199 this.m_localWorld.Add(scene);
225 200
226 udpServer.LocalWorld = scene; 201 udpServer.LocalWorld = scene;
@@ -253,12 +228,9 @@ namespace OpenSim
253 } 228 }
254 } 229 }
255 230
256 private static PhysicsScene GetPhysicsScene(string physicsEngine) 231 protected override PhysicsScene GetPhysicsScene( )
257 { 232 {
258 PhysicsPluginManager physicsPluginManager; 233 return GetPhysicsScene( m_physicsEngine );
259 physicsPluginManager = new PhysicsPluginManager();
260 physicsPluginManager.LoadPlugins();
261 return physicsPluginManager.GetPhysicsScene( physicsEngine );
262 } 234 }
263 235
264 private class SimStatusHandler : IStreamHandler 236 private class SimStatusHandler : IStreamHandler
@@ -286,7 +258,7 @@ namespace OpenSim
286 258
287 protected void SetupHttpListener() 259 protected void SetupHttpListener()
288 { 260 {
289 m_httpServer = new BaseHttpServer(this.m_serversData.HttpListenerPort); //regionData[0].IPListenPort); 261 m_httpServer = new BaseHttpServer(this.m_networkServersInfo.HttpListenerPort); //regionData[0].IPListenPort);
290 262
291 if (!this.m_sandbox) 263 if (!this.m_sandbox)
292 { 264 {
@@ -372,16 +344,9 @@ namespace OpenSim
372 switch (attri) 344 switch (attri)
373 { 345 {
374 default: 346 default:
375 m_log.Warn("Main.cs: SetupFromConfig() - Invalid value for PhysicsEngine attribute, terminating"); 347 throw new ArgumentException(String.Format( "Invalid value [{0}] for PhysicsEngine attribute, terminating", attri ) );
376 Environment.Exit(1);
377 break;
378 348
379 case "": 349 case "":
380 this.m_physicsEngine = "basicphysics";
381 configData.SetAttribute("PhysicsEngine", "basicphysics");
382 ScenePresence.PhysicsEngineFlying = false;
383 break;
384
385 case "basicphysics": 350 case "basicphysics":
386 this.m_physicsEngine = "basicphysics"; 351 this.m_physicsEngine = "basicphysics";
387 configData.SetAttribute("PhysicsEngine", "basicphysics"); 352 configData.SetAttribute("PhysicsEngine", "basicphysics");