如何让我的插件需要密码才能启动和运行?
例如: 当服务器在三秒钟后处于活动状态时,在控制台上留下一条消息,用于输入密钥(让这在代码中)。 如果秘密密钥没有在一分钟内停止服务器停止,但是如果密码正确或加载,插件工作正常。
提前致谢
答案 0 :(得分:2)
这是可以实现的,但实际上并不是这样,因为在服务器启动时无法真正注册或执行命令。最好的选择可能是创建一个像authentication-key
这样的配置值。然后在主插件类的onLoad()
方法中,您可以检查配置中的密钥是否有效。如果不是那么你可以System.exit(1)
来杀死服务器。尽管强行杀死服务器很可能会破坏内容,所以我建议使用Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "stop");
调用内置的stop命令,这将在服务器完全加载后停止服务。
最简洁的方法可能就是不加载你的插件,这样可以防止许多其他潜在的冲突。要执行此操作,您可能无法运行任何启动代码,除非验证密钥有效,或者您实际上可以使用Bukkit.getPluginManager().disablePlugin(<PLUGIN INSTANCE>);