▄▄▌ ▪ ▄▄▄▄· ▄▄▄ ▄▄▄ .• ▌ ▄ ·. ▄▄▄ .▄▄▄▄▄ ▄▄▄· ▌ ▐·▄▄▄ .▄▄▄ .▄▄ · ▄▄▄ .
██• ██ ▐█ ▀█▪▀▄ █·▀▄.▀··██ ▐███▪▀▄.▀·•██ ▐█ ▀█ ▪█·█▌▀▄.▀·▀▄ █·▐█ ▀. ▀▄.▀·
██▪ ▐█·▐█▀▀█▄▐▀▀▄ ▐▀▀▪▄▐█ ▌▐▌▐█·▐▀▀▪▄ ▐█.▪▄█▀▀█ ▐█▐█•▐▀▀▪▄▐▀▀▄ ▄▀▀▀█▄▐▀▀▪▄
▐█▌▐▌▐█▌██▄▪▐█▐█•█▌▐█▄▄▌██ ██▌▐█▌▐█▄▄▌ ▐█▌·▐█ ▪▐▌ ███ ▐█▄▄▌▐█•█▌▐█▄▪▐█▐█▄▄▌
.▀▀▀ ▀▀▀·▀▀▀▀ .▀ ▀ ▀▀▀ ▀▀ █▪▀▀▀ ▀▀▀ ▀▀▀ ▀ ▀ . ▀ ▀▀▀ .▀ ▀ ▀▀▀▀ ▀▀▀
LibreMetaverse is a fork of libOpenMetaverse which in turn was a fork of libSecondLife, a library for developing Second Life-compatible virtual world clients. LibreMetaverse returns the focus to up-to-date Second Life and OpenSim compatibility with an eye to performance, multi-threading, and memory management.
The canonical source for LibreMetaverse can be found at: https://github.com/cinderblocks/libremetaverse
The dotnet utility is cross-platform so compilation is no different than on Linux/macOS.
You may, however, opt to use Visual Studio as you would any other .NET application.
-
Make sure you have at least
dotnetinstalled, with a valid SDK and runtime of at least .NET6 available! -
From the root, run
dotnet restore LibreMetaverse.Release.sln. You should get some errors regarding missing Windows libraries; that's ok, you can ignore those, they're to be expected since Linux/macOS do not include such libraries. Some test applications are Windows-only.
If all goes well, you should now have all dependent packages properly installed. -
From the root, run
dotnet msbuild LibreMetaverse.Release.sln, and enjoy the superfast Roslyn compiler at work 😄 It should finish after a few minutes, depending on the speed of your machine. -
Your binaries will be under
../bin/net8.0or../bin/net9.0(there might be a few more directories under../bin), depending on what runtimes you have installed on your system. Make sure youcdto the correct directory depending on the runtime you have, and then search for all your binaries there: they should be normal-looking executable files (with thexattribute set) and having the name of the appropriate test application (e.g.TestClientfor the interactive testing tool). -
Unlike OpenSimulator and LibOpenMetaverse, you don't need to launch the binaries with Mono, they're directly executable; the
dotnetchain already embeds the small runtime that allows .NET apps to run natively on whatever operating system you've got.