Dependencies
From OpenSimulator
m |
(→Version 0.9.3.0 and above) |
||
(59 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{Quicklinks}} |
− | + | = Note = | |
− | + | These instructions assume that OpenSimulator is running from the binary packages in standalone mode. If this is not the case or you have more complex requirements (e.g. you want to use the MySQL database rather than SQLite or you want to run in grid mode), then you will need to [[Configuration|configure]] OpenSimulator first. | |
+ | = Dependencies = | ||
+ | In addition to the OpenSimulator code itself, certain other packages need to be installed on different platforms in order to get OpenSimulator binaries to run. | ||
− | + | As well as the information on this page (which should be expanded), you may find more information on dependencies in [[Build Instructions]] though this will also contain dependencies required only for building. This are also more hints in [[Troubleshooting]]. | |
− | + | After solving dependencies, you may need to configure the firewall installed in your system by default so that the viewers outside can access to OpenSimulator inside it. See [[Firewall Settings]] for more informations. | |
− | + | [[NAT Loopback Routers]] Router and Nat Loopback Information to help you configure your Router / Modem. | |
− | + | = Version 0.9.3.0 and above = | |
− | + | ||
− | + | ||
− | + | ||
+ | * [https://dotnet.microsoft.com/en-us/download/dotnet/8.0 dotnet8] runtime or Desktop runtime for your platform (also the SDK if you wish to compile) | ||
+ | * On Windows you may need to install the [https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 run time files for vc++] | ||
+ | * On windows you may need to authorize the install of older .NetFramework 3.5 | ||
+ | * on linux you will need libgdiplus | ||
+ | **if you have mono 6.x complete installed, you already have libgdiplus, otherwise you need to install it for example on debian: | ||
+ | **apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev | ||
+ | = Older Versions = | ||
− | + | == Windows == | |
− | + | OpenSimulator 0.9.2.2 release code requires requires .NET Framework 4.6.<br> | |
+ | You may also need to install the [https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 run time files for vc++] | ||
− | + | Double-click or execute on command prompt: | |
+ | *'''OpenSim.exe''' | ||
− | + | On 64bit machines you can run small regions in 32bit mode, double-click or execute on command prompt: | |
+ | *'''OpenSim32.exe''' | ||
+ | Depending on your installation, you may have to run the program as administrator(right click -> 'Run as administrator'). It will pop up a window asking permission, select "Allow". | ||
− | + | == Linux and Mac OSX == | |
− | + | {| class="wikitable" | |
+ | |- | ||
+ | ! scope="col"| Mono version | ||
+ | ! scope="col"| OpenSimulator version | ||
+ | ! scope="col"| Status | ||
+ | ! scope="col"| Notes | ||
+ | |- | ||
+ | ! scope="row"| 2.4.3+ | ||
+ | | 0.7.6 | ||
+ | | Ok | ||
+ | | | ||
+ | |- | ||
+ | ! scope="row"| 2.6.x | ||
+ | | < 0.7.6 | ||
+ | | Ok | ||
+ | | Appears to be fine, though the mono VM does seem to have some issues (crashing with a native stacktrace) on simulators running many regions or lots of users/prims | ||
+ | |- | ||
+ | ! scope="row"| 2.8.x | ||
+ | | * | ||
+ | | Not ok | ||
+ | | Significant performance and scalability problems | ||
+ | |- | ||
+ | ! scope="row"| 2.10.0 | ||
+ | | * | ||
+ | | Not ok | ||
+ | | Significant performance and scalability problems | ||
+ | |- | ||
+ | ! scope="row"| 2.10.1 | ||
+ | | * | ||
+ | | Not ok | ||
+ | | Significant performance and scalability problems | ||
+ | |- | ||
+ | ! scope="row"| 2.10.2 | ||
+ | | * | ||
+ | | Ok | ||
+ | | | ||
+ | |- | ||
+ | ! scope="row"| 2.10.8 | ||
+ | | < 0.9 | ||
+ | | Ok (recommended) | ||
+ | | | ||
+ | |- | ||
+ | ! scope="row"| 2.10.9 > 3.0.3 | ||
+ | | * | ||
+ | | Not ok | ||
+ | | Major issues | ||
+ | |- | ||
+ | ! scope="row"| 3.0.7 | ||
+ | | * | ||
+ | | Ok | ||
+ | | | ||
+ | |- | ||
+ | ! scope="row"| 4.0 | ||
+ | | * | ||
+ | | Not Ok | ||
+ | | | ||
+ | |- | ||
+ | ! scope="row"| 4.0.4 | ||
+ | | * | ||
+ | | Ok | ||
+ | | | ||
+ | |- | ||
+ | ! scope="row"| 4.3.2 | ||
+ | | * | ||
+ | | Ok | ||
+ | | | ||
+ | |- | ||
+ | ! scope="row"| 4.4.2 | ||
+ | | * | ||
+ | | Not Ok | ||
+ | | Some issues on Robust like NameResolutionFailure | ||
+ | |- | ||
+ | ! scope="row"| 4.6.2.16 | ||
+ | | * | ||
+ | | Not Ok | ||
+ | | | ||
+ | |- | ||
+ | ! scope="row"| 5.x | ||
+ | | * | ||
+ | | seems to work | ||
+ | | but : http://opensimulator.org/mantis/view.php?id=8251 | ||
+ | |- | ||
+ | ! scope="row"| >=5.12 | ||
+ | | >=0.9.1 | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
− | |||
− | + | OpenSimulator development code requires Mono 5.12 or later. | |
− | + | To run OpenSimulator with mono, execute on folder ../bin | |
− | + | ./opensim.sh | |
− | + | You can edit that shell script if you need, to change Regional Setting (see bellow) or other parameters like stack size for ODE based physics engines. | |
− | OpenSimulator | + | On Mac Os with mono5.x you can run OpenSimulator in 32bit mode changing the mono execution line on that script to: |
− | = | + | mono --desktop --arch=32 OpenSim.exe |
− | |||
− | |||
− | |||
− | + | === Getting Mono === | |
− | == | + | |
− | + | You can install mono from [https://www.mono-project.com/download/stable/ Mono Official Download Page]. | |
+ | If you system is not supported, you will need to get its sources and compile on it. | ||
− | == | + | == Docker == |
+ | |||
+ | For testing purposes, you can even run OpenSimulator as Docker containers. The quickest way would be to use [https://hub.docker.com/_/mono/ official docker mono image] as base image. To avoid first-run questionaries, you need to prepare a series of ini files and deploy them on the container. For example, if you run 0.9.0.0-rc1 binary in Standalone mode on Mono 4.6.2.16: | ||
− | |||
<pre> | <pre> | ||
− | + | FROM mono:4.6.2.16 | |
− | + | ||
− | + | ||
− | + | RUN curl http://dist.opensimulator.org/opensim-0.9.0.0-rc1.tar.gz -s | tar xzf - | |
+ | COPY Regions.ini /opensim-0.9.0.0-rc1/bin/Regions/Regions.ini | ||
+ | COPY OpenSim.ini /opensim-0.9.0.0-rc1/bin/OpenSim.ini | ||
+ | EXPOSE 9000 | ||
+ | WORKDIR /opensim-0.9.0.0-rc1/bin | ||
− | + | CMD [ "mono", "./OpenSim.exe" ] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</pre> | </pre> | ||
− | + | In most cases, you should care about "ExternalHostName" in Regions.ini. The value should be valid hostname which can be accessed from outside of docker machine. In general, it would be "localhost" or the hostname of the docker machine which the container resides in. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | Then build it and run like that. Note that you will need to forward both TCP and UDP port. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
<pre> | <pre> | ||
− | + | $ docker build -t opensim . | |
+ | $ docker run --name=opensim -p 9000:9000 -p 9000:9000/udp -d opensim | ||
+ | or | ||
+ | $ docker run --name=opensim -it -p 9000:9000 -p 9000:9000/udp opensim | ||
</pre> | </pre> | ||
− | + | You can find full sample Dockerfile project at [https://github.com/Makopo/docker-opensimulator-simple makopo/docker-opensimulator-sample]. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
= Locales and Regional Settings = | = Locales and Regional Settings = | ||
Line 114: | Line 190: | ||
== Windows == | == Windows == | ||
− | If you are not using an English regional setting in Windows by default, then there is not a solution as easy as for Linux, unfortunately. I did it with an additional user account that I created just for | + | If you are not using an English regional setting in Windows by default, then there is not a solution as easy as for Linux, unfortunately. I did it with an additional user account that I created just for OpenSimulator in which I set the regional setting to "English (US)". I run OpenSim.exe from my normal user account with "Run as..." (or check "Run with different credentials" in a shortcut's advanced properties) and specify the OpenSimulator account as the one to be used. |
− | + | ||
− | = Additional Resources | + | = Additional Resources = |
OSGrid Technical Support Forum with many installation tutorials: [http://osgrid.org/forums/viewforum.php?f=14 osgrid.org/forums/viewforum.php] | OSGrid Technical Support Forum with many installation tutorials: [http://osgrid.org/forums/viewforum.php?f=14 osgrid.org/forums/viewforum.php] | ||
MONO Project: [http://www.mono-project.com/Main_Page www.mono-project.com/Main_Page] | MONO Project: [http://www.mono-project.com/Main_Page www.mono-project.com/Main_Page] |
Latest revision as of 15:45, 20 April 2024
Contents |
[edit] Note
These instructions assume that OpenSimulator is running from the binary packages in standalone mode. If this is not the case or you have more complex requirements (e.g. you want to use the MySQL database rather than SQLite or you want to run in grid mode), then you will need to configure OpenSimulator first.
[edit] Dependencies
In addition to the OpenSimulator code itself, certain other packages need to be installed on different platforms in order to get OpenSimulator binaries to run.
As well as the information on this page (which should be expanded), you may find more information on dependencies in Build Instructions though this will also contain dependencies required only for building. This are also more hints in Troubleshooting.
After solving dependencies, you may need to configure the firewall installed in your system by default so that the viewers outside can access to OpenSimulator inside it. See Firewall Settings for more informations.
NAT Loopback Routers Router and Nat Loopback Information to help you configure your Router / Modem.
[edit] Version 0.9.3.0 and above
- dotnet8 runtime or Desktop runtime for your platform (also the SDK if you wish to compile)
- On Windows you may need to install the run time files for vc++
- On windows you may need to authorize the install of older .NetFramework 3.5
- on linux you will need libgdiplus
- if you have mono 6.x complete installed, you already have libgdiplus, otherwise you need to install it for example on debian:
- apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
[edit] Older Versions
[edit] Windows
OpenSimulator 0.9.2.2 release code requires requires .NET Framework 4.6.
You may also need to install the run time files for vc++
Double-click or execute on command prompt:
- OpenSim.exe
On 64bit machines you can run small regions in 32bit mode, double-click or execute on command prompt:
- OpenSim32.exe
Depending on your installation, you may have to run the program as administrator(right click -> 'Run as administrator'). It will pop up a window asking permission, select "Allow".
[edit] Linux and Mac OSX
Mono version | OpenSimulator version | Status | Notes |
---|---|---|---|
2.4.3+ | 0.7.6 | Ok | |
2.6.x | < 0.7.6 | Ok | Appears to be fine, though the mono VM does seem to have some issues (crashing with a native stacktrace) on simulators running many regions or lots of users/prims |
2.8.x | * | Not ok | Significant performance and scalability problems |
2.10.0 | * | Not ok | Significant performance and scalability problems |
2.10.1 | * | Not ok | Significant performance and scalability problems |
2.10.2 | * | Ok | |
2.10.8 | < 0.9 | Ok (recommended) | |
2.10.9 > 3.0.3 | * | Not ok | Major issues |
3.0.7 | * | Ok | |
4.0 | * | Not Ok | |
4.0.4 | * | Ok | |
4.3.2 | * | Ok | |
4.4.2 | * | Not Ok | Some issues on Robust like NameResolutionFailure |
4.6.2.16 | * | Not Ok | |
5.x | * | seems to work | but : http://opensimulator.org/mantis/view.php?id=8251 |
>=5.12 | >=0.9.1 |
OpenSimulator development code requires Mono 5.12 or later.
To run OpenSimulator with mono, execute on folder ../bin
./opensim.sh
You can edit that shell script if you need, to change Regional Setting (see bellow) or other parameters like stack size for ODE based physics engines.
On Mac Os with mono5.x you can run OpenSimulator in 32bit mode changing the mono execution line on that script to:
mono --desktop --arch=32 OpenSim.exe
[edit] Getting Mono
You can install mono from Mono Official Download Page. If you system is not supported, you will need to get its sources and compile on it.
[edit] Docker
For testing purposes, you can even run OpenSimulator as Docker containers. The quickest way would be to use official docker mono image as base image. To avoid first-run questionaries, you need to prepare a series of ini files and deploy them on the container. For example, if you run 0.9.0.0-rc1 binary in Standalone mode on Mono 4.6.2.16:
FROM mono:4.6.2.16 RUN curl http://dist.opensimulator.org/opensim-0.9.0.0-rc1.tar.gz -s | tar xzf - COPY Regions.ini /opensim-0.9.0.0-rc1/bin/Regions/Regions.ini COPY OpenSim.ini /opensim-0.9.0.0-rc1/bin/OpenSim.ini EXPOSE 9000 WORKDIR /opensim-0.9.0.0-rc1/bin CMD [ "mono", "./OpenSim.exe" ]
In most cases, you should care about "ExternalHostName" in Regions.ini. The value should be valid hostname which can be accessed from outside of docker machine. In general, it would be "localhost" or the hostname of the docker machine which the container resides in.
Then build it and run like that. Note that you will need to forward both TCP and UDP port.
$ docker build -t opensim . $ docker run --name=opensim -p 9000:9000 -p 9000:9000/udp -d opensim or $ docker run --name=opensim -it -p 9000:9000 -p 9000:9000/udp opensim
You can find full sample Dockerfile project at makopo/docker-opensimulator-sample.
[edit] Locales and Regional Settings
OpenSimulator will only work properly when you run it with an English locale or regional setting. With other settings than English, you are likely to see a variety of issues, ranging from misbehaving scripts to crashes.
[edit] Linux
In Linux, you can easily use the standard "C" locale just for running OpenSim.exe, as explained in Troubleshooting#ScriptEngine Issues:
env LANG=C mono OpenSim.exe
For information about changing your locale in a more general way, see Troubleshooting#Locales Issues
[edit] Windows
If you are not using an English regional setting in Windows by default, then there is not a solution as easy as for Linux, unfortunately. I did it with an additional user account that I created just for OpenSimulator in which I set the regional setting to "English (US)". I run OpenSim.exe from my normal user account with "Run as..." (or check "Run with different credentials" in a shortcut's advanced properties) and specify the OpenSimulator account as the one to be used.
[edit] Additional Resources
OSGrid Technical Support Forum with many installation tutorials: osgrid.org/forums/viewforum.php
MONO Project: www.mono-project.com/Main_Page