あなたの Minecraft プラグインを、支払い済みのサーバーだけで。
jar ごとに 1 キー、すべてのライセンスにサーバー数の上限。
Java
- Paper
- Velocity
- BuiltByBit
- SpigotMC
- Voxel Shop
- Tebex
- Discord
あなたの売り方に合わせて。
jar の中にキー
BuiltByBit と Voxel Shop のプレースホルダーが書き込みます。
%%__SUNLICENSE__%%ライセンスあたりのサーバー数
キーあたり 1、2、または 10 台のサーバー。
TOO_MANY_MACHINES返金で無効化
Voxel Shop と Tebex の返金でキーを失効。
サーバーを落とさない
SunLicense に接続できなくてもテンプレートは動き続けます。
Discord の購入者ロール
引き換えでロールを付与、失効で解除。
/claimSentinel が漏えいを発見
多すぎるサーバーで使われるキーを検出。
すべてのプラン次のリリースまでに導入。
- 1無料アカウントを作成
- 2ストアのプレースホルダーを追加
- 3onEnable で 1 回検証
// BuiltByBit or Voxel Shop writes the buyer's key here
private static final String LICENSE_KEY = "%%__SUNLICENSE__%%";
@Override
public void onEnable() {
SunLicense client = new SunLicense.Builder()
.baseUrl("https://api.sunlicense.com")
.token(API_KEY) // slk_..., can only validate
.build();
getServer().getScheduler().runTaskAsynchronously(this, () -> {
if (!client.validate(LICENSE_KEY, Map.of("host", serverId())).isValid()) {
getLogger().severe("License denied, disabling.");
getServer().getScheduler().runTask(this,
() -> getServer().getPluginManager().disablePlugin(this));
}
});
}よくある質問。
Minecraft プラグインの漏えいを防ぐには?
jar を改変すると決めた人を止められる検証はありません。有効なのは購入者ごとのキーです。BuiltByBit と Voxel Shop がダウンロード時に jar へキーを書き込むので、漏えいした jar には漏らした人のキーが入っています。そのライセンスを 1 つ失効させれば、その jar のコピーはすべて次の検証で止まり、他の購入者のサーバーは動き続けます。
BuiltByBit、SpigotMC のプレミアム、Tebex で使えますか?
はい。BuiltByBit の External license key プレースホルダーと Voxel Shop の External API プレースホルダーが、購入者ごとのキーをダウンロードに入れます。SpigotMC では、SpigotMC が埋め込む購入者 ID を、プラグインがその購入者のキーと交換します。Tebex は支払いごとにキーを発行します。BuiltByBit と SpigotMC は返金を通知しないため、返金された購入者のキーはご自身で失効させてください。
購入 1 回につきサーバー 1 台に制限するには?
Paper テンプレートのようにポリシーを 1 マシンにして固定のサーバー ID を送るか、IP の上限を設定します:新しいアドレスごとに枠を 1 つ使い、30 日間使われていないアドレスは自動で解放されます。購入者がホストを移るときは、カスタマーポータル(Lite と Standard)で古い枠を解放するか、あなたがライセンスページで解放します。
SunLicense が停止したら、プラグインがサーバーを落としてしまいませんか?
テンプレートなら大丈夫です。応答がないことを拒否と見なしません。購入者が署名済みのオフラインライセンスファイルを持っていればそれを使い、なければ動作を続けて 10 分ごとに再試行します。プラグインを無効にするのは、失効したキーや不明なキーなど、本当の拒否だけです。
SunLicense