Libplanet 是一個 .NET 函式庫,用於以去中心化方式創建多人線上遊戲,這意味著整個遊戲過程發生在平等節點之間的對等網路上,而不是在授權的中央伺服器上。 在底層,它融合了區塊鏈的許多功能(例如,數位簽章、BFT 共識、資料複製)。
與其他去中心化遊戲解決方案相比,它具有競爭優勢:
可嵌入:遊戲應用程式不必與另一個正在運行的進程通信,因此不需要額外的編組或進程管理。相較之下,Libplanet 比 MySQL 或 PostgreSQL 更接近 SQLite。
同構:Libplanet 是一個 .NET 函式庫,因此每個遊戲邏輯都可以用相同的語言 C# 編寫,並在區塊鏈上運行。不需要膠水代碼或“智能合約”。
與代幣無關:與幾乎所有區塊鏈系統不同,它不會強迫用戶創建和處理另一種加密貨幣。您的遊戲可以免費玩,一般玩家也可以享受。
要了解有關天文館為何為完全去中心化遊戲創建技術的更多信息,請參閱我們的部落格文章。
對於每個穩定版本,我們將 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
是 Git 提交哈希的前 7 個十六進制。對於每日構建,版本名稱類似於0.1.0-nightly.20181231+a0b1c2d
。
不幸的是,Unity 目前不支援 NuGet。 有一些Unity外掛程式來處理NuGet套件系統,目前這些似乎還不成熟。要在 Unity 上使用 Libplanet,您需要手動從Libplanet.*.nupkg檔案中提取Libplanet.dll ,並將其放置在 Unity 專案中。我們承認 Libplanet 目前與 Unity 一起使用不太方便,並承諾在接下來的幾個小版本中使其變得更好。在那之前,您可以嘗試 MSBuildForUnity,它在 2020 年 1 月處於實驗階段。
您可以從原始碼建立Libplanet.dll和Libplanet.Stun.dll組件。
以下命令安裝依賴項(所需的庫包)並建置整個 Libplanet 解決方案:
點網構建
請注意, dotnet
命令與 .NET Core SDK 一起分發。
如果您想真誠地向 Libplanet 專案貢獻程式碼,請閱讀我們的貢獻者指南。