防止伪造的Java客户端数据?

防止伪造的Java客户端数据?,java,client-server,minecraft,bukkit,Java,Client Server,Minecraft,Bukkit,我正在为流行的Minecraft服务器软件Bukkit编写一个插件 我的插件将需要发送球员得分到我的服务器,以制定一个全球排行榜 鉴于Java可以反编译,有人可以反编译插件,并了解它是如何工作的(反正它是开源的)。我正在寻找一种将数据发送到我的服务器(玩家分数)的方法,这样它就不会被欺骗,排行榜也不会被操纵 我正在考虑让插件的用户(服务器所有者)登录排行榜网站,然后使用他们自己的用户名/密码组合连接到我的排行榜。如果它被滥用,我可以简单地阻止该服务器进入排行榜。然而,这并不是最有效的方法,因为我

我正在为流行的Minecraft服务器软件Bukkit编写一个插件

我的插件将需要发送球员得分到我的服务器,以制定一个全球排行榜

鉴于Java可以反编译,有人可以反编译插件,并了解它是如何工作的(反正它是开源的)。我正在寻找一种将数据发送到我的服务器(玩家分数)的方法,这样它就不会被欺骗,排行榜也不会被操纵

我正在考虑让插件的用户(服务器所有者)登录排行榜网站,然后使用他们自己的用户名/密码组合连接到我的排行榜。如果它被滥用,我可以简单地阻止该服务器进入排行榜。然而,这并不是最有效的方法,因为我必须管理连接并批准杀死的数量


我该如何确保客户端(Bukkit服务器插件)不会欺骗杀人?

如果您担心的是合法用户受到足够的教育,可以反编译您的jar,了解您的代码并找出如何从插件发送错误数据,那么身份验证方法是没有用的(用户已经是合法的)我假设计算所需内容的逻辑不能驻留在服务器中。在这种情况下,您最好的选择是混淆您的代码

如果您担心合法用户受到足够的教育,可以反编译您的jar,了解您的代码并找出如何从插件发送错误数据,则身份验证方法没有用(用户已经是合法的)我假设计算所需内容的逻辑不能驻留在服务器中。在这种情况下,您最好的选择是混淆您的代码

使其开源是阻止您的原因。如果它是封闭源代码的,您可能会混淆您的jar,并且反编译代码会困难得多

如果您仍然希望它是开源的,您可以关注快速增长的服务器或得分很高的服务器。但正如你所说,这是非常低效的


发布在Bukkit论坛上,他们可能会给你一个更好的答案。

让它开源是阻止你的原因。如果它是封闭源代码的,您可能会混淆您的jar,并且反编译代码会困难得多

如果您仍然希望它是开源的,您可以关注快速增长的服务器或得分很高的服务器。但正如你所说,这是非常低效的

在Bukkit论坛上发布,他们可能会给你一个更好的答案