McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
MVdWUpdater

MVdWUpdater - 插件更新器

Spigot 付费插件的插件更新器 API
Bukkit / Spigot 作者 Maximvdw 支持版本 1.7 - 1.14
服务器使用量
未统计
服务玩家数
未统计
下载量
5,016
插件详细介绍

MVdWUpdater 是一款用于帮助 Spigot 服务器管理员安全更新付费插件的工具。它通过官方 API 直接下载已购买的插件资源,避免了从非官方渠道获取文件的安全风险,并支持双因素认证(2FA)登录。

关于本插件

本插件旨在让 Spigot 用户能够安全地更新其付费插件,而无需开发者将插件上传至不安全的下载位置。

安装步骤

  • 将插件文件拖放至服务器的 plugins 文件夹。
  • 启动服务器一次,插件将自动生成 plugins/MVdWUpdater 目录。
  • 在此目录中找到 credentials.yml 文件,并按以下格式填写您的 SpigotMC 账户信息:
## ---------------------------------------- #
## SpigotMC.org 账户凭据
##   请在此 yaml 文件中输入您的 SpigotMC.org 账户信息,
##   然后重启插件。插件将为您登录并存储会话 Cookie。
## ---------------------------------------- #
# 请勿编辑 config 版本号!
config: 2
# 输入您的 SpigotMC.org 用户名
username: ''
# 输入对应的密码
password: ''
# 如果您启用了双因素认证 (2FA),请在此输入 2FA 密钥
# 更多信息请查看插件主页
2fasecret: ''
  • 填写您的用户名和密码后,重启服务器。
  • 重启后,如果凭据正确,YML 文件中将保存登录 Cookie。您将在控制台看到确认信息,并显示您已购买的资源列表。

使用方法

服务器管理员

  • 安装插件。
  • 使用您的账户凭据登录。
  • 如果您启用了 2FA,需要在配置文件中添加密钥。如果您没有保存此密钥,请重置您的 2FA 设置,并点击“代码”(而非二维码)。您将获得一个可用于 Google Authenticator 和本插件配置的代码。

插件开发者

本插件为开发者提供了用于集成自动更新的 API。

重要版本规范:

  • 若想使用自动更新功能,您的版本号格式必须为 主版本.次版本.修订版(例如 1.0.0)。这同时适用于您插件 plugin.yml 中的版本号以及您在 Spigot 资源页面上发布的更新描述中的版本号。
  • 可选地,您可以在版本号后添加 b 以表示测试版(例如 1.0.0b)。这同样适用于上述两处版本号。
  • 当主版本号为 0 时,该版本将被视为 Alpha 版本。这也适用于上述两处版本号。
  • 请确保在您的插件中通过 softdepend 依赖本插件。

相关开发链接:

  • Updater Java 文档:http://ci.mvdw-software.com/job/MVdWUpdater/javadoc/
  • CI 服务器:http://ci.mvdw-software.com/job/MVdWUpdater/
  • 源代码:https://github.com/Maximvdw/MVdWUpdater
  • Spigot Site API:https://github.com/Maximvdw/SpigotSite-API
  • Spigot Site 实现:https://github.com/Maximvdw/SpigotSite
  • Spigot Site API Java 文档:http://ci.mvdw-software.com/job/SpigotSite-API/javadoc/

示例实现

基础示例:

MVdWUpdater updater = (MVdWUpdater) Bukkit.getPluginManager().getPlugin("MVdWUpdater");
if (updater.hasBought(updater.getSpigotUser(), RESOURCEID)) {
    updater.updatePlugin(plugin, RESOURCEID, UpdateMethod.INSTALL_ON_RESTART, updater.getSpigotUser());
}

高级示例(主版本不同时不更新):

try {
    MVdWUpdater updater = (MVdWUpdater) Bukkit.getPluginManager().getPlugin("MVdWUpdater");
    if (updater.hasBought(updater.getSpigotUser(), resourceId)) {
        SendConsole.info("已接入 MVdWUpdater!");
        List<Resource> premiums = updater.getPurchasedResources(updater.getSpigotUser());
        for (Resource premium : premiums) {
            if (premium.getResourceId() == resourceId) {
                // 找到对应资源ID
                SendConsole.info("正在检查 " + plugin.getName() + " 的更新...");
                // 比较版本
                Version currentPluginVersion = new Version(plugin.getDescription().getVersion());
                Version newPluginVersion = new Version(updater.getResourceVersionString(resourceId));
                if (currentPluginVersion.compare(newPluginVersion) == 1) {
                    SendConsole.info("发现 '" + plugin.getName() + "' 的可用更新");
                    // 如果更新是主版本更新,则不自动更新
                    if (currentPluginVersion.getMajor() != newPluginVersion.getMajor()){
                        SendConsole.info("此更新为主版本更新!需要手动更新!");
                        return;
                    }
                    SendConsole.info("获取下载链接...");
                    Resource premiumResource = updater.getSpigotSiteAPI().getResourceManager()
                            .getResourceById(premium.getResourceId(),updater.getSpigotUser());
                    // 将插件下载到更新文件夹
                    File pluginFile = null;
                    try {
                        pluginFile = new File(URLDecoder.decode(
                                plugin.getClass().getProtectionDomain().getCodeSource().getLocation().getPath(),
                                "UTF-8"));
                    } catch (UnsupportedEncodingException e) {
                    }
                    File outputFile = null;
                    try{
                        outputFile = new File(Bukkit.getUpdateFolderFile(), pluginFile.getName());
                    }catch (Exception ex){
                    }
                    if (pluginFile != null && outputFile != null) {
                        SendConsole.info("正在下载 '" + plugin.getName() + "' ...");
                        premiumResource.downloadResource(updater.getSpigotUser(), outputFile);
                        SendConsole.info(plugin.getName() + " 的新更新已准备就绪,将在下次重启时安装!");
                    }
                }
                break;
            }
        }
        setUpdated(true);
    }
} catch (Exception e) {
    e.printStackTrace();
}

Maven 依赖

仓库配置:

<repository>
    <id>public</id>
    <name>Public Repositories</name>
    <url>http://repo.mvdw-software.be/content/groups/public/</url>
</repository>

依赖项配置:

<dependency>
    <groupId>be.maximvdw</groupId>
    <artifactId>MVdWUpdater</artifactId>
    <version>1.2.0-SNAPSHOT</version>
    <exclusions>
        <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>

免责声明

  • 本插件需要您的账户凭据。这些信息存储在配置文件中,请确保该文件不会被其他用户读取。
  • 使用此 API 的插件开发者可以访问已登录的用户信息。这意味着他们可以看到 Cookie、用户名,并可能使用该账户按照他们自己的步骤、文件路径等来更新插件。
  • 再次强调,确保您安装在服务器上的插件不是恶意的,这是您的责任。
  • 插件首次加载时可能需要 30 到 40 秒的时间。
测试支持版本
1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14
版本分布
基本信息
插件名称 MVdWUpdater
作者 Maximvdw
平台 Bukkit / Spigot
支持版本 1.7 - 1.14
点赞数 14
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人次:3,042,836  |  今日访问人次:26,964  |  昨日访问人次:20,728

独立 IP:7,465  |  最近24小时独立访客:24,108

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6