有料 Rust プラグインを、支払い済みのサーバーでだけ読み込む。
Oxide または Carbon からウェブリクエスト 1 回。キーあたり 1 サーバー。
- C#
- Oxide / uMod
- Carbon
- Tebex
- Stripe
- Gumroad
- Discord
あなたの売り方に合わせて。
今までどおり .cs 1 つ
Oxide 組み込みの webrequest。同梱する DLL は不要。
webrequest.Enqueue1 キーに 1 サーバー
IP の上限は 1、3、または 10。
TOO_MANY_IPS失効、一時停止、ブロック
キー、サーバーの IP、または範囲。
ストアからキーを発行
Tebex、Stripe、Gumroad、Payhip など。
サポートは Discord で
購入者がキーを引き換え、スタッフには共有アラートが届きます。
Sentinel が移動を検知
サーバー間を渡り歩くキーを検出。
すべてのプラン次のリリースまでに導入。
- 1無料アカウントを作成
- 2ストアを接続
- 3読み込み時に webrequest 1 回
[Info("MyPlugin", "You", "1.2.0")]
public class MyPlugin : RustPlugin
{
const string ApiKey = "slk_..."; // can only validate licenses
void OnServerInitialized()
{
var body = JsonConvert.SerializeObject(new { licenseKey = (string)Config["LicenseKey"] });
var headers = new Dictionary<string, string> { ["Authorization"] = "Bearer " + ApiKey, ["Content-Type"] = "application/json" };
webrequest.Enqueue("https://api.sunlicense.com/api/v1/validate", body, (code, response) =>
{
if (code != 200) return; // no answer is not a no: keep running
var result = JObject.Parse(response);
if ((bool)result["valid"]) Puts("License valid, loading");
else { PrintError($"License denied: {result["code"]}"); Interface.Oxide.UnloadPlugin(Name); }
}, this, RequestMethod.POST, headers);
}
}よくある質問。
Rust プラグインの共有を防ぐには?
Rust プラグインは .cs ファイルのまま配布されるため、本気の人なら検証を取り除けますし、どのライセンス方式でもそれは変わりません。購入者ごとのキーに IP の上限を組み合わせれば、共有を見える化して止められます:キーは購入者のサーバーで動き、同じキーを別のサーバーで使うと TOO_MANY_IPS で拒否され、漏えいしたキーは失効させればすべてのコピーが次の検証で止まります。
Oxide(uMod)と Carbon で使えますか?
はい。検証は SunLicense の REST API への HTTPS リクエスト 1 回で、Oxide のプラグインが標準で持つ webrequest ヘルパーで行います。Carbon は Oxide のプラグインを実行できます。購入者のサーバーには何も追加でインストールしません。.NET SDK もありますが、1 ファイルのプラグインなら REST の呼び出しのほうが簡単です。
Rust プラグインを購入 1 回につきサーバー 1 台に制限するには?
ポリシーの IP 上限を 1 にします。最初にキーを検証したサーバーが枠を使い、それ以外のアドレスは TOO_MANY_IPS で拒否されます。購入者が新しいマシンに移ると、古いアドレスは 30 日間使われなければ自動で解放され、購入者がカスタマーポータル(Lite と Standard)で解放することも、あなたがライセンスページで解放することもできます。
ワイプの日に SunLicense が停止していたら?
判断するのはあなたのプラグインです。リクエストの失敗は拒否ではないので、サンプルでは応答がないときはプラグインを読み込んだままにし、SunLicense がキーを無効と返したときだけアンロードします。ライセンス検証はダッシュボードとは別の専用サービスで動いています。
SunLicense