Java - Bukkit / Spigot *如何使我的插件需要密码才能启动和运行?*

时间:2015-07-27 00:07:15

标签: java bukkit

如何让我的插件需要密码才能启动和运行?

例如:  当服务器在三秒钟后处于活动状态时,在控制台上留下一条消息,用于输入密钥(让这在代码中)。 如果秘密密钥没有在一分钟内停止服务器停止,但是如果密码正确或加载,插件工作正常。

提前致谢

1 个答案:

答案 0 :(得分:2)

这是可以实现的,但实际上并不是这样,因为在服务器启动时无法真正注册或执行命令。最好的选择可能是创建一个像authentication-key这样的配置值。然后在主插件类的onLoad()方法中,您可以检查配置中的密钥是否有效。如果不是那么你可以System.exit(1)来杀死服务器。尽管强行杀死服务器很可能会破坏内容,所以我建议使用Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "stop");调用内置的stop命令,这将在服务器完全加载后停止服务。

最简洁的方法可能就是不加载你的插件,这样可以防止许多其他潜在的冲突。要执行此操作,您可能无法运行任何启动代码,除非验证密钥有效,或者您实际上可以使用Bukkit.getPluginManager().disablePlugin(<PLUGIN INSTANCE>);

禁用您的插件