将 Minecraft Mod 转换为服务器插件

Convert Minecraft Mod into Server Plugin

我开发 Forge Minecraft 模组已有一段时间了。我想知道是否有可能将它们实际放在服务器上。我似乎找不到直接的答案。我知道这可能不是放这个的地方,但我很想知道。请让我知道我是否可以做到,如果可以,怎么做。

您不能将 MC mod 变成服务器插件,因为 Bukkit 和 Forge 是不同的东西(从插件开发者那里获取);但是,您可以让 mod 在 Forge 服务器上工作。

制作 Forge 服务器时,除了 Forge 客户端之外,服务器的所有玩家都必须安装客户端 mod 才能正常工作,因此请做好准备。

第一步实际上是install the server. Next, go to your Forge server folder, and upload the mod(s) into the folder. Then restart your server and boom, its there. Server mods can be found here

所以如果你不想读这个,它的要点是,,你不能,但是你的mods 可以在 Forge 服务器上使用,但不能作为 Bukkit 或 Spigot 服务器的插件,而且您的玩家将需要客户端 modpack。希望这对您有所帮助!

如果您只想制作 mod 服务器端,而不需要 "clients" 下载它,请将 acceptableRemoteVersions = "*" 添加到您的 @Mod 行。

这样玩家不必 mod 就可以连接到服务器。这样你就可以拥有像 dynmap 或 whotookmycookies 这样的 plugins/mods 而玩家不必也拥有 mod。

如果您想将它们放在服务器上,可以。但请记住,如果您只为单人游戏世界开发,您将 运行 陷入 "Side" 问题。 代码会中断,因为有些代码专门针对客户端,有些代码仅限服务器端。

您将不得不调整一些与数据包同步的代码,以确保您的所有图形化操作都会发生,并且用户输入将返回给您。

单人世界在这方面没有那么挑剔。因此,请确保你 运行 所有代码都在 "proper" 端,并记住 if(!world.isRemote)(测试你是否在 运行 宁服务器端)是你的朋友。

@Mod(modid = MyMod.MODID, name = MyMod.NAME, version = MyMod.VERSION), acceptableRemoteVersions = "*"
public class MyMod {
   ....
}