Jump to content

OpenSimulator Internals/Code Map/OpenSim

From Open Simulator Technical Help
Revision as of 10:10, 28 June 2026 by Jwbshaw (talk | contribs) (first)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

OpenSimulator Internals/Code Map/OpenSim

Overview

OpenSim.exe is the region simulator process. It loads configuration, initialises the physics and script engines, loads region modules, connects to ROBUST services, and runs one or more regions.

In standalone mode, service implementations run in-process. In grid mode, service connectors make HTTP calls to ROBUST. The same code runs both ways -- only the config differs.

Source repository: https://github.com/opensim/opensim


Entry Point

OpenSim/Region/Application/OpenSim.cs -- Main()

-- to be documented --


Config Loading

OpenSim/Region/Application/OpenSimBase.cs

Same layered config mechanism as ROBUST. Reads OpenSim.ini, then config-include/ files. Architecture is selected via Include-Architecture in OpenSim.ini -- this determines whether the sim runs standalone or connects to a grid.

-- to be documented --


HTTP Server

One HTTP server per simulator instance, default port 9000. Each additional region adds a port (9001, 9002, etc.).

-- to be documented --


Region Module Loading

Region modules are plugins loaded at startup. They provide services to the scene -- asset access, inventory, physics, scripting, estate management, and more.

-- to be documented --


Service Connector Setup

In grid mode, outbound service connectors are loaded as region modules from config-include/GridHypergrid.ini. Each connector makes HTTP calls to ROBUST for grid data.

OpenSim/Region/CoreModules/ServiceConnectorsOut/

See OpenSimulator Internals/Connector Architecture for the full connector pattern.

-- to be documented --


Scene Initialisation

OpenSim/Region/Framework/Scenes/Scene.cs

One Scene instance per region. The Scene holds all in-world state: objects, avatars, physics, scripts, terrain, parcels, and references to all service connectors.

-- to be documented --


Main Loop

-- to be documented --


Shutdown

-- to be documented --


See Also