SunLicense登录
面向 Rust 插件开发者 · Oxide 与 Carbon

付费 Rust 插件,只在付费服务器上加载。

从 Oxide 或 Carbon 发出一次 Web 请求。每个密钥一台服务器。

创建免费账号

Free 套餐 · 无需信用卡 · 几分钟完成设置

在用 AI 智能体写代码?粘贴一段提示词
  • C#
  • Oxide / uMod
  • Carbon
  • Tebex
  • Stripe
  • Gumroad
  • Discord
你将获得

为你的销售方式而打造。

依然只是一个 .cs 文件

使用 Oxide 内置的 webrequest,无需附带 DLL。

webrequest.Enqueue

一个密钥,一台服务器

IP 限制为 1、3 或 10。

TOO_MANY_IPS

吊销、暂停、拉黑

一个密钥、一个服务器 IP 或一个 IP 段。

来自你商店的密钥

Tebex、Stripe、Gumroad、Payhip 等。

用 Discord 做支持

买家自行认领密钥;团队会收到共享警报。

Sentinel 看得见它在流转

标记在服务器之间跳转的密钥。

所有套餐
工作原理

在下次发布前上线。

  1. 1免费创建账号
  2. 2连接你的商店
  3. 3加载时一次 webrequest
oxide/plugins/MyPlugin.cs
[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 请求,使用 Oxide 插件本来就有的 webrequest 工具完成,而 Carbon 可以运行 Oxide 插件。买家的服务器上不需要额外安装任何东西。我们也提供 .NET SDK,但对单文件插件来说,直接调用 REST 更简单。

如何把 Rust 插件限制为每次购买一台服务器?

把策略的 IP 限制设为 1。第一个验证该密钥的服务器占用名额,其他任何地址都会被以 TOO_MANY_IPS 拒绝。买家迁移到新机器时,旧地址在 30 天未使用后会自动释放,买家也可以在客户门户(Lite 和 Standard)中释放,或者由你在许可证页面释放。

如果 wipe 那天 SunLicense 宕机了会怎样?

由你的插件决定。请求失败并不等于拒绝,所以示例代码在没有响应时会保持插件加载,只有 SunLicense 明确表示密钥无效时才卸载。许可证验证运行在独立的服务上,与控制台相互隔离。

保护你的下一个版本。

  • Free 套餐
  • 无需信用卡
  • 随时可取消