<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://osimdev.org/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenSimulator_Internals%2FSimulationService</id>
	<title>OpenSimulator Internals/SimulationService - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://osimdev.org/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenSimulator_Internals%2FSimulationService"/>
	<link rel="alternate" type="text/html" href="http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/SimulationService&amp;action=history"/>
	<updated>2026-08-04T15:39:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/SimulationService&amp;diff=23&amp;oldid=prev</id>
		<title>Jwbshaw: first</title>
		<link rel="alternate" type="text/html" href="http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/SimulationService&amp;diff=23&amp;oldid=prev"/>
		<updated>2026-06-21T07:11:25Z</updated>

		<summary type="html">&lt;p&gt;first&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= OpenSimulator Internals/SimulationService =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
SimulationService provides general simulation functions. Used for login-to-simulator communication and simulator-to-simulator communication (teleport, region crossing, moving objects between regions).&lt;br /&gt;
&lt;br /&gt;
Runs per-simulator, not on ROBUST.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Interface ==&lt;br /&gt;
&lt;br /&gt;
 namespace OpenSim.Services.Interfaces&lt;br /&gt;
 {&lt;br /&gt;
     public interface ISimulationService&lt;br /&gt;
     {&lt;br /&gt;
         IScene GetScene(UUID regionId);&lt;br /&gt;
         ISimulationService GetInnerService();&lt;br /&gt;
 &lt;br /&gt;
         // Agents&lt;br /&gt;
         bool CreateAgent(GridRegion source, GridRegion destination, AgentCircuitData aCircuit, uint flags, EntityTransferContext ctx, out string reason);&lt;br /&gt;
         bool UpdateAgent(GridRegion destination, AgentData data, EntityTransferContext ctx);&lt;br /&gt;
         bool UpdateAgent(GridRegion destination, AgentPosition data);&lt;br /&gt;
         bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List&amp;lt;UUID&amp;gt; features, EntityTransferContext ctx, out string reason);&lt;br /&gt;
         bool ReleaseAgent(UUID originRegion, UUID id, string uri);&lt;br /&gt;
         bool CloseAgent(GridRegion destination, UUID id, string auth_token);&lt;br /&gt;
 &lt;br /&gt;
         // Objects&lt;br /&gt;
         bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Method Notes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Method !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| GetScene(regionId) || Retrieve the scene for a given region UUID.&lt;br /&gt;
|-&lt;br /&gt;
| GetInnerService() || Returns the underlying service implementation.&lt;br /&gt;
|-&lt;br /&gt;
| CreateAgent() || Ask the simulator hosting the destination to create an agent. Source will be null if the user logged in directly or arrived from a simulator that does not send this parameter.&lt;br /&gt;
|-&lt;br /&gt;
| UpdateAgent(AgentData) || Full child agent update.&lt;br /&gt;
|-&lt;br /&gt;
| UpdateAgent(AgentPosition) || Short positional update only.&lt;br /&gt;
|-&lt;br /&gt;
| QueryAccess() || Returns whether a prospective user is allowed to visit the region. viaTeleport=true for teleport, false for region crossing.&lt;br /&gt;
|-&lt;br /&gt;
| ReleaseAgent() || Message from receiving region to departing region, confirming the client has connected.&lt;br /&gt;
|-&lt;br /&gt;
| CloseAgent() || Close and remove an agent from a region.&lt;br /&gt;
|-&lt;br /&gt;
| CreateObject() || Create an object in the destination region. Used primarily for prim crossing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[OpenSimulator Internals/OpenSim Services]]&lt;br /&gt;
* [[OpenSimulator Internals/Connector Architecture]]&lt;br /&gt;
* [[OpenSimulator Internals/Data Dictionaries]]&lt;/div&gt;</summary>
		<author><name>Jwbshaw</name></author>
	</entry>
</feed>