1

人気のMinecraftサーバーソフトウェアであるBukkitのプラグインを書いています。

私のプラグインでは、グローバルリーダーボードを作成するために、プレーヤーのスコアをサーバーに送信する必要があります。

Javaは逆コンパイルできるので、誰かがプラグインを逆コンパイルして、それがどのように機能するかを知ることができます(とにかくオープンソースです)。なりすましやリーダーボードの不正使用ができないように、サーバーにデータ(プレーヤーのスコア)を送信する方法を探しています。

プラグインのユーザー(サーバー所有者)をリーダーボードサイトにサインアップさせてから、独自のユーザー名とパスワードの組み合わせを使用してリーダーボードに接続することを検討していました。悪用された場合は、そのサーバーをリーダーボードからブロックするだけで済みます。ただし、これは最も効率的な方法ではありません。結合を管理し、キルの量を承認する必要があるためです。

クライアント(Bukkitサーバープラグイン)がキルをスプーフィングできないようにするにはどうすればよいですか?

4

2 に答える 2

3

正当なユーザーがjarを逆コンパイルし、コードを理解し、プラグインから間違ったデータを送信する方法を理解するのに十分な教育を受けていることが懸念される場合、認証方法は役に立ちません(ユーザーはすでに正当です)。サーバーに常駐できないものを計算します。この場合、最善のオプションはコードを難読化することです

于 2013-01-27T17:47:17.500 に答える
1

それをオープンソースにすることはあなたを止めているものです。クローズドソースの場合、jarを難読化する可能性があり、コードを逆コンパイルするのははるかに困難になります。

それでもオープンソースにしたい場合は、急速に成長しているサーバーや非常にスコアの高いサーバーを監視できます。しかし、あなたが言ったように、それは非常に非効率的です。

Bukkitフォーラムに投稿してください。彼らはあなたにとってより良い答えを持っているかもしれません。

于 2013-01-27T21:04:02.390 に答える