简易服务器商店

简易服务器商店

一个基于服务器权威的商店系统,配备可视化编辑器,安全购买,可配置物品,SQLite货币,可选Vault支持。

🇬🇧 English | 🇷🇺 Русский

Simply Server Store

Simply Server Store 是一个安全、由服务器控制的游戏内商店,适用于 Minecraft Forge 1.20.1。

你可以创建自己的分类和商品,配置价格和购买限制,自定义界面,并通过服务器命令发放奖励。该模组包含一个游戏内可视化编辑器,管理员无需手动重写大型 JSON 文件即可进行管理。

该模组必须同时安装在服务器和每个连接的客户端上。

特性

  • 完全动态的商店 GUI,由服务器配置生成
  • 用户友好的游戏内编辑器,用于管理分类、商品、命令、声音、颜色和纹理
  • 高级编辑器,可直接访问技术配置字段
  • 可搜索的物品选择器,支持原版和模组物品
  • 支持存储在 NBT 中的物品变体,包括可选的 TACZ 武器集成
  • 商品价格、权限、购买限制、重置周期和冷却时间
  • 自定义确认设置、购买按钮、消息和声音
  • 全局、分类特定和商品特定的视觉风格
  • 可配置的卡片尺寸、间距、网格布局、颜色和分层纹理
  • 内置 SQLite 存储的整数货币
  • 可配置的货币设置和文本符号
  • 可选的 Vault 经济集成,适用于兼容的混合服务器
  • 交易历史、审计记录、自动备份和手动审核工具
  • 服务器端对配置、命令、占位符、价格和限制的验证

设计上由服务器控制

服务器是唯一的事实来源。

分类、商品、价格、权限、限制和奖励命令都存储在服务器上并进行验证。普通客户端只接收显示该玩家可用商品所需的数据。奖励命令绝不会包含在发送给客户的正常商店数据中。

在接受购买之前,服务器会检查:

  • 玩家的权限;
  • 当前的商店修订版本;
  • 分类和商品是否启用;
  • 当前余额;
  • 购买限制和冷却时间;
  • 配置的奖励命令;
  • 重复和并发购买保护。

客户端永远不会决定价格或购买结果。

游戏内编辑器

使用以下命令打开主可视化编辑器:

/ms admin editor

它提供用于创建分类和商品、选择物品图标、更改外观、配置声音以及构建奖励命令的表单。

高级技术编辑器仍然可以通过以下方式使用:

/ms admin editor_extension

只有经过授权的管理员才能访问编辑器数据。保存时会创建备份、验证完整草稿、发布新修订版本,并保持编辑器打开以便进行进一步更改。

奖励命令

商品通过一个或多个服务器命令来发放奖励。命令输入时不带前导 /,在支付成功后由服务器控制台执行。

示例:

give ${player} minecraft:diamond 16
effect give ${player} minecraft:absorption 30 1
tellraw ${player} {"text":"Thank you for your purchase!","color":"green"}
title ${player} title {"text":"Purchase complete"}

支持的占位符:

${player}
${uuid}
${price}
${category_id}
${slot_id}
${transaction_id}

普通的 JSON 和 NBT 花括号保持不变。命令在配置被接受前由服务器解析,并在支付前使用真实的购买值再次检查。

货币

Simply Server Store 支持两种货币提供者。

内置 SQLite 货币

默认提供者将整数余额存储在服务器的 SQLite 数据库中。无需 Bukkit 插件。管理员可以使用 /ms admin xr 检查、增加、移除或设置余额。

货币名称和文本符号可以在 server.json 中配置;该符号会显示在余额和价格旁边。

Vault 经济

在兼容的混合服务器上,商店可以使用通过 Bukkit Vault 暴露的经济系统,例如 EssentialsX Economy 或 CMI。

此模式需要:

  • 一台能够同时加载 Forge 模组和 Bukkit 插件的服务器;
  • Vault;
  • 一个兼容 Vault 的经济插件;
  • 配套的 Vault Bridge 插件。

Vault 是可选的。标准 Forge 服务器可以使用内置的 SQLite 货币。

命令

玩家命令:

/ms
/ms open
/ms balance
/ms buy category <category_id> slot <slot_id> # 为确保更高的安全性,玩家的 GUI 通过发送命令而不是数据包来工作。

主要管理员命令:

/ms admin editor
/ms admin editor_extension
/ms admin validate
/ms admin reload
/ms admin backup
/ms admin xr get|add|remove|set
/ms admin currency status
/ms admin history
/ms admin review list|show|refund|resolve

权限

玩家权限:

minecraftshop.open
minecraftshop.buy
minecraftshop.balance

管理员权限:

minecraftshop.admin
minecraftshop.admin.editor
minecraftshop.admin.reload
minecraftshop.admin.validate
minecraftshop.admin.backup
minecraftshop.admin.currency
minecraftshop.admin.history
minecraftshop.admin.review

玩家命令默认允许。管理员命令需要操作员权限或相应的权限节点。分类和商品条目也可以使用自定义权限节点。

安装

  1. 安装 Minecraft Forge 1.20.1 并使用 Java 17 运行游戏。
  2. 将模组 JAR 文件放入服务器的 mods 目录。
  3. 将相同版本的模组放入每个客户端的 mods 目录。
  4. 启动服务器以生成配置和数据库。
  5. 打开 /ms admin editor 来创建你的商店。
  6. 使用 /ms open 以玩家身份测试。

生成的服务器文件当前位于:

config/xrshop/
data/xrshop/xrshop.db

这些技术路径保留了当前的内部模组 ID。

兼容性

  • Minecraft: 1.20.1
  • 模组加载器:Forge 47.x
  • Java:17
  • 安装位置:服务器和客户端
  • 专用服务器:支持
  • Vault 集成:可选,仅限混合服务器
  • 界面语言:英语;俄语

Simply Server Store 适用于需要可配置商店的生存服务器、RPG 项目、小游戏和整合包,其价格、权限、奖励和交易均可由服务器控制。