diff options
Diffstat (limited to 'OpenSim/Region/Application')
-rw-r--r-- | OpenSim/Region/Application/OpenSimMain.cs | 80 |
1 files changed, 20 insertions, 60 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 074b34b..61541cc 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -46,6 +46,7 @@ using OpenSim.Region.Communications.OGS1; | |||
46 | using OpenSim.Region.Environment.Scenes; | 46 | using OpenSim.Region.Environment.Scenes; |
47 | using OpenSim.Region.Environment; | 47 | using OpenSim.Region.Environment; |
48 | using System.Text; | 48 | using System.Text; |
49 | using System.Collections.Generic; | ||
49 | 50 | ||
50 | namespace OpenSim | 51 | namespace OpenSim |
51 | { | 52 | { |
@@ -60,7 +61,9 @@ namespace OpenSim | |||
60 | protected bool m_useConfigFile; | 61 | protected bool m_useConfigFile; |
61 | public string m_configFileName; | 62 | public string m_configFileName; |
62 | 63 | ||
63 | protected CommunicationsManager commsManager; | 64 | protected List<UDPServer> m_udpServers = new List<UDPServer>(); |
65 | protected List<RegionInfo> m_regionData = new List<RegionInfo>(); | ||
66 | protected List<IWorld> m_localWorld = new List<IWorld>(); | ||
64 | 67 | ||
65 | private bool m_silent; | 68 | private bool m_silent; |
66 | private string m_logFilename = "region-console-" + Guid.NewGuid().ToString() + ".log"; | 69 | private string m_logFilename = "region-console-" + Guid.NewGuid().ToString() + ".log"; |
@@ -89,17 +92,13 @@ namespace OpenSim | |||
89 | m_httpServer.AddStreamHandler(new SimStatusHandler()); | 92 | m_httpServer.AddStreamHandler(new SimStatusHandler()); |
90 | } | 93 | } |
91 | 94 | ||
92 | AssetCache assetCache = m_assetCache; | ||
93 | assetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey); | ||
94 | m_inventoryCache = new InventoryCache(); | ||
95 | |||
96 | if (m_sandbox) | 95 | if (m_sandbox) |
97 | { | 96 | { |
98 | this.commsManager = new CommunicationsLocal( m_networkServersInfo, m_httpServer); | 97 | m_commsManager = new CommunicationsLocal( m_networkServersInfo, m_httpServer); |
99 | } | 98 | } |
100 | else | 99 | else |
101 | { | 100 | { |
102 | this.commsManager = new CommunicationsOGS1( m_networkServersInfo, m_httpServer ); | 101 | m_commsManager = new CommunicationsOGS1( m_networkServersInfo, m_httpServer ); |
103 | } | 102 | } |
104 | 103 | ||
105 | string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Regions"); | 104 | string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Regions"); |
@@ -129,60 +128,15 @@ namespace OpenSim | |||
129 | regionInfo.InitConfig(this.m_sandbox, regionConfig); | 128 | regionInfo.InitConfig(this.m_sandbox, regionConfig); |
130 | regionConfig.Close(); | 129 | regionConfig.Close(); |
131 | 130 | ||
131 | |||
132 | UDPServer udpServer; | ||
133 | Scene scene = SetupScene(regionInfo, out udpServer); | ||
134 | |||
135 | m_localWorld.Add(scene); | ||
132 | 136 | ||
133 | 137 | ||
134 | AuthenticateSessionsBase authenBase; | ||
135 | |||
136 | if (m_sandbox) | ||
137 | { | ||
138 | AuthenticateSessionsBase authen = new AuthenticateSessionsBase(); // new AuthenticateSessionsLocal(); | ||
139 | this.AuthenticateSessionsHandler.Add(authen); | ||
140 | authenBase = authen; | ||
141 | } | ||
142 | else | ||
143 | { | ||
144 | AuthenticateSessionsBase authen = new AuthenticateSessionsBase(); //new AuthenticateSessionsRemote(); | ||
145 | this.AuthenticateSessionsHandler.Add(authen); | ||
146 | authenBase = authen; | ||
147 | } | ||
148 | |||
149 | UDPServer udpServer = new UDPServer(regionInfo.InternalEndPoint.Port, assetCache, this.m_inventoryCache, this.m_log, authenBase); | ||
150 | |||
151 | m_udpServers.Add(udpServer); | 138 | m_udpServers.Add(udpServer); |
152 | m_regionData.Add(regionInfo); | 139 | m_regionData.Add(regionInfo); |
153 | |||
154 | StorageManager tmpStoreManager = GetStoreManager(regionInfo); | ||
155 | |||
156 | Scene scene = new Scene(regionInfo, authenBase, commsManager, assetCache, tmpStoreManager, m_httpServer); | ||
157 | m_localWorld.Add(scene); | ||
158 | |||
159 | udpServer.LocalWorld = scene; | ||
160 | |||
161 | scene.LoadStorageDLL("OpenSim.Region.Storage.LocalStorageDb4o.dll"); //all these dll names shouldn't be hard coded. | ||
162 | scene.LoadWorldMap(); | ||
163 | |||
164 | PhysicsScene physicsScene = GetPhysicsScene(m_physicsEngine); | ||
165 | |||
166 | scene.PhysScene = physicsScene; | ||
167 | scene.PhysScene.SetTerrain(scene.Terrain.getHeights1D()); | ||
168 | scene.LoadPrimsFromStorage(); | ||
169 | |||
170 | //Master Avatar Setup | ||
171 | UserProfileData masterAvatar = commsManager.UserServer.SetupMasterUser(scene.RegionInfo.MasterAvatarFirstName, scene.RegionInfo.MasterAvatarLastName, scene.RegionInfo.MasterAvatarSandboxPassword); | ||
172 | if (masterAvatar != null) | ||
173 | { | ||
174 | m_log.Notice("Parcels - Found master avatar [" + masterAvatar.UUID.ToStringHyphenated() + "]"); | ||
175 | scene.RegionInfo.MasterAvatarAssignedUUID = masterAvatar.UUID; | ||
176 | scene.localStorage.LoadLandObjects((ILocalStorageLandObjectReceiver)scene.LandManager); | ||
177 | } | ||
178 | else | ||
179 | { | ||
180 | m_log.Notice("Parcels - No master avatar found, using null."); | ||
181 | scene.RegionInfo.MasterAvatarAssignedUUID = libsecondlife.LLUUID.Zero; | ||
182 | scene.localStorage.LoadLandObjects((ILocalStorageLandObjectReceiver)scene.LandManager); | ||
183 | } | ||
184 | scene.performParcelPrimCountUpdate(); | ||
185 | scene.StartTimer(); | ||
186 | } | 140 | } |
187 | 141 | ||
188 | // Start UDP servers | 142 | // Start UDP servers |
@@ -193,15 +147,18 @@ namespace OpenSim | |||
193 | 147 | ||
194 | } | 148 | } |
195 | 149 | ||
196 | protected override StorageManager GetStoreManager(RegionInfo regionInfo) | 150 | protected override StorageManager CreateStorageManager(RegionInfo regionInfo) |
197 | { | 151 | { |
198 | return new StorageManager("OpenSim.DataStore.NullStorage.dll", regionInfo.DataStore, regionInfo.RegionName); | 152 | return new StorageManager("OpenSim.DataStore.NullStorage.dll", regionInfo.DataStore, regionInfo.RegionName); |
199 | } | 153 | } |
200 | 154 | ||
155 | protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, AgentCircuitManager circuitManager) | ||
156 | { | ||
157 | return new Scene(regionInfo, circuitManager, m_commsManager, m_assetCache, storageManager, m_httpServer); | ||
158 | } | ||
159 | |||
201 | protected override void Initialize() | 160 | protected override void Initialize() |
202 | { | 161 | { |
203 | m_log.Verbose("Loading Configuration [{0}]", m_configFileName); | ||
204 | |||
205 | IGenericConfig localConfig = new XmlConfig(m_configFileName); | 162 | IGenericConfig localConfig = new XmlConfig(m_configFileName); |
206 | localConfig.LoadData(); | 163 | localConfig.LoadData(); |
207 | 164 | ||
@@ -210,11 +167,14 @@ namespace OpenSim | |||
210 | SetupFromConfigFile(localConfig); | 167 | SetupFromConfigFile(localConfig); |
211 | } | 168 | } |
212 | 169 | ||
170 | StartLog(); | ||
171 | |||
213 | m_networkServersInfo.InitConfig(m_sandbox, localConfig); | 172 | m_networkServersInfo.InitConfig(m_sandbox, localConfig); |
214 | m_httpServerPort = m_networkServersInfo.HttpListenerPort; | 173 | m_httpServerPort = m_networkServersInfo.HttpListenerPort; |
215 | 174 | ||
216 | localConfig.Close(); | 175 | localConfig.Close(); |
217 | 176 | ||
177 | m_assetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey); | ||
218 | } | 178 | } |
219 | 179 | ||
220 | protected override LogBase CreateLog() | 180 | protected override LogBase CreateLog() |