2023-01-30 17:39:26 +00:00
2023-01-30 17:33:16 +00:00
2023-01-30 17:39:26 +00:00
2023-01-30 17:33:16 +00:00
2023-01-28 13:23:52 +00:00
2023-01-30 09:14:27 +00:00

OpenSimulator

Screenshot from inside the Firestorm Metaverse client, showing a woman with a floating nametag 'foo bar' staring out into the ocean, standing upon a small mound island

From the OpenSimulator site:

OpenSimulator is an open source multi-platform, multi-user 3D application server. It can be used to create a virtual environment (or world) which can be accessed through a variety of clients, on multiple protocols.

This unofficial Docker configuration aims to assist in setting the server up for testing and general purpose use.

This is still experimental - thar be bugs!

Usage

docker run -d --name opensim -p 9000:9000 -p 9000:9000/udp soupbowl/opensimulator:edge

You can change settings with the following optional environmental overrides:

  • -e GRID_NAME=... to define the name of your grid.
  • -e GRID_WELCOME=... to show a custom message on the login screen.
  • -e REGION_NAME=... to define the Region name.
  • -e ESTATE_NAME=... to define the Estate name.
  • -e ESTATE_OWNER_NAME=... to set the estate owner name (and creates a login) - format of 'Firstname Lastname'.
  • -e ESTATE_OWNER_PASSWORD=... to define a login password.
  • -e ESTATE_OWNER_UUID=... for a custom UUID, if desired.
  • -e ESTATE_OWNER_EMAIL=... to define the estate email address.
  • -e DATABASE_ENGINE=... to change the database engine (sqlite and mysql support so far) - defaults to sqlite.
  • -e MYSQL_SERVER=..., -e MYSQL_DATABASE=..., -e MYSQL_USER=..., -e MYSQL_PASSWORD=... if DATABASE_ENGINE is mysql.

Once the server is running, you should be able to connect to it on localhost:9000. In Firestorm Viewer, you can go to Preferences, then Opensim, then under add new grid put localhost:9000 and you can then login.

If you don't define otherwise in the environments or a custom configuration, the login username is Foo bar and the password is password.

Limitations

At current, there doesn't appear to be an implemented and/or documented approach to managing the server from outside the active TTY, and running docker attach opensim seems to produce a blank prompt. You can exec into the container or edit the bound configuration script and restart the server to make changes, but in some server instances you might need to intercept the prompt.

Until a better solution is made, you can get crafty with screen to get access to the current prompt in terminal, with the caveat that logging will no longer work.

You can achieve this with a Dockerfile like so:

FROM soupbowl/opensimulator:edge
CMD [ "screen", "-S", "OpenSim", "-D", "-m", "mono",  "./OpenSim.exe" ]

With a container running the above Dockerfile, you can access a controllable OpenSimulator administration prompt by running:

docker exec -it <container name> screen -r OpenSim

You can leave the screen session by pressing ctrl + a then d.

Examples

See this repository for some example usages of this image.

Source Code

The source code of the Docker image is found on the GitHub repository. You can find the OpenSimulator server software source code on their website.

S
Description
No description provided
Readme MIT
265 KiB
Languages
Shell 67.6%
Dockerfile 32.4%