2016-12-08 08:48:16 -06:00
```
_ _ _ _ _ _ _ ___ ___ __ ___ ___ __ ___ _ __ ___
| (_) |__ _ _ ___| \/ | __ |_ _ / _ \ \ / / _ _ | _ \/ _ _ | _ _ |
| | | '_ \ '_/ -_) |\/| | _ | | |/ _ \ V /| _|| /\__ \ _|
|_|_|_.__/_| \___|_| |_|___| |_/_/ \_\_/ |___|_|_\|___/___|
```
2022-04-18 21:34:48 +01:00
# LibreMetaverse
2016-12-08 08:48:16 -06:00
LibreMetaverse is a fork of libOpenMetaverse which in turn was a fork of
libSecondLife, a library for developing Second Life-compatible virtual world
2022-04-12 19:58:45 +01:00
clients. LibreMetaverse returns the focus to up-to-date Second Life and OpenSim
2021-12-13 09:20:19 -06:00
compatibility with an eye to performance, multi-threading, and memory management.
2016-12-08 08:48:16 -06:00
2019-10-23 10:26:36 -05:00
The canonical source for LibreMetaverse can be found at:
https://github.com/cinderblocks/libremetaverse
2011-03-14 23:31:27 +00:00
2022-04-18 21:34:48 +01:00
## Simple installation procedure
2022-04-12 21:13:55 +01:00
2022-11-11 12:08:47 -06:00
### Windows
2022-04-12 21:13:55 +01:00
2022-11-11 12:08:47 -06:00
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.
2022-04-15 18:24:03 +01:00
2022-11-11 12:08:47 -06:00
### Linux/macOS
2022-04-15 18:24:03 +01:00
2022-11-11 12:08:47 -06:00
- Make sure you have at least `dotnet` installed, with a valid SDK _ and _ runtime of at least .NET5 available!
2022-04-12 21:13:55 +01:00
2022-11-11 12:08:47 -06:00
- This update includes a solution file to skip GUI applications for non-Windows platforms. Use `LibreMetaverse.ReleaseNoGUI.sln` instead
2022-04-15 18:24:03 +01:00
2022-11-11 12:08:47 -06:00
- From the root, run `dotnet restore LibreMetaverse.ReleaseNoGUI.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.
2022-04-15 18:24:03 +01:00
2022-11-11 12:08:47 -06:00
- From the root, run `dotnet msbuild LibreMetaverse.ReleaseNoGUI.sln` , and enjoy the superfast Roslyn compiler at work 😄
It should finish after a few minutes, depending on the speed of your machine.
2022-04-15 18:24:03 +01:00
2022-11-11 12:08:47 -06:00
- Your binaries will be under `../bin/net6.0` or `../bin/net7.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).
2022-04-13 12:26:22 +01:00
2022-11-11 12:08:47 -06:00
- 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.
2022-04-13 12:26:22 +01:00
2022-04-18 21:34:48 +01:00
### GUI support under Linux/macOS
2022-04-13 12:26:22 +01:00
2022-11-05 13:57:09 -05:00
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.
2022-04-13 12:26:22 +01:00
2019-10-24 12:43:30 -05:00
[](https://www.nuget.org/packages/LibreMetaverse/)
[](https://www.nuget.org/packages/LibreMetaverse/)
[](https://ci.appveyor.com/project/cinderblocks57647/libremetaverse-ksbcr)
2021-12-13 09:20:19 -06:00
[](https://ci.appveyor.com/project/cinderblocks57647/libremetaverse-ksbcr)
2021-07-25 10:07:56 -05:00
[](https://www.codacy.com/gh/cinderblocks/libremetaverse/dashboard?utm_source=github.com&utm_medium=referral&utm_content=cinderblocks/libremetaverse&utm_campaign=Badge_Grade)
2022-04-18 19:19:32 +01:00
[](https://github.com/cinderblocks/libremetaverse/actions/workflows/dotnet.yml)
[](https://github.com/cinderblocks/libremetaverse/actions/workflows/codeql-analysis.yml)
2021-07-25 10:14:57 -05:00
[](https://github.com/cinderblocks/libremetaverse/blob/master/LICENSE.txt)
2021-12-13 09:20:19 -06:00
[](https://www.github.com/cinderblocks/libremetaverse/)
2021-07-25 10:07:56 -05:00
[](https://keybase.io/cinder) [](https://keybase.io/cinder)