RedisEconomy

RedisEconomy - 跨服经济 开源无限货币

无限货币,市场上最快的经济解决方案,全代理服务器经济系统
Bukkit / Spigot 作者 Emibergo02 支持版本 1.17 - 26.1
服务器使用量
未统计
服务玩家数
未统计
下载量
6,929
插件详细介绍

RedisEconomy 是一款基于 Redis 的多服务器经济插件,支持 BungeeCord、Velocity 等代理以及 Paper、Folia、Purpur 等 Spigot 服务端。它通过中央数据库实现跨服经济数据同步,并完全兼容 Vault API。

快速开始

安装与配置

  • 将插件放入 Spigot 服务端plugins 文件夹中(无需放入代理端)。
  • 启动服务器以生成配置文件 config.yml
  • 修改 config.yml 中的 Redis 连接凭据(若无密码或用户,请留空)。
  • 为每个 Spigot 实例设置一个唯一的 serverId(现已自动完成)。
  • 如需迁移旧版经济数据,请在配置中设置 migration-enabled: true,迁移期间 Vault 经济功能将被暂时禁用。

需求与依赖

  • 必需:Spigot 服务端(Paper、Folia、Purpur,1.17+)
  • 必需:Vault
  • 必需:Redis 服务器(安装指南

命令列表

玩家命令

  • balancemoney - 查看自己的余额(使用默认/vault货币)。
  • balance <玩家> [货币] - 查看指定玩家的余额。
  • pay <玩家> <金额> [货币] - 向指定玩家支付金额,可指定货币。
  • balancetopbaltop <页码> <货币> - 查看指定货币的财富排行榜(每页10名)。
  • toggle-payments <玩家 或 * 或 all> - 屏蔽来自指定玩家的付款。
  • toggle-payments - 查看已屏蔽付款的玩家列表。

管理员命令 (OP)

  • rediseconomy reload - 重载配置文件。
  • rediseconomy editmessage <配置字段> - 通过网页界面便捷地编辑语言文件字段。
  • balance <玩家> <货币> give <金额> [原因...] - 给予玩家金额。
  • balance <玩家> <货币> take <金额> [/命令... 或 原因...] - 扣除玩家金额。若玩家资金充足,可指定一个要执行的命令。
  • balance <玩家> <货币> set <金额> - 直接设置玩家余额(管理用途)。
  • transaction <玩家> <交易ID> [revert] - 通过另一笔交易回滚指定交易。
  • browse-transactions <玩家> [截止日期前] [起始日期后] - 查看玩家的交易记录(界面内可点击玩家名进行导航)。
  • archive-transactions <文件名> - 将所有交易数据转储到文件。当交易数据库过大时使用。
  • purge-balance <玩家正则表达式> - 清除匹配正则表达式的玩家的余额(例如 Steve(.*) 匹配 SteveCarell 和 Steve_)。
  • switch-currency <货币> <新货币> - 将一种货币账户切换到另一种。更改后需重启所有 RedisEconomy 实例以生效。
  • backup-economy <文件名> - 将经济系统备份到文件。
  • restore-economy <文件名> - 从文件恢复经济系统。

功能特性

  • 多服务器支持:在任何代理(Bungee、Velocity)和 Spigot 服务端(Paper、Folia、Purpur)上运行。
  • 多货币系统:可在配置中定义多种货币,但只有名为 vault 的货币会被其他插件使用。
  • 离线支付:所有货币均支持向离线玩家付款。
  • 交易手续费:可为发送的付款设置手续费。
  • Vault 高兼容:所有货币都是 Vault 的 Economy 实例。
  • 便捷缩写:在命令中可使用千、百万等缩写(例如 40k2m)。
  • 数据迁移:支持从旧版 Bukkit 离线 UUID 账户系统迁移。
  • 内置 API:提供完整的 Java API 供开发者调用。

权限节点

  • rediseconomy.pay - 允许使用 /pay 命令。
  • rediseconomy.balance - 允许玩家查看余额。
  • rediseconomy.balance.currencyname - 允许玩家查看指定货币的余额。
  • rediseconomy.toggle-payments - 允许玩家使用 /toggle-payments 命令。
  • rediseconomy.balancetop - 允许玩家使用 /balancetop 命令。
  • rediseconomy.admin - 允许使用所有管理员命令。
  • rediseconomy.purge-balance - 允许使用 /purge-balance 命令。
  • rediseconomy.admin.browse-transactions - 允许使用 /browse-transactions 命令。
  • rediseconomy.admin.transaction - 允许使用 /transaction 命令。
  • rediseconomy.pay.currencyname - 允许玩家使用指定货币付款并可指定付款原因。
  • rediseconomy.admin.editmessage - 允许使用网页界面编辑消息。
  • rediseconomy.admin.giveall - 允许通过 balance 命令使用 * 向所有在线玩家发放货币。

配置详解 (config.yml)

以下为关键配置项说明

# 服务器唯一标识,启动时自动生成
serverId: server1
# 语言文件
lang: en-US
# 调试模式,报告问题前请开启
debug: false
# 是否启用从旧版经济系统迁移
migrationEnabled: false

# Redis 连接配置(生产环境请勿使用默认凭据)
redis:
  host: localhost
  port: 6379
  user: ''
  password: ''
  database: 0
  timeout: 2000
  clientName: RedisEconomy

# 命令自动补全所需的最小字符数
tab_complete_chars: 0
# 默认货币名称(必须与 currencies 列表中的某个 currencyName 一致)
defaultCurrencyName: vault

# 货币定义列表
currencies:
  - currencyName: vault # 默认货币,不可删除
    currencySingle: euro
    currencyPlural: euros
    decimalFormat: '#.##'
    languageTag: 'en-US'
    startingBalance: 0.0
    payTax: 0.0 # 付款手续费率
    bankEnabled: true # 是否启用银行支持
  - currencyName: dollar
    currencySingle: $
    currencyPlural: $
    decimalFormat: '#.##'
    languageTag: 'en-US'
    startingBalance: 0.0
    payTax: 0.0
    bankEnabled: false

占位符与 API

占位符

插件支持 MiniMessage 格式的占位符,例如:

  • %rediseco_bal_vault% - 返回 vault 货币的余额(两位小数)。
  • %rediseco_bal_formatted_vault% - 返回带货币符号的余额。
  • %rediseco_bal_short_vault% - 返回带单位缩写(千、百万等)的余额。
  • %rediseco_totsupply_vault% - 返回该货币的总流通量。
  • %rediseco_top_1_name_vault% - 返回排行榜第一位的玩家名。
  • %rediseco_top_position_vault% - 返回当前玩家在排行榜中的位置。

API 使用示例

开发者可通过以下方式调用 API

// 获取 API 实例
RedisEconomyAPI api = RedisEconomyAPI.getAPI();
if (api == null) {
    Bukkit.getLogger().info("RedisEconomyAPI not found!");
}

// 获取货币
Currency currency = api.getCurrencyByName("vault"); // 等同于 api.getDefaultCurrency()

// Currency 即 Vault 的 Economy 对象,使用方法完全相同
currency.getBalance(offlinePlayer);
currency.withdrawPlayer(offlinePlayer, 100);

// 直接设置玩家余额(默认货币)
api.getDefaultCurrency().setPlayerBalance(player.getUniqueId(), 1000);

// 从缓存获取所有账户
api.getDefaultCurrency().getAccounts().forEach((uuid, account) -> {
    Bukkit.getLogger().info("Account: " + uuid + ", Balance: " + account);
});

// 直接从 Redis 获取数据(不推荐常规使用)
api.getDefaultCurrency().getOrderedAccounts().thenAccept(accounts -> {
    accounts.forEach(account -> {
        Bukkit.getLogger().info("UUID: " + account.getElement() + ", Balance: " + account.getScore());
    });
});

更多 API 详情请访问:GitHub API 使用说明

测试支持版本
1.17 1.18 1.19 1.20 1.20.6 1.21 26.1
版本分布
基本信息
插件名称 RedisEconomy
作者 Emibergo02
平台 Bukkit / Spigot
支持版本 1.17 - 26.1
点赞数 未统计
最近版本
暂无数据 -

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

历史访问人数:2,642,968  |  历史访问人次:3,203,234

今日访问人数:18,165  |  今日访问人次:20,593

昨日访问人数:46,463  |  昨日访问人次:52,262

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

Powered by GermMC 京ICP备17023959号-6