aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/MiscCapsModule.cs125
-rw-r--r--OpenSim/Server/Handlers/Map/MapAddServerConnector.cs124
-rw-r--r--OpenSim/Server/Handlers/Map/MapGetServerConnector.cs1
-rw-r--r--OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs81
-rw-r--r--OpenSim/Services/MapImageService/MapImageService.cs2
-rw-r--r--bin/OpenSim.ini.example5
-rw-r--r--bin/Robust.HG.ini.example8
-rw-r--r--bin/Robust.ini.example9
-rw-r--r--bin/config-include/Grid.ini6
-rw-r--r--bin/config-include/GridCommon.ini.example3
-rw-r--r--bin/config-include/GridHypergrid.ini8
11 files changed, 323 insertions, 49 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/MiscCapsModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/MiscCapsModule.cs
new file mode 100644
index 0000000..3dcd1e3
--- /dev/null
+++ b/OpenSim/Region/ClientStack/Linden/Caps/MiscCapsModule.cs
@@ -0,0 +1,125 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Collections;
30using System.Reflection;
31using log4net;
32using Nini.Config;
33using Mono.Addins;
34using OpenMetaverse;
35using OpenSim.Framework;
36using OpenSim.Framework.Servers.HttpServer;
37using OpenSim.Region.Framework.Interfaces;
38using OpenSim.Region.Framework.Scenes;
39using OpenSim.Services.Interfaces;
40using Caps = OpenSim.Framework.Capabilities.Caps;
41using OpenSim.Capabilities.Handlers;
42
43namespace OpenSim.Region.ClientStack.Linden
44{
45 /// <summary>
46 /// A module to place miscellaneous capabilities
47 /// </summary>
48 ///
49 [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
50 public class MiscCapsModule : INonSharedRegionModule
51 {
52 private static readonly ILog m_log =
53 LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
54 private Scene m_scene;
55
56 private bool m_Enabled = false;
57 private string m_MapImageServerURL;
58
59 #region ISharedRegionModule Members
60
61 public void Initialise(IConfigSource source)
62 {
63 m_Enabled = true;
64 IConfig config = source.Configs["ClientStack.LindenCaps"];
65 if (config == null)
66 return;
67
68 m_MapImageServerURL = config.GetString("Cap_MapImageService", string.Empty);
69 if (m_MapImageServerURL != string.Empty)
70 {
71 m_MapImageServerURL = m_MapImageServerURL.Trim();
72 if (!m_MapImageServerURL.EndsWith("/"))
73 m_MapImageServerURL = m_MapImageServerURL + "/";
74 }
75 }
76
77 public void AddRegion(Scene s)
78 {
79 if (!m_Enabled)
80 return;
81
82 m_scene = s;
83 }
84
85 public void RemoveRegion(Scene s)
86 {
87 if (!m_Enabled)
88 return;
89
90 m_scene.EventManager.OnRegisterCaps -= RegisterCaps;
91 m_scene = null;
92 }
93
94 public void RegionLoaded(Scene s)
95 {
96 if (!m_Enabled)
97 return;
98
99 m_scene.EventManager.OnRegisterCaps += RegisterCaps;
100 }
101
102 public void PostInitialise()
103 {
104 }
105
106 public void Close() { }
107
108 public string Name { get { return "MiscCapsModule"; } }
109
110 public Type ReplaceableInterface
111 {
112 get { return null; }
113 }
114
115 #endregion
116
117 public void RegisterCaps(UUID agentID, Caps caps)
118 {
119 m_log.InfoFormat("[MISC CAPS MODULE]: {0} in region {1}", m_MapImageServerURL, m_scene.RegionInfo.RegionName);
120 if (m_MapImageServerURL != string.Empty)
121 caps.RegisterHandler("MapImageService", m_MapImageServerURL);
122 }
123
124 }
125}
diff --git a/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs b/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs
index a953cd7..99f98b6 100644
--- a/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs
+++ b/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs
@@ -26,7 +26,14 @@
26 */ 26 */
27 27
28using System; 28using System;
29using System.Collections.Generic;
30using System.IO;
31using System.Reflection;
32using System.Xml;
33
29using Nini.Config; 34using Nini.Config;
35using log4net;
36
30using OpenSim.Server.Base; 37using OpenSim.Server.Base;
31using OpenSim.Services.Interfaces; 38using OpenSim.Services.Interfaces;
32using OpenSim.Framework.Servers.HttpServer; 39using OpenSim.Framework.Servers.HttpServer;
@@ -55,7 +62,122 @@ namespace OpenSim.Server.Handlers.MapImage
55 Object[] args = new Object[] { config }; 62 Object[] args = new Object[] { config };
56 m_MapService = ServerUtils.LoadPlugin<IMapImageService>(gridService, args); 63 m_MapService = ServerUtils.LoadPlugin<IMapImageService>(gridService, args);
57 64
58 //server.AddStreamHandler(new PresenceServerPostHandler(m_PresenceService)); 65 server.AddStreamHandler(new MapServerPostHandler(m_MapService));
66 }
67 }
68
69 class MapServerPostHandler : BaseStreamHandler
70 {
71 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
72 private IMapImageService m_MapService;
73
74 public MapServerPostHandler(IMapImageService service) :
75 base("POST", "/map")
76 {
77 m_MapService = service;
78 }
79
80 public override byte[] Handle(string path, Stream requestData, OSHttpRequest httpRequest, OSHttpResponse httpResponse)
81 {
82 m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path);
83 StreamReader sr = new StreamReader(requestData);
84 string body = sr.ReadToEnd();
85 sr.Close();
86 body = body.Trim();
87
88 try
89 {
90 Dictionary<string, object> request = ServerUtils.ParseQueryString(body);
91
92 if (!request.ContainsKey("X") || !request.ContainsKey("Y") || !request.ContainsKey("DATA"))
93 {
94 httpResponse.StatusCode = (int)OSHttpStatusCode.ClientErrorBadRequest;
95 return FailureResult("Bad request.");
96 }
97 int x = 0, y = 0;
98 Int32.TryParse(request["X"].ToString(), out x);
99 Int32.TryParse(request["Y"].ToString(), out y);
100 string type = "image/jpeg";
101 if (request.ContainsKey("TYPE"))
102 type = request["TYPE"].ToString();
103 byte[] data = Convert.FromBase64String(request["DATA"].ToString());
104
105 string reason = string.Empty;
106 bool result = m_MapService.AddMapTile(x, y, data, out reason);
107
108 if (result)
109 return SuccessResult();
110 else
111 return FailureResult(reason);
112
113 }
114 catch (Exception e)
115 {
116 m_log.ErrorFormat("[MAP SERVICE IMAGE HANDLER]: Exception {0} {1}", e.Message, e.StackTrace);
117 }
118
119 return FailureResult("Unexpected server error");
120
121 }
122
123 private byte[] SuccessResult()
124 {
125 XmlDocument doc = new XmlDocument();
126
127 XmlNode xmlnode = doc.CreateNode(XmlNodeType.XmlDeclaration,
128 "", "");
129
130 doc.AppendChild(xmlnode);
131
132 XmlElement rootElement = doc.CreateElement("", "ServerResponse",
133 "");
134
135 doc.AppendChild(rootElement);
136
137 XmlElement result = doc.CreateElement("", "Result", "");
138 result.AppendChild(doc.CreateTextNode("Success"));
139
140 rootElement.AppendChild(result);
141
142 return DocToBytes(doc);
143 }
144
145 private byte[] FailureResult(string msg)
146 {
147 XmlDocument doc = new XmlDocument();
148
149 XmlNode xmlnode = doc.CreateNode(XmlNodeType.XmlDeclaration,
150 "", "");
151
152 doc.AppendChild(xmlnode);
153
154 XmlElement rootElement = doc.CreateElement("", "ServerResponse",
155 "");
156
157 doc.AppendChild(rootElement);
158
159 XmlElement result = doc.CreateElement("", "Result", "");
160 result.AppendChild(doc.CreateTextNode("Failure"));
161
162 rootElement.AppendChild(result);
163
164 XmlElement message = doc.CreateElement("", "Message", "");
165 message.AppendChild(doc.CreateTextNode(msg));
166
167 rootElement.AppendChild(message);
168
169 return DocToBytes(doc);
170 }
171
172 private byte[] DocToBytes(XmlDocument doc)
173 {
174 MemoryStream ms = new MemoryStream();
175 XmlTextWriter xw = new XmlTextWriter(ms, null);
176 xw.Formatting = Formatting.Indented;
177 doc.WriteTo(xw);
178 xw.Flush();
179
180 return ms.ToArray();
59 } 181 }
60 } 182 }
61} 183}
diff --git a/OpenSim/Server/Handlers/Map/MapGetServerConnector.cs b/OpenSim/Server/Handlers/Map/MapGetServerConnector.cs
index 53d08fa..e8a424f 100644
--- a/OpenSim/Server/Handlers/Map/MapGetServerConnector.cs
+++ b/OpenSim/Server/Handlers/Map/MapGetServerConnector.cs
@@ -80,7 +80,6 @@ namespace OpenSim.Server.Handlers.MapImage
80 80
81 public override byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse) 81 public override byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse)
82 { 82 {
83 m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: retrieving {0}", path);
84 byte[] result = new byte[0]; 83 byte[] result = new byte[0];
85 84
86 string format = string.Empty; 85 string format = string.Empty;
diff --git a/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs b/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs
index ff0e9d9..520d639 100644
--- a/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs
+++ b/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs
@@ -36,6 +36,7 @@ using Nini.Config;
36using OpenSim.Framework; 36using OpenSim.Framework;
37using OpenSim.Framework.Console; 37using OpenSim.Framework.Console;
38using OpenSim.Framework.Communications; 38using OpenSim.Framework.Communications;
39using OpenSim.Server.Base;
39using OpenSim.Services.Interfaces; 40using OpenSim.Services.Interfaces;
40using OpenMetaverse; 41using OpenMetaverse;
41using OpenMetaverse.StructuredData; 42using OpenMetaverse.StructuredData;
@@ -83,60 +84,57 @@ namespace OpenSim.Services.Connectors
83 throw new Exception("MapImage connector init error"); 84 throw new Exception("MapImage connector init error");
84 } 85 }
85 m_ServerURI = serviceURI; 86 m_ServerURI = serviceURI;
87 m_ServerURI = serviceURI.TrimEnd('/');
86 } 88 }
87 89
88 public bool AddMapTile(int x, int y, byte[] pngData, out string reason) 90 public bool AddMapTile(int x, int y, byte[] jpgData, out string reason)
89 { 91 {
90 List<MultipartForm.Element> postParameters = new List<MultipartForm.Element>() 92 reason = string.Empty;
91 {
92 new MultipartForm.Parameter("X", x.ToString()),
93 new MultipartForm.Parameter("Y", y.ToString()),
94 new MultipartForm.File("Tile", "tile.png", "image/png", pngData)
95 };
96
97 reason = string.Empty;
98 int tickstart = Util.EnvironmentTickCount(); 93 int tickstart = Util.EnvironmentTickCount();
94 Dictionary<string, object> sendData = new Dictionary<string, object>();
95 sendData["X"] = x.ToString();
96 sendData["Y"] = y.ToString();
97 sendData["TYPE"] = "image/jpeg";
98 sendData["DATA"] = Convert.ToBase64String(jpgData);
99
100 string reqString = ServerUtils.BuildQueryString(sendData);
99 101
100 // Make the remote storage request
101 try 102 try
102 { 103 {
103 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(m_ServerURI); 104 string reply = SynchronousRestFormsRequester.MakeRequest("POST",
104 request.Timeout = 20000; 105 m_ServerURI + "/map",
105 request.ReadWriteTimeout = 5000; 106 reqString);
106 107 if (reply != string.Empty)
107 using (HttpWebResponse response = MultipartForm.Post(request, postParameters))
108 { 108 {
109 using (Stream responseStream = response.GetResponseStream()) 109 Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
110
111 if (replyData.ContainsKey("Result") && (replyData["Result"].ToString().ToLower() == "success"))
110 { 112 {
111 string responseStr = responseStream.GetStreamString(); 113 return true;
112 OSD responseOSD = OSDParser.Deserialize(responseStr);
113 if (responseOSD.Type == OSDType.Map)
114 {
115 OSDMap responseMap = (OSDMap)responseOSD;
116 if (responseMap["Success"].AsBoolean())
117 return true;
118
119 reason = "Upload failed: " + responseMap["Message"].AsString();
120 }
121 else
122 {
123 reason = "Response format was invalid:\n" + responseStr;
124 }
125 } 114 }
115 else if (replyData.ContainsKey("Result") && (replyData["Result"].ToString().ToLower() == "failure"))
116 {
117 m_log.DebugFormat("[MAP IMAGE CONNECTOR]: Registration failed: {0}", replyData["Message"].ToString());
118 reason = replyData["Message"].ToString();
119 return false;
120 }
121 else if (!replyData.ContainsKey("Result"))
122 {
123 m_log.DebugFormat("[MAP IMAGE CONNECTOR]: reply data does not contain result field");
124 }
125 else
126 {
127 m_log.DebugFormat("[MAP IMAGE CONNECTOR]: unexpected result {0}", replyData["Result"].ToString());
128 reason = "Unexpected result " + replyData["Result"].ToString();
129 }
130
126 } 131 }
132 else
133 m_log.DebugFormat("[MAP IMAGE CONNECTOR]: RegisterRegion received null reply");
127 } 134 }
128 catch (WebException we) 135 catch (Exception e)
129 {
130 reason = we.Message;
131 if (we.Status == WebExceptionStatus.ProtocolError)
132 {
133 HttpWebResponse webResponse = (HttpWebResponse)we.Response;
134 reason = String.Format("[{0}] {1}", webResponse.StatusCode, webResponse.StatusDescription);
135 }
136 }
137 catch (Exception ex)
138 { 136 {
139 reason = ex.Message; 137 m_log.DebugFormat("[MAP IMAGE CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
140 } 138 }
141 finally 139 finally
142 { 140 {
@@ -146,6 +144,7 @@ namespace OpenSim.Services.Connectors
146 } 144 }
147 145
148 return false; 146 return false;
147
149 } 148 }
150 149
151 public byte[] GetMapTile(string fileName, out string format) 150 public byte[] GetMapTile(string fileName, out string format)
diff --git a/OpenSim/Services/MapImageService/MapImageService.cs b/OpenSim/Services/MapImageService/MapImageService.cs
index 27722bb..7e7391c 100644
--- a/OpenSim/Services/MapImageService/MapImageService.cs
+++ b/OpenSim/Services/MapImageService/MapImageService.cs
@@ -143,7 +143,7 @@ namespace OpenSim.Services.MapImageService
143 if (File.Exists(fullName)) 143 if (File.Exists(fullName))
144 { 144 {
145 format = Path.GetExtension(fileName).ToLower(); 145 format = Path.GetExtension(fileName).ToLower();
146 m_log.DebugFormat("[MAP IMAGE SERVICE]: Found file {0}, extension {1}", fileName, format); 146 //m_log.DebugFormat("[MAP IMAGE SERVICE]: Found file {0}, extension {1}", fileName, format);
147 return File.ReadAllBytes(fullName); 147 return File.ReadAllBytes(fullName);
148 } 148 }
149 else if (File.Exists(m_WaterTileFile)) 149 else if (File.Exists(m_WaterTileFile))
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 813c5b8..a9ce284 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -306,6 +306,11 @@
306 ; This is disabled by default. Change if you see fit. Note that 306 ; This is disabled by default. Change if you see fit. Note that
307 ; serving this cap from the simulators may lead to poor performace. 307 ; serving this cap from the simulators may lead to poor performace.
308 Cap_WebFetchInventoryDescendents = "" 308 Cap_WebFetchInventoryDescendents = ""
309 ; Experimental new capability for Kokua viewers meant to override
310 ; the MapImage server url given at login, and varying switching on
311 ; a sim-basis (as it should).
312 ; Viewers that don't understand it, will ignore it
313 Cap_MapImageService = "http://127.0.0.1:9000/
309 314
310[Chat] 315[Chat]
311 ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10 316 ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example
index 812d265..00ece88 100644
--- a/bin/Robust.HG.ini.example
+++ b/bin/Robust.HG.ini.example
@@ -21,7 +21,7 @@
21; * [[<ConfigName>@]<port>/]<dll name>[:<class name>] 21; * [[<ConfigName>@]<port>/]<dll name>[:<class name>]
22; * 22; *
23[Startup] 23[Startup]
24ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector,8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector,HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector,HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector,8002/OpenSim.Server.Handlers.dll:HeloServiceInConnector,8002/OpenSim.Server.Handlers.dll:HGFriendsServerConnector,8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" 24ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector,8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector,HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector,HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector,8002/OpenSim.Server.Handlers.dll:HeloServiceInConnector,8002/OpenSim.Server.Handlers.dll:HGFriendsServerConnector,8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector,8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector,8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector"
25 25
26; * This is common for all services, it's the network setup for the entire 26; * This is common for all services, it's the network setup for the entire
27; * server instance, if none is specified above 27; * server instance, if none is specified above
@@ -206,6 +206,9 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
206 WelcomeMessage = "Welcome, Avatar!" 206 WelcomeMessage = "Welcome, Avatar!"
207 AllowRemoteSetLoginLevel = "false" 207 AllowRemoteSetLoginLevel = "false"
208 208
209 ; For V2 map
210 ; MapTileURL = "http://127.0.0.1:8002";
211
209 ; If you run this login server behind a proxy, set this to true 212 ; If you run this login server behind a proxy, set this to true
210 ; HasProxy = false 213 ; HasProxy = false
211 214
@@ -237,6 +240,9 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
237 ;AllowedClients = "" 240 ;AllowedClients = ""
238 ;DeniedClients = "" 241 ;DeniedClients = ""
239 242
243[MapImageService]
244 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
245
240[GridInfoService] 246[GridInfoService]
241 ; These settings are used to return information on a get_grid_info call. 247 ; These settings are used to return information on a get_grid_info call.
242 ; Client launcher scripts and third-party clients make use of this to 248 ; Client launcher scripts and third-party clients make use of this to
diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example
index 5d0ec09..e29e9db 100644
--- a/bin/Robust.ini.example
+++ b/bin/Robust.ini.example
@@ -13,7 +13,7 @@
13; * [[<ConfigName>@]<port>/]<dll name>[:<class name>] 13; * [[<ConfigName>@]<port>/]<dll name>[:<class name>]
14; * 14; *
15[Startup] 15[Startup]
16ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" 16ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector,8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector"
17 17
18; * This is common for all services, it's the network setup for the entire 18; * This is common for all services, it's the network setup for the entire
19; * server instance, if none is specified above 19; * server instance, if none is specified above
@@ -191,8 +191,8 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
191 WelcomeMessage = "Welcome, Avatar!" 191 WelcomeMessage = "Welcome, Avatar!"
192 AllowRemoteSetLoginLevel = "false" 192 AllowRemoteSetLoginLevel = "false"
193 193
194 ; For snowglobe's web map 194 ; For V2 map
195 ; MapTileURL = ""; 195 ; MapTileURL = "http://127.0.0.1:8002";
196 196
197 ; If you run this login server behind a proxy, set this to true 197 ; If you run this login server behind a proxy, set this to true
198 ; HasProxy = false 198 ; HasProxy = false
@@ -214,6 +214,9 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
214 ;AllowedClients = "" 214 ;AllowedClients = ""
215 ;DeniedClients = "" 215 ;DeniedClients = ""
216 216
217[MapImageService]
218 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
219
217[GridInfoService] 220[GridInfoService]
218 ; These settings are used to return information on a get_grid_info call. 221 ; These settings are used to return information on a get_grid_info call.
219 ; Client launcher scripts and third-party clients make use of this to 222 ; Client launcher scripts and third-party clients make use of this to
diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini
index 5220573..da860c6 100644
--- a/bin/config-include/Grid.ini
+++ b/bin/config-include/Grid.ini
@@ -21,6 +21,7 @@
21 EntityTransferModule = "BasicEntityTransferModule" 21 EntityTransferModule = "BasicEntityTransferModule"
22 InventoryAccessModule = "BasicInventoryAccessModule" 22 InventoryAccessModule = "BasicInventoryAccessModule"
23 LandServices = "RemoteLandServicesConnector" 23 LandServices = "RemoteLandServicesConnector"
24 MapImageService = "MapImageServiceModule"
24 25
25 LandServiceInConnector = true 26 LandServiceInConnector = true
26 NeighbourServiceInConnector = true 27 NeighbourServiceInConnector = true
@@ -50,3 +51,8 @@
50 51
51[Friends] 52[Friends]
52 Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector" 53 Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector"
54
55[MapImageService]
56 LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector"
57 ; in minutes
58 RefreshTime = 60
diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example
index 27f262f..4eb6fcf 100644
--- a/bin/config-include/GridCommon.ini.example
+++ b/bin/config-include/GridCommon.ini.example
@@ -116,6 +116,9 @@
116 ; 116 ;
117 UserAgentServerURI = "http://mygridserver.com:8002" 117 UserAgentServerURI = "http://mygridserver.com:8002"
118 118
119[MapImageService]
120 MapImageServerURI = "http://mygridserver.com:8003"
121
119[Modules] 122[Modules]
120 ;; Choose 0 or 1 cache modules, and the corresponding config file, if it exists. 123 ;; Choose 0 or 1 cache modules, and the corresponding config file, if it exists.
121 ;; Copy the config .example file into your own .ini file and change configs there 124 ;; Copy the config .example file into your own .ini file and change configs there
diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini
index b8e66c2..60a3c62 100644
--- a/bin/config-include/GridHypergrid.ini
+++ b/bin/config-include/GridHypergrid.ini
@@ -25,6 +25,7 @@
25 InventoryAccessModule = "HGInventoryAccessModule" 25 InventoryAccessModule = "HGInventoryAccessModule"
26 LandServices = "RemoteLandServicesConnector" 26 LandServices = "RemoteLandServicesConnector"
27 FriendsModule = "HGFriendsModule" 27 FriendsModule = "HGFriendsModule"
28 MapImageService = "MapImageServiceModule"
28 29
29 LandServiceInConnector = true 30 LandServiceInConnector = true
30 NeighbourServiceInConnector = true 31 NeighbourServiceInConnector = true
@@ -76,4 +77,9 @@
76 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" 77 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
77 GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector" 78 GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector"
78 PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector" 79 PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector"
79 UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector" \ No newline at end of file 80 UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector"
81
82[MapImageService]
83 LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector"
84 ; in minutes
85 RefreshTime = 60