Plugins are separate from Nukkit and linked at runtime, not compiled into one so it technically doesn't violate GPL
NPL 并不违反 Nukkit 的 GPLv3 协议,悉知
checkLicense
NPLKernel.checkLicense(pluginId, versionNum, s1);
调用 NPLKernel 检查服务器是否拥有插件授权,建议try catch 如有错误直接关服
checkLicenseStatus
NPLKernel.checkLicenseStatus(pluginId, s2);
用于检测插件授权是否成功,在上一个方法中 NPLKernel 当检测到无授权会自动终止服务器。(最新版本需要每个插件进行手动检查)
但因为种种魔法原因,建议在插件的各个位置都加上这个方法用于判断插件授权是否成功
例如MoveEvent监听 或者是什么Task里头 不成功可以强制使用反射关闭服务器
且需要try catch有错误直接关服
如果授权正常 则授权签名为 md5(priKey+s1) 这里s1就是之前checkLicense生成的随机数
如果不正常,随机返回错误签名
返回一个checkSign,checkSign = md5(获得的授权sign + s2)
checkKernel
NPLKernel.checkKernel(pluginId, s3, kernelVersion);
在202021的Kernel版本中添加了 kernelVersion参数。
202021之前的插件支持向下兼容。
当前Kernel的版本号为 202021
用于检查Kernel是否损坏(或被篡改),Kernel不会主动检查自身完整性,建议插件在Task或者异步任务中调用此检查,或者设置检查状态,写在各个频繁调用的方法前 需要try catch 有错误直接关服
Path Parameters
插件支持的Kernel版本 一般填写当前最新版本号
返回checkSign = md5(授权sign + md5(NPLKernel) + s3)