[1.13~26.x] TinyMarket 跨服玩家市场 | 挂售 · 收购单 · 分类筛选 · 多服共享

原创 开源 [1.13~26.x] TinyMarket 跨服玩家市场 | 挂售 · 收购单 · 分类筛选 · 多服共享 1.0.0

完成注册/登录后下载
版权类型
原创
插件中文名称
跨服玩家市场
插件英文名称
TinyMarket
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Purpur
语言支持
中文(简体)
适配版本(Java)
  1. 最新版本
  2. 26.x
  3. 1.21
  4. 1.20
  5. 1.19
  6. 1.18
  7. 1.17
  8. 1.16
  9. 1.15
  10. 1.14
  11. 1.13
表由插件自动创建,不用手建。

2. 配置​

plugins/TinyMarket/config.yml:



3. 重启​

看到这段就说明连上了:



表结构变更会自动迁移(比如后来加的 category 列),老库升级不需要手动操作。


指令​

主命令 /market(别名 /tm、/市场)

指令作用
/market打开市场界面
/market sell <价格> [分类]把主手物品上架(分类可省略,自动推断)
/market mine我的商品(在售可点下架取回)
/market buy <单价> <数量>用主手物品作模板,挂收购单
/market orders查看收购单列表
/market money [玩家]查看余额
/market give <玩家> <金额>给玩家加余额(管理员)
/market reload重载配置(管理员)

界面​

主界面 54 格:45 件商品 + 底部导航

位置按钮
46收购单
47排序(点击循环切换)
48 / 50上一页 / 下一页
49我的商品
51分类(点击循环切换)
53关闭
点击商品 → 确认界面 → 二次确认才扣钱。


为什么用自己存的钱,而不是 Vault​

Vault 的经济插件(Essentials 之类)余额通常在各服内存里,A 服卖了东西 B 服看不到钱。

跨服市场必须让余额全局一致,所以插件自己管钱包、存数据库。

代价:它和你的 Vault 经济是两套钱。 如果你希望市场用服务器主货币,需要额外做对接(目前没做)。


并发是怎么保证的​

抢单不是「查一下状态再改」,而是:



看受影响行数:1 = 抢到,0 = 被别人买走。单条 UPDATE 本身原子,不需要开事务锁行,也就没有死锁问题。

两个子服同时点同一件商品,只有一个能拿到 1 行。


已验证​

项结果
Paper 1.13.2 + Java 8加载正常、连库正常
Paper 26.3 + Java 25加载正常
两服共用同一个库跨服共享验证通过
老库自动补列迁移日志确认成功
游戏内交互(上架 / 购买 / 交货 / 排序 / 分类)尚未做完整实测,遇到问题请开 issue。

注意:jar 为什么有 4 MB​

MySQL 驱动打进了 jar。为什么要这样:Paper 的 libraries 在线加载是 1.16.5+ 的特性,本插件要支持 1.13,用不了;让服主自己放驱动又容易漏。

好处:丢进 plugins 就能用,不需要手动装任何东西。


链接​



[1.13~26.x][需要 MySQL] TinyMarket 跨服玩家市场
作者
TinyAii
下载
0
查看
4
首次发布
最后更新

评分

0.00 星 0 次评分

TinyAii 的其他资源

后退
顶部 底部