OpenSimulator (OpenSim for short) is an open-source server platform for virtual worlds. With the help of a client (so-called viewer), regions located on a server can be viewed and edited. It is possible for several users to be in the same virtual place at the same time and interact with each other. OpenSimulator uses the Second Life protocol developed by Linden Lab as standard. However, OpenSimulator is multi-protocol capable, and in March 2009, the Metaverse Exchange Protocol (MXP) was introduced as the first extension. MXP is a second-generation client-server protocol. Internally, OpenSimulator uses XML-RPC and REST (JSON/HTTP and XML/HTTP).
The aim of the project is to create software for operating virtual worlds that can be used freely. The BSD license allows you to modify the code as you wish and use it for commercial purposes. At the same time, the project represents a new basis for the so-called Web3D.
OpenSimulator is written in the C# programming language, is compatible with both the .NET and Mono runtime environments and can therefore be executed platform-independently. The software makes it possible to significantly expand the functionality by means of modules, which allows it to be adapted to the individual requirements of a server operator.
The server manages all the data required for operation and makes it available to users. This is data on the virtual land, user accounts, chats, groups, and user-generated content (buildings, clothing, scripts, textures, etc.). Various existing databases are supported, including SQLite, MySQL, MariaDB, and Microsoft SQL Server.
By means of scripts, OpenSimulator allows the in-world programming of virtual intelligent objects that can interact with users and the environment. The Linden Scripting Language (LSL) was largely adopted by Second Life. However, it has been supplemented by further functions requested by the community for the OSSL (OpenSimulator Scripting Language) scripting language. There are different distributions to facilitate different uses:
- OSgrid OpenSimulator is based on a current developer version and is already preconfigured in such a way that your own grid is connected to the currently largest grid in terms of area, OSgrid.
- Diva-Distro is a version specially adapted for standalone mode, which is primarily intended to make it easier to use. A web interface, the so-called Diva Wifi, is intended to make it easier to create a web server.
- Sim on a Stick is a fully pre-configured OpenSimulator server that can be run directly from a USB stick. It includes a MySQL database and an Apache web server with PHP support.
Features of OpenSimulator
Analogous to the hyperlinks of the World Wide Web, hypergrid teleports allow a user to navigate between different grids. It is also possible to navigate by entering addresses directly, which makes it possible to keep directories of places that can be visited. It copies the user’s inventory from the source grid to the visited grid, allowing for a seamless transition. At the same time, a user can also collect new objects and take them back with them. To prevent a malicious grid from stealing a user’s digital objects, starting with version 2.0 of the hypergrid, only a special folder – a kind of virtual suitcase – is transmitted, and the user cannot access any other folder during their stay. However, grid operators are free to use an older version of the hypergrid without this protection.
OpenSimulator has two main operating modes:
- In standalone mode, all tasks (region, login, data storage) are mapped by a single process. This is especially suitable for developers or use on a single server.
- Grid mode is designed to run larger virtual worlds that require more server-side power. The tasks are divided into specialized server processes. The so-called “robust console” is used to connect the individual servers and centralize the administration.
Both modes can be operated with or without hypergrid support.