Skip to content

Compiling

lickx edited this page Aug 22, 2024 · 16 revisions

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 zip with the compiled binary. 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'.

Clone this repo

git clone https://github.com/lickx/opensim-lickx.git
cd opensim-lickx
git checkout lickx
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-lickx

OpenSimMutelist addon

An improved mute list that stores your mutes on the grid instead of just in your viewer cache

Windows:

git clone https://github.com/lickx/OpenSimMutelist.git
cd OpenSimMutelist
git checkout lickx
cd ..
xcopy /s /i OpenSimMutelist\OpenSimMutelist opensim-lickx\addon-modules\OpenSimMutelist

Linux:

git clone https://github.com/lickx/OpenSimMutelist.git
cd OpenSimMutelist
git checkout lickx
cd ..
cp -R OpenSimMutelist/OpenSimMutelist opensim-lickx/addon-modules

Gloebit addon

A hypergrid-compatible OpenSim currency

Windows:

git clone https://github.com/lickx/opensim-moneymodule-gloebit.git
cd opensim-moneymodule-gloebit
git checkout lickx
cd ..
xcopy /s /i opensim-moneymodule-gloebit\addon-modules\Gloebit opensim-lickx\addon-modules\Gloebit
copy addon-modules\Gloebit\GloebitMoneyModule\Gloebit.ini.example bin\Gloebit.ini.example

Linux:

git clone https://github.com/lickx/opensim-moneymodule-gloebit.git
cd opensim-moneymodule-gloebit
git checkout lickx
cd ..
cp -R opensim-moneymodule-gloebit/addon-modules/Gloebit opensim-lickx/addon-modules
cp addon-modules/Gloebit/GloebitMoneyModule/Gloebit.ini.example bin/Gloebit.ini.example

Compiling in Windows

cd opensim-lickx
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-lickx
./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-lickx folder execute:

git pull
(and prebuild and compile again)

The addons rarely get updated so no need to copy them over again.