beacon授权前置

开源免费 beacon授权前置 0.1

没有下载权限
支持核心
paper,folia
原创/转载
原创
作者
silent
前置
支持版本
1.12.2-1.21.10

BeaconAuth​

4c2e422c-b2d4-4b0c-a202-e5fb1647534f.webp

Beaconauth 是全一套完整开源的插件授权管理系统
ba51c0a4-408f-4c5d-b48a-fc507e720692.webp


整套系统由网页前后端 + QQ 机器人 + 前置授权插件三部分构成,全部源码开源、免费开放给所有 MC 插件开发者使用。
839eb72b-56b7-4c8f-8e0d-b43c523ee320.webp


951357f2-9774-4cef-99c6-187dec4e92b1.webp

878c5c80-0270-4b3e-9933-3b81cdd9bf37.webp
开发者可在平台授权中心、QQ 社群两大渠道,自主为已发布的插件给用户开通授权;支持绑定 IP、限制端口数量、自定义使用权限等管控功能。

玩家用户仅需在插件配置文件中,填写个人 ID、插件名称、授权码即可完成授权激活;同时网页端与 QQ 端均支持自助解绑,操作简单便捷。

本授权系统永久免费,所有插件开发者均可无条件接入使用。
BeaconAuth 是一个用于验证 Beacon 平台付费插件授权的 Minecraft 插件。 其他开发者可以通过以下步骤将授权系统集成到自己的插件中。



在您的插件 plugin.yml 中添加 BeaconAuth 作为依赖:

name: MyPaidPlugin version: 1.0.0 main: com.example.myplugin.MyPlugin depend: [BeaconAuth] # 强制依赖

或者​

softdepend: [BeaconAuth] # 软依赖(如果不强制用户安装验证插件)​

在您的插件 onEnable 方法中调用验证接口:

import com.beaconmc.auth.AuthAPI;<br>import org.bukkit.plugin.java.JavaPlugin;<br><br>public class MyPlugin extends JavaPlugin {<br><br> @Override<br> public void onEnable() {<br> // 验证授权 (异步)<br> AuthAPI.verify("MyPaidPlugin").thenAccept(isValid -&gt; {<br> if (isValid) {<br> getLogger().info("授权验证成功!感谢您的购买。");<br> // 通过 runTask 回到主线程初始化插件<br> getServer().getScheduler().runTask(this, () -&gt; {<br> initPlugin();<br> });<br> } else {<br> getLogger().warning("授权验证失败!请购买正版插件。");<br> // 通过 runTask 回到主线程禁用插件<br> getServer().getScheduler().runTask(this, () -&gt; {<br> getServer().getPluginManager().disablePlugin(this);<br> });<br> }<br> }).exceptionally(ex -&gt; {<br> getLogger().severe("验证服务器连接失败: " + ex.getMessage());<br> getServer().getScheduler().runTask(this, () -&gt; {<br> getServer().getPluginManager().disablePlugin(this);<br> });<br> return null;<br> });<br> }<br><br> private void initPlugin() {<br> // 插件逻辑<br> }<br>}
如果您不想在编译时依赖 BeaconAuth,可以使用反射,但较为复杂。建议直接通过 Maven/Gradle 引入 BeaconAuth.jar 作为 provided 依赖。

用户在使用您的插件前,需要在 plugins/BeaconAuth/config.yml 中配置他们的 Beacon 账号以及每个插件的授权码(授权码可在 Beacon 平台「授权中心 → 我的授权」页面查看):

auth:<br> account: "user123"<br><br>plugins:<br> - name: "MyPaidPlugin"<br> auth_code: "BC-A1B2C3D4E5F6G7H8"
BeaconAuth 已经支持 Paper 和 Folia 服务端。 AuthAPI.verify 方法是异步的,不会阻塞主线程,因此在 Folia 中也是安全的。 注意:不要在 thenAccept 回调中直接操作 Bukkit API (如生成方块),除非您确定当前上下文是安全的。建议使用 getScheduler().runTask(this, ...) (Spigot) 或 getRegionScheduler().execute(...) (Folia) 回到主线程/区域线程。

  • AuthAPI.verify(String pluginName): 异步验证,返回 CompletableFuture&lt;Boolean&gt;。
  • AuthAPI.verifySync(String pluginName): 同步验证 (不推荐在主线程使用)。
作者
silent
下载
6
查看
55
首次发布
最后更新

评分

0.00 星 0 星

分享此资源