65 lines
4.9 KiB
Markdown
65 lines
4.9 KiB
Markdown
```
|
|
▄▄▌ ▪ ▄▄▄▄· ▄▄▄ ▄▄▄ .• ▌ ▄ ·. ▄▄▄ .▄▄▄▄▄ ▄▄▄· ▌ ▐·▄▄▄ .▄▄▄ .▄▄ · ▄▄▄ .
|
|
██• ██ ▐█ ▀█▪▀▄ █·▀▄.▀··██ ▐███▪▀▄.▀·•██ ▐█ ▀█ ▪█·█▌▀▄.▀·▀▄ █·▐█ ▀. ▀▄.▀·
|
|
██▪ ▐█·▐█▀▀█▄▐▀▀▄ ▐▀▀▪▄▐█ ▌▐▌▐█·▐▀▀▪▄ ▐█.▪▄█▀▀█ ▐█▐█•▐▀▀▪▄▐▀▀▄ ▄▀▀▀█▄▐▀▀▪▄
|
|
▐█▌▐▌▐█▌██▄▪▐█▐█•█▌▐█▄▄▌██ ██▌▐█▌▐█▄▄▌ ▐█▌·▐█ ▪▐▌ ███ ▐█▄▄▌▐█•█▌▐█▄▪▐█▐█▄▄▌
|
|
.▀▀▀ ▀▀▀·▀▀▀▀ .▀ ▀ ▀▀▀ ▀▀ █▪▀▀▀ ▀▀▀ ▀▀▀ ▀ ▀ . ▀ ▀▀▀ .▀ ▀ ▀▀▀▀ ▀▀▀
|
|
```
|
|
# LibreMetaverse
|
|
|
|
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
|
|
|
|
## Simple installation procedure
|
|
|
|
### Windows
|
|
|
|
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.
|
|
|
|
### Linux/macOS
|
|
|
|
- Make sure you have at least `dotnet` installed, 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.0` or `../bin/net9.0` (there might be a few more directories under `../bin`),
|
|
depending on what runtimes you have installed on your system. Make sure you `cd` to 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 the `x` attribute set) and having the name
|
|
of the appropriate test application (e.g. `TestClient` for the interactive testing tool).
|
|
|
|
- Unlike OpenSimulator and LibOpenMetaverse, you don't need to launch the binaries with Mono, they're _directly_ executable;
|
|
the `dotnet` chain already embeds the small runtime that allows .NET apps to run natively on whatever operating system you've got.
|
|
|
|
### GUI support under Linux/macOS
|
|
|
|
LibreMetaverse.GUI is not available on Linux/macOS due to Microsoft's lack of support for GDI/WinForms on non-Windows platforms.
|
|
They may work using Mono's implemention and can always be emulated using a product like Wine.
|
|
|
|
The GUI library is being phased out and eventually being replaced by a more cross-platform framework like Avalonia or MAUI.
|
|
|
|
|
|
[](https://www.nuget.org/packages/LibreMetaverse/)
|
|
[](https://github.com/cinderblocks/libremetaverse/blob/master/LICENSE.txt)
|
|
[](https://www.nuget.org/packages/LibreMetaverse/)
|
|
[](https://ci.appveyor.com/project/cinderblocks57647/libremetaverse-ksbcr)
|
|
[](https://ci.appveyor.com/project/cinderblocks57647/libremetaverse-ksbcr)
|
|
[](https://www.codacy.com/gh/cinderblocks/libremetaverse/dashboard?utm_source=github.com&utm_medium=referral&utm_content=cinderblocks/libremetaverse&utm_campaign=Badge_Grade)
|
|
[](https://www.github.com/cinderblocks/libremetaverse/)
|
|
[](https://keybase.io/cinder) [](https://keybase.io/cinder)
|
|
|
|
## Contributors
|
|
|
|
<a href="https://github.com/cinderblocks/libremetaverse/graphs/contributors">
|
|
<img src="https://contrib.rocks/image?repo=cinderblocks/libremetaverse" />
|
|
</a> |