Libplanet.Types
5.4.0-dev.20241028012328
dotnet add package Libplanet.Types --version 5.4.0-dev.20241028012328
NuGet\Install-Package Libplanet.Types -Version 5.4.0-dev.20241028012328
<PackageReference Include="Libplanet.Types" Version="5.4.0-dev.20241028012328" />
paket add Libplanet.Types --version 5.4.0-dev.20241028012328
#r "nuget: Libplanet.Types, 5.4.0-dev.20241028012328"
// Install Libplanet.Types as a Cake Addin #addin nuget:?package=Libplanet.Types&version=5.4.0-dev.20241028012328&prerelease // Install Libplanet.Types as a Cake Tool #tool nuget:?package=Libplanet.Types&version=5.4.0-dev.20241028012328&prerelease
Libplanet
Libplanet is a .NET library for creating multiplayer online game in decentralized fashion, which means the whole gameplay occurs on a peer-to-peer network among equal nodes rather than an authorized central server. Under the hood, it incorporates many features (e.g., digital signature, BFT consensus, data replication) of a blockchain.
It has competitive advantages over other solutions for decentralized gaming:
Embeddable: A game app does not have to communicate with another running process, hence it doesn't require extra marshaling or processes management. To draw a parallel, Libplanet is closer to SQLite than MySQL or PostgreSQL.
Isomorphic: Libplanet is a .NET library, so every game logic can be written in the same language, C#, and run on the blockchain. No glue code or "smart contracts" are needed.
Token-independent: Unlike almost every blockchain system, it does not force users to create and deal with yet-another-cryptocurrency. Your game can be free to play, and enjoyed by regular gamers.
To learn more about why Planetarium is creating technology for fully decentralized games, please refer to our blog post.
NuGet
For every stable release, we pack Libplanet into a .nupkg and upload it to NuGet and GitHub releases page. (You can find the changelog for versions from releases page.) To use Libplanet in your game, your project needs to add a dependency to Libplanet package. On Visual Studio IDE, run the following command in Package Manager Console:
Install-Package Libplanet
If you prefer dotnet
CLI run the following command instead:
dotnet add package Libplanet
See also Microsoft's docs on different ways to install NuGet package.
In addition to stable releases, we also provide pre-release packages. For every day and every merge commit, it is packed into a .nupkg and uploaded to NuGet with a hyphen-suffixed version name.
For a merge commit build, a version name looks like
0.1.0-dev.20181231235959+a0b1c2d
where 20181231235959
is a UTC timestamp of
the build and a0b1c2d
is the first 7 hexadecimals of the Git commit hash.
For a daily build, a version name is like 0.1.0-nightly.20181231+a0b1c2d
.
Unfortunately, Unity currently does not support NuGet. There are some Unity plug-ins to deal with NuGet package system, and these seem immature at present. To use Libplanet on Unity, you need to manually extract Libplanet.dll from Libplanet.*.nupkg file and place it inside of your Unity project. We are acknowledging the fact Libplanet is currently not very usable together with Unity, and promise to make it better in the next few minor releases. Until then, you could try MSBuildForUnity which is experimental as of January 2020.
Build
You could build Libplanet.dll and Libplanet.Stun.dll assemblies from the source code.
The following command installs dependencies (required library packages) and builds the whole Libplanet solution:
dotnet build
Note that dotnet
command is distributed together with .NET Core SDK.
If you'd like to contribute code to the Libplanet project in earnest, please read our contributor guide.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- Bencodex (>= 0.16.0)
- Bencodex.Json (>= 0.16.0)
- Libplanet.Common (>= 5.4.0-dev.20241028012328)
- Libplanet.Crypto (>= 5.4.0-dev.20241028012328)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Collections.Immutable (>= 1.7.1)
- System.Text.Json (>= 6.0.10)
-
.NETStandard 2.0
- Bencodex (>= 0.16.0)
- Bencodex.Json (>= 0.16.0)
- Libplanet.Common (>= 5.4.0-dev.20241028012328)
- Libplanet.Crypto (>= 5.4.0-dev.20241028012328)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Collections.Immutable (>= 1.7.1)
- System.Text.Json (>= 6.0.10)
-
.NETStandard 2.1
- Bencodex (>= 0.16.0)
- Bencodex.Json (>= 0.16.0)
- Libplanet.Common (>= 5.4.0-dev.20241028012328)
- Libplanet.Crypto (>= 5.4.0-dev.20241028012328)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Collections.Immutable (>= 1.7.1)
- System.Text.Json (>= 6.0.10)
-
net6.0
- Bencodex (>= 0.16.0)
- Bencodex.Json (>= 0.16.0)
- Libplanet.Common (>= 5.4.0-dev.20241028012328)
- Libplanet.Crypto (>= 5.4.0-dev.20241028012328)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Collections.Immutable (>= 1.7.1)
- System.Text.Json (>= 6.0.10)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Libplanet.Types:
Package | Downloads |
---|---|
Libplanet
A .NET library for creating multiplayer online game in decentralized fashion. See also the docs for details: https://docs.libplanet.io/ |
|
Libplanet.Store
Package Description |
|
Libplanet.Action
Package Description |
|
Libplanet.Mocks
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.