Libplanet — это библиотека .NET для создания многопользовательских онлайн-игр децентрализованным способом, что означает, что весь игровой процесс происходит в одноранговой сети между равными узлами, а не на авторизованном центральном сервере. Внутри он включает в себя множество функций (например, цифровую подпись, консенсус BFT, репликацию данных) блокчейна.
Имеет конкурентные преимущества перед другими решениями для децентрализованного гейминга:
Встраиваемость : игровому приложению не нужно взаимодействовать с другим запущенным процессом, поэтому ему не требуется дополнительная маршалинг или управление процессами. Если провести параллель, Libplanet ближе к SQLite, чем к MySQL или PostgreSQL.
Изоморфность : Libplanet — это библиотека .NET, поэтому любую игровую логику можно написать на одном языке C# и запустить на блокчейне. Никакого связующего кода или «умных контрактов» не требуется.
Независимость от токенов : в отличие от почти любой системы блокчейнов, она не заставляет пользователей создавать еще одну криптовалюту и работать с ней. Ваша игра может быть бесплатной и понравится постоянным игрокам.
Чтобы узнать больше о том, почему Planetarium создает технологию для полностью децентрализованных игр, прочтите наш блог.
Для каждого стабильного выпуска мы упаковываем Libplanet в .nupkg и загружаем его на страницу выпусков NuGet и GitHub. (Вы можете найти журнал изменений для версий на странице выпусков.) Чтобы использовать Libplanet в вашей игре, вашему проекту необходимо добавить зависимость к пакету Libplanet . В Visual Studio IDE выполните следующую команду в консоли диспетчера пакетов:
Install-Package Libplanet
Если вы предпочитаете dotnet
CLI, выполните вместо этого следующую команду:
dotnet добавить пакет Libplanet
См. также документацию Microsoft о различных способах установки пакета NuGet.
Помимо стабильных выпусков, мы также предоставляем предварительные версии. Для каждого дня и каждого коммита слияния он упаковывается в .nupkg и загружается в NuGet с именем версии, дополненным дефисом.
Для сборки с коммитом слияния имя версии выглядит как 0.1.0-dev.20181231235959+a0b1c2d
, где 20181231235959
— это временная метка сборки в формате UTC, а a0b1c2d
— это первые 7 шестнадцатеричных знаков хэша фиксации Git. Для ежедневной сборки имя версии имеет вид 0.1.0-nightly.20181231+a0b1c2d
.
К сожалению, Unity в настоящее время не поддерживает NuGet. Существует несколько плагинов Unity для работы с системой пакетов NuGet, но в настоящее время они кажутся незрелыми. Чтобы использовать Libplanet в Unity, вам необходимо вручную извлечь Libplanet.dll из файла Libplanet.*.nupkg и поместить его в свой проект Unity. Мы признаем тот факт, что Libplanet в настоящее время не очень удобно использовать вместе с Unity, и обещаем улучшить ситуацию в следующих нескольких небольших выпусках. А пока вы можете попробовать MSBuildForUnity, который с января 2020 года является экспериментальным.
Вы можете собрать сборки Libplanet.dll и Libplanet.Stun.dll из исходного кода.
Следующая команда устанавливает зависимости (необходимые пакеты библиотек) и собирает все решение Libplanet:
сборка дотнета
Обратите внимание, что команда dotnet
распространяется вместе с .NET Core SDK.
Если вы всерьез хотите внести свой вклад в проект Libplanet, прочтите наше руководство для участников.