服务器市场

服务器市场

Minecraft服务器的货币与市场模组

经济

Server Market 是一个 Fabric 服务端模组,为你的服务器带来完整的玩家驱动经济与市场系统。玩家可以查询余额、向他人转账(甚至离线玩家),并查看交易记录——所有这些都可以通过简单的命令或直观的 GUI 完成。该模组同时提供玩家市场和系统商店,物品可以上架、购买和出售,并完整支持 NBT 变体。它还支持带包裹站配送的收购订单,因此买家可以发布需求,卖家可以完成订单,而无需面对面交易。管理员可以选择性地引入实体货币物品、设置系统商店价格、直接管理玩家余额,并根据需要配置经济系统。存储默认使用 SQLite,无需任何设置即可运行,但也可以切换为 MySQL,并可选启用 XConomy 记录镜像,以用于共享数据库环境。对于运行 1.21.9 或更高版本的服务端所有者,该模组开箱即用地内置了 Placeholder API 支持。开发者可以接入公开的 API 和事件系统,以查询余额、处理转账、拦截购买,或将经济系统集成到自己的模组中。

需求

必需:

可选:

命令

玩家:

/svm
/svm menu

/svm money
/svm balance
/svm pay <player> <amount>
/svm history [page]

/svm sell <price>
/svm restock <quantity>
/svm pull

/svm list
/svm search <keyword>

/svm buy <quantity> <item> [seller]

/svm cash <value> <quantity>
/svm exchange <amount>

/svm order <price> <amount>
/svm supply <quantity>

管理员:

/svm admin balance <player>
/svm admin set <player> <amount>
/svm admin add <player> <amount>
/svm admin remove <player> <amount>
/svm admin rank
/svm admin history <player> [page]

/svm admin price <price> [limit]
/svm admin pull
/svm admin purchase <price> [limit]

/svm admin cash <value>
/svm admin cash get
/svm admin cash del
/svm admin cash list [item]

/svm admin reload

更新

  • 命令措辞已更新:
    • 收购订单:/svm purchase -> /svm order
    • 出售给买家:/svm selltopurchase -> /svm supply
  • 已移除命令组:/svm edit(管理员命令现在位于 /svm admin 下)。
  • 已弃用:/svm admin lang

Placeholder API

在安装 Placeholder API 时,仅 1.21.9+ JAR 可用:

  • %server-market:balance%
  • %server-market:balance_short%
  • %server-market:parcel_count%
  • %server-market:player_name%
  • %server-market:top_name:<rank>%(排名 1–10)
  • %server-market:top_balance:<rank>%(排名 1–10)
  • %server-market:top_balance_short:<rank>%(排名 1–10)

集成 API

入口点:asagiribeta.serverMarket.api.ServerMarketApiProvider

  • getBalance、hasEnough、getParcelCount
  • addBalance、withdraw、setBalance、transfer
  • getTopBalances、getHistory、format、openMenu、getModVersion

EconomyProvider(Vault 风格):asagiribeta.serverMarket.api.economy.EconomyProviderRegistry

  • withdraw、format

事件:

  • ServerMarketEvents.BALANCE_CHANGED
  • ServerMarketEvents.PRE_PURCHASE(返回 false 以取消)
  • ServerMarketEvents.POST_PURCHASE

配置 / 存储

配置文件:config/server-market/config.properties

游戏内重载:/svm admin reload

经济

键 默认值 描述
initial_player_balance 100.0 首次加入玩家的余额
max_transfer_amount 1000000.0 每次 /svm pay 的最大金额
enable_transaction_history true 记录交易
max_history_records 10000 自动清理最旧记录
enable_tax false 对玩家商店销售征税
market_tax_rate 0.05 税率(0.0–1.0)

存储(SQLite — 默认)

键 默认值 描述
storage_type sqlite sqlite 或 mysql
sqlite_path market.db 数据库文件路径

存储(MySQL / XConomy)

设置 storage_type=mysql,并配置 mysql_host、mysql_port、mysql_database、mysql_user、mysql_password、mysql_use_ssl、mysql_jdbc_params。

XConomy 表名(当共享现有数据库时):

键 默认值
xconomy_player_table xconomy
xconomy_non_player_table xconomynon
xconomy_record_table xconomyrecord
xconomy_login_table xconomylogin
xconomy_system_account SERVER
xconomy_write_record false

设置 xconomy_write_record=true 可将交易镜像到 XConomy 的记录表中(仅限 MySQL)。

调试

键 默认值 描述
enable_debug_logging false 详细调试日志