Prerequisites
For building in Linux you need the 'git', 'dotnet8' and 'libgdiplus' packages. Mono is not needed.
For building in Windows you need git and the .NET 8 SDK. Visual Studio is not needed when using compile.bat.
I won't give a git tutorial on this page, only the commands you need. It is best to make a toplevel "opensim-dev" or such folder for all OpenSim related stuff, and clone everything below in that folder.
It's best to compile addon modules yourself and not use addon binaries, as those probably target specific old/mono versions of OpenSim and may be incompatible.
mkdist is for creating a zips with the compiled binaries. If you want to use this script, you'll need zip from the InfoZip project and have it in your path. In Debian/Ubuntu the package name is 'zip'.
Tip: On Linux use Visual Studio Code or Rider to develop
Clone this repo
git clone https://git.lotix.org/lotek/opensim.git
cd opensim
git checkout lotix
cd ..
OpenSimSearch addon
Almost every grid uses this. It provides places/parcel search among other things.
Since 2024-08-22, this is already included in opensim-lotix
OpenSimMutelist addon
An improved mute list that stores your mutes on the grid instead of just in your viewer cache
Windows:
git clone https://git.lotix.org/lotek/OpenSimMutelist.git
cd OpenSimMutelist
git checkout lotix
cd ..
xcopy /s /i OpenSimMutelist\OpenSimMutelist opensim\addon-modules\OpenSimMutelist
Linux:
git clone https://git.lotix.org/lotek/OpenSimMutelist.git
cd OpenSimMutelist
git checkout lotix
cd ..
cp -R OpenSimMutelist/OpenSimMutelist opensim/addon-modules
Gloebit addon
A hypergrid-compatible OpenSim currency
Windows:
git clone https://git.lotix.org/lotek/opensim-moneymodule-gloebit.git
cd opensim-moneymodule-gloebit
git checkout lotix
cd ..
xcopy /s /i opensim-moneymodule-gloebit\addon-modules\Gloebit opensim\addon-modules\Gloebit
copy addon-modules\Gloebit\GloebitMoneyModule\Gloebit.ini.example opensim\bin\Gloebit.ini.example
Linux:
git clone https://git.lotix.org/lotek/opensim-moneymodule-gloebit.git
cd opensim-moneymodule-gloebit
git checkout lotix
cd ..
cp -R opensim-moneymodule-gloebit/addon-modules/Gloebit opensim/addon-modules
cp addon-modules/Gloebit/GloebitMoneyModule/Gloebit.ini.example opensim/bin/Gloebit.ini.example
Compiling in Windows
cd opensim
runprebuild.bat
compile.bat
mkdist.bat
Alternatively, instead of compile.bat use start OpenSim.sln which will start Visual Studio with the solution. Make sure to set 'Release' target instead of 'Debug' for maximum runtime performance.
Compiling in Linux
cd opensim
./runprebuild.sh
./compile.sh
./mkdist.sh
Notice that since the switch away from Mono to .NET, OpenSim.exe and Robust.exe are replaced respectively by OpenSim.dll and Robust.dll. They are to be run prefixed with 'dotnet', like 'dotnet OpenSim.dll' instead of 'mono OpenSim.exe'.
Staying current
Anytime you want to update to the latest code, within the opensim folder execute:
git pull
(and prebuild and compile again)
The addons rarely get updated so no need to copy them over again.