OpenSim: Local development resources
Note: these are only for World45/Praeteritio developers, part of the corporate intranet.
The Tar-Gzipped copies of all latest packages from SVN are available at:
http://black.world45.com/private/
The files are in a form, with XXX representing the SVN revision number. Always fetch the latest ones:
- opensim-XXX.tgz
- mono-XXX.tgz
For all the UltraSparc related packages please refer to /opt/shared/Software
Systems that already have correct setup are described in
OpenSimBuilds.
Source Code
The local copy of the opensim source tree is located under:
/home/software/Sources/opensim/trunk
The source code has been built from the directory below, but all the executables and the configuration files are below that directory.
In particular the file
OpenSim.ini and the Grid xml files control the configuration of the URAI servers and the launching of the whole simulator while the xml files in the
Regions directory control the actual regions (it is currently set up to run from lin3).
The file
default.xml is the file that needed to be set up to allow external machines to connect.
The source code is a bit hard to describe. It has two important features though: everything is designed to be modularised and the files tend to be very short, containing only an single class or subclass. The file names are reasonably accurate descriptions.
The directory (in the opensim project) OpenSim/Framework/ contains the core of the application. Things like the physics engine is in OpenSim/Region/Physics contains the physics engines (you'll want to set the physics engine in OpenSim.ini to something other than basic, e.g. OpenDynamicsEngine).
The entry point to the code is in OpenSim/Region/Application/Application.cs, although it immediately branches into OpenSimMain.cs. This mostly does setup and then idles waiting at the prompt. All the real work is done in timer callbacks.
The core of the simulation is done in Region/Environment/Scenes/Scene.cs, specifically the Update routine (triggered off the m_heartbeatTimer timer).