該專案可以輕鬆整合到您的 minehut 帳戶/伺服器。它包含了minehut後端API的所有功能,包括建立/驗證帳戶的能力。
這個專案是用 Visual Basic 編寫的,但由於它是一個 .NET 程式庫,因此與在 C# 中使用它沒有區別。
您需要了解的第一部分是,該程式庫的大部分內容位於 MinehutAPIClient 中
minehut API 的大部分功能都需要登入,以便您可以存取您的伺服器。為此,請使用 Login() 方法。對於此類中包含的大多數函數,建議導入 Minehut.Types 類別。
using Minehut . Types ;
這將向minehut api 驗證客戶端,從而允許您使用您的伺服器。 C#
MinehutApiClient Minehut = New MinehutApiClient ( ) ;
Minehut . Login ( "[email protected]" , "SuperSecretPassword" ) ;
使用此功能,您可以存取所有目前正在運行的公共minehut伺服器。這些伺服器作為伺服器類型的 IList 傳回。 (在 Minehut.Types 內)
IList < Server > servers = Minehut . GetServers ( ) ;
這會檢索您的伺服器的 ID,這些 ID 用於指定您想要使用其他功能/方法影響的伺服器。
String [ ] MyServers = Minehut . GetSelfServers ;
此函數將檢索minehut 上所有可用的插件。
IList < Plugin > Plugins = Minehut . GetPlugins ( ) ;
這將獲取有關指定伺服器的擴展資訊。它需要一個伺服器 ID,並且它將傳回有關伺服器的資訊。
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
ExtendedServer ExtendedServerInformation = Minehut . GetServerByID ( Server1ID ) ;
此函數將以 GetServerByID() 形式傳回保存訊息,但這使用伺服器名稱而不是伺服器 ID。
ExtendedServer ExtendedServerInformation = Minehut . GetServerByID ( "Skyblock" ) ;
使用此功能,您可以檢索作為 Minecraft 伺服器的一部分儲存的檔案。每個檔案都儲存為 ServerFile 物件(在 Minehut.Types 中)。這些物件包含:
您需要指定伺服器 ID,也可以選擇指定路徑。預設情況下,它將傳回儲存在伺服器根目錄中的檔案。
取得根目錄檔:
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
Ilist < ServerFile > RootFiles = Minehut . GetServerFiles ( Server1ID ) ;
取得指定資料夾的檔案:
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
Ilist < ServerFile > EssentialsConfigFiles = Minehut . GetServerFiles ( Server1ID , "PluginsEssentials" ) ;
這將傳回指定伺服器的所有已安裝插件。它們作為 InstalledPlugin 的 IList 傳回(在 Minehut.Types 中)
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
Ilist < InstalledPlugin > InstalledPlugins = Minehut . GetServerPlugins ( Server1ID ) ;
這將傳回給定伺服器的狀態。有助於查看有多少人在線上、誰在線上、伺服器的狀態等。以 Status 物件傳回(在 Minehut.Types 中)
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
Status MyServerStatus = Minehut . GetServerStatus ( Server1ID ) ;
這將會傳回一個 AuthToken 物件(在 Minehut.types 中)。它封裝了向minehut API 進行身份驗證所需的會話ID 和存取權杖。如果您想保存會話 ID/令牌,這非常有用。它的主要用途是供 MinehutEventprovider 使用。這方面的範例將在本文檔後面看到
注意:在呼叫此函數之前,您需要登入minehut。
AuthToken Auth = Minehut . GetAuthToken ( ) ;
此方法變更指定伺服器的 MOTD(在 Minecraft 伺服器清單中看到的標題訊息)
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
Minehut . ChangeServerMOTD ( Server1ID , "Welcome to my epic minecraft server!" ) ;
這會更改伺服器的名稱和 IP 位址。如果名稱已被佔用,它將拋出錯誤,因此我建議將其放入 try catch 中。
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
try
{
Minehut . ChangeServerName ( Server1ID , "MySky" ) ;
Console . WriteLine ( "Server name changed!" ) ;
}
catch ( ArgumentNullException ex )
{
Console . WriteLine ( "OOPS! that name is already taken!" ) ;
}
使用它,您可以更改伺服器的任何屬性。指定伺服器 ID、伺服器屬性(使用 ServerProperties 枚舉,儲存在 Minehut.Types 中)和新屬性值,您可以變更以下任何屬性:允許飛行、允許下界、宣布玩家成就、難度、啟用命令區塊、強制遊戲模式、遊戲模式、生成結構、生成器設定、硬核、關卡名稱、關卡類型、最大玩家數(10 或20,如果您有付費伺服器,可以更高)、PVP、資源包(下載url)、生成動物和生成暴民。
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
Minehut . ChangeServerProperty ( Server1ID , Serverproperties . difficulty , "normal" ) ;
Minehut . ChangeServerProperty ( Server1ID , Serverproperties . Level_Name , "world1" ) ;
Minehut . ChangeServerProperty ( Server1ID , Serverproperties . MaxPlayers , 20 ) ;
這允許您將伺服器設定為公共或私有。指定伺服器 ID 以及它是公共的還是私有的。 True = 公開 False = 私有
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String SuperSecretServersID = MyServers [ 0 ] ;
Minehut . ChangeServerVisibility ( SuperSecretServersID , False ) ;
將指定插件安裝到 Minecraft 伺服器。若要尋找插件 ID,建議使用 GetPlugins() 函數。例如,這是 Essentials 插件的 ID:5a42ba4846246d33fa64c625
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
IList < Plugin > PublicPlugins = Minehut . GetPlugins ( ) ;
String RandomPluginID = PublicPlugins [ 50 ] . ID ;
//installs a the random plugin
Minehut . InstallServerPlugin ( Server1ID , RandomPluginID ) ;
//installs a the Essentials plugin
Minehut . InstallServerPlugin ( Server1ID , "5a42ba4846246d33fa64c625" ) ;
從 Minecraft 伺服器卸載插件。與 InstallServerPlugin() 非常相似,但它不是安裝插件,而是將其刪除。
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
IList < InstalledPlugins > MyInstalledPlugins = Minehut . GetServerPlugins ( Server1ID ) ;
String RandomInstalledPluginID = MyInstalledPlugins [ 4 ] . ID ;
//uninstalls a the random plugin
Minehut . RemoveServerPlugin ( Server1ID , RandomPluginID ) ;
//uninstalls a the Essentials plugin
Minehut . RemoveServerPlugin ( Server1ID , "5a42ba4846246d33fa64c625" ) ;
修復所有 Minecraft 伺服器文件,用於修復損壞/損壞的 Minecraft 伺服器檔案。
String [ ] MyServers = Minehut . GetSelfServers ( ) ;
String Sevrer1ID = MyServers [ 0 ] ;
Minehut . RepairServer ( Server1ID ) ;
刪除指定伺服器的所有伺服器文件,將其重置回出廠預設值並刪除所有世界、插件等。
注意:此操作無法撤銷。文件將永久丟失,因此建議在執行此操作之前備份伺服器檔案。
Minehut . ResetServer ( ServerID ) ;
這將重置給定伺服器上給定插件的配置。如果設定檔完全損壞,則很有用。
Minehut . ResetServerPlugin ( ServerID , PluginID ) ;
這將擦除並重新生成預設伺服器世界。請記住,這會擦除伺服器,所有內容都會遺失。
Minehut . ResetServerWorld ( ServerID ) ;
拯救伺服器的世界。與/保存相同。
Minehut . SaveServer ( ServerID ) ;
這透過控制台將指定的命令傳送到伺服器。所有命令都作為伺服器運行,因此具有操作員權限。
minehut . SendCommand ( ServerID , "Op ShimmyMySherbet" )
minehut . SendCommand ( ServerID , "Broadcast Server shutting down in 5 minutes!" )
啟動指定 Minecraft 伺服器的服務和伺服器。
Minehut . StartService ( ServerID ) ;
啟動 Minecraft 伺服器。注意:僅當服務已在線時才使用此選項,通常最好僅使用 StartService()。
Minehut . StartServer ( ServerID ) ;
儲存,然後關閉 Minecraft 伺服器及其服務。如果您不打算在接下來的 5 分鐘內再次啟動伺服器,請使用此選項。
Minehut . ShutdownService ( ServerID ) ;
儲存,然後關閉伺服器,但不關閉服務。這樣您就可以快速重新啟動伺服器。對於應用程式屬性變更或外掛程式更改很有用。
Minehut . ShutdownServer ( ServerID ) ;
允許您註冊一個minehut 帳戶。不過,建議僅使用minehut 網站。
Date DateOfBirth = New Date ( 2000 , 9 , 15 ) ;
Minehut . SignUp ( "[email protected]" , DateOfBirth ) ;
這將觸發minehut將驗證碼傳送到指定的電子郵件。
這樣您就可以使用傳送到您的電子郵件地址的電子郵件代碼來確認您的minehut 帳戶(請參閱上文)
Minehut . ConfirmEmail ( "SuperSecretPassword124" , "EmailverificationCode" ) ;