Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Blockchain in C#/.NET for on-chain, decentralized gaming

License

NotificationsYou must be signed in to change notification settings

planetarium/libplanet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiscordBuild Status (CircleCI)CodecovNuGetNuGet (prerelease)

Libplanet is a .NET library for creating multiplayer online game indecentralized fashion, which means the whole gameplay occurs on apeer-to-peer network among equal nodes rather than an authorized centralserver. Under the hood, it incorporates many features (e.g.,digital signature,BFT consensus, data replication) of ablockchain.

It has competitive advantages over other solutions for decentralized gaming:

  • Embeddable: A game app does not have to communicate with another runningprocess, 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 bewritten in the same language, C#, and run on the blockchain. No gluecode or "smart contracts" are needed.

  • Token-independent: Unlike almost every blockchain system, it does notforce users to create and deal with yet-another-cryptocurrency. Yourgame can be free to play, and enjoyed by regular gamers.

To learn more about why Planetarium is creating technology for fullydecentralized games, please refer to ourblog post.

NuGet

For every stable release, we pack Libplanet into a.nupkg andupload it toNuGet and GitHubreleases page.(You can find the changelog for versions fromreleases page.)To use Libplanet in your game, your project needs to add a dependencytoLibplanet package. On Visual Studio IDE, run the following commandin Package Manager Console:

Install-Package Libplanet

If you preferdotnet CLI run the following command instead:

dotnet add package Libplanet

See also Microsoft's docs ondifferent 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.nupkgand uploaded toNuGet with a hyphen-suffixed version name.

For a merge commit build, a version name looks like0.1.0-dev.20181231235959+a0b1c2d where20181231235959 is a UTC timestamp ofthe build anda0b1c2d is the first 7 hexadecimals of the Git commit hash.For a daily build, a version name is like0.1.0-nightly.20181231+a0b1c2d.

Unfortunately, Unity currently does not support NuGet. There are some Unityplug-ins to deal with NuGet package system, and these seem immature at present.To use Libplanet on Unity, you need to manually extractLibplanet.dllfromLibplanet.*.nupkg file and place it inside of your Unity project.We are acknowledging the fact Libplanet is currently not very usable togetherwith Unity, and promise to make it better in the next few minor releases.Until then, you could tryMSBuildForUnity which is experimental as ofJanuary 2020.

Build

You could buildLibplanet.dll andLibplanet.Stun.dll assembliesfrom the source code.

The following command installs dependencies (required library packages) andbuilds the whole Libplanet solution:

dotnet build

Note thatdotnet command is distributed together with.NET Core SDK.

If you'd like to contribute code to the Libplanet project in earnest,please read ourcontributor guide.


[8]ページ先頭

©2009-2025 Movatter.jp