该项目可以轻松集成到您的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" ) ;