JE服务端

TSTMenu 2.1.0--自己写的paper主菜单插件

Minecra***Lv.1 新手上路 发表于 前天 22:12 IP:河南省 116 0
AI 速览2026-11-14 20:31 生成

自研 Paper 主菜单插件 TSTMenu 2.1.0 免费版与商业版说明

TSTMenu 是作者在自己服务器使用的主菜单插件,2.1.0 版拆成免费版和商业版两个 jar,只能装一个。免费版按 MIT 开源并附源码,提供主菜单、快捷传送、动态价格系统商店、玩家市场、签到与在线奖励,数据存 SQLite;商业版增加排行榜、个人中心、社交邮件和自定义菜单项,启动时需云端授权。帖子给出安装步骤、配置示例和命令列表,适合 Paper 或 Purpur 1.20 以上、Java 21 的服主参考。

获取方式
  • 官网下载页提供免费版、商业版两个 jar 及免费版源码包
  • 两个 jar 只装一个,放入 plugins 目录后启动生成配置
  • 源码包为免费版,MIT 协议,保留版权声明即可修改发布
  • 需 Paper 或 Purpur 1.20 及以上、Java 21,Vault 为必需前置
  • EssentialsX、PlaceholderAPI 为软依赖,地标传送依赖 EssentialsX 的 warp
  • 商业版需填 server-id 和授权码,校验失败 5 秒后关服,换服需重新发码
  • 默认不预装商品,shops.yml 分类为空,开服商店无商品
  • 仅做编译和静态核对,未在所有核心回归测试,Folia 未测
本卡片由 AI 阅读本帖后生成,可能存在疏漏,请以帖子正文为准。
插件发布
中文名: 服务器菜单/商店---TST v2.1.0
外语名: TSTmenu v2.1.0
支持版本: 1.20.x 1.21.x 26.x 
适用服务端: Paper 其它 
插件属性: 本体插件 
插件类型: 管理 经济 网页 其他 
前置插件: vault
来源: 原创
原帖地址: https://tstmenu.pages.dev
下载地址: https://tstmenu.pages.dev/dl/TSTMenu-Free-2.1.0.jar
最后更新: 2026-11-13
TSTMenu 是我自己服务器在用的主菜单插件,从写出来到现在改了不少轮,现在是 2.1.0。这次拆成两个 jar 放出来:免费版按 MIT 开源,源码一起给;商业版单独发,启动时要过一次云端授权。两个 jar 只装一个。

一、免费版有什么

- 主菜单:54 格箱子,底部固定显示余额和在线时长,七个入口按开关显示,没开的入口直接不出现
​
- 快捷传送:主城、地标、随机传送、玩家互传(走 /tpa)。地标直接读 EssentialsX 的 warp,不用另配坐标
​
- 系统商店:买入、卖出、一键回收。价格跟着库存走,买得多价格往上抬,每小时按 restock-rate 往基准价回补。支持附魔、限购(每日/每周/累计)、回收上限
​
- 玩家市场:玩家自己挂单、自己定价、自己撤单。成交手续费可以设 0,每人挂单上限、过期天数、翻页都在配置里
​
- 签到与在线奖励:每日签到领金币,在线满 N 分钟再领一次,另有一次新手礼包
​
- 数据存在插件目录的 SQLite 里,不需要 MySQL

二、商业版多什么

- 排行榜:金币、在线时长、死亡、击杀四类
​
- 个人中心:资产、云仓库、账号绑定
​
- 社交:在线玩家列表、戳一戳、站内邮件(邮件可以带手上的物品当附件)
​
- 自定义菜单项:图标、槽位、名称、说明、权限、点击动作都能配。动作支持 command、console、message、url、打开内置页面

授权方式是:config 里填 server-id 和一个授权码,启动时向接口校验一次,通过才继续加载。不通过会打印原因,5 秒后关服。

这个做法说得直白点:商业版没有演示模式,也没有“功能锁在里面但不生效”那套。码第一次校验后会绑定 server-id,换服务器或者改标识都要重新发码。

三、免费版不联网

免费版的 jar 里没有校验代码,也没有上报模块,运行期间不发任何外部请求。你可以拿抓包工具盯着看。

商业版有上报功能(在线人数、人数上限、版本、TPS、已开模块、MOTD),但它默认是关的,report.enabled 写成 true 并且填了 api-key 才会发,间隔最少 240 秒。

四、安装

1. 服务端 Paper 或 Purpur 1.20 及以上,Java 21。Vault 必须有(走它的经济)。EssentialsX、PlaceholderAPI 是软依赖,装了体验更全
​
2. 把 jar 丢进 plugins 目录。两个 jar 只放一个,别同时装
​
3. 启动一次,生成 plugins/TSTMenu/config.yml 和 shops.yml
​
4. 先去 EssentialsX 把 warp 建好,再填 menu.warps,不然传送页只剩玩家互传

五、配置

config.yml 主要几段:

brand:
name: "潮汐"
menu-title: "{brand} 服务器菜单"
shop-title: "{brand} 商店"

menu:
modules:
teleport: true
shop: true
daily: true

warps:
- resource
- end
- event
- trade

商品写在 shops.yml,结构是分类 → 商品:

categories:
blocks:
title: 方块
icon: STONE
items:
diamond_01:
name: 钻石
material: DIAMOND
base-buy: 80.0
base-sell: 30.0
target-stock: 64
stock: 64
alpha: 0.15
min-buy: 60.0
max-buy: 110.0
slot: 10

改完执行 /tstshop reload,库存不会丢。

有个地方要提前说:默认不预装任何商品,shops.yml 里三个分类的 items 都是空的,开服进去商店是空的。这是故意的——每个服的经济不一样,价格得自己定,我预装一套反而误导。

六、命令

- /menu —— 打开主菜单
​
- /menu reload —— 重载 config.yml
​
- /shop [分类] —— 打开商店,别名 /store
​
- /market —— 玩家市场
​
- /market sell <总价> [数量] —— 把主手物品挂单,不写数量默认整组
​
- /market my —— 看自己的挂单
​
- /market cancel <编号> —— 撤单
​
- /tstshop reload —— 重载 shops.yml
​
- /tstshop setstock  <数量> —— 改某个商品当前库存
​
- /tstshop setprice  buy|sell <价格> —— 改基准价
​
- /tstshop sync —— 手动触发一次官网同步

商业版另有 /menu mail(打开邮件页)、/menu send <玩家> <内容>(发系统邮件)、/tstshop license(看本站标识和授权状态)。

七、下载

官网:https://tstmenu.pages.dev

页面上有免费版、商业版两个 jar 和免费版源码包,每个文件的 SHA-256 都写在下载按钮下面。

源码包是免费版的,java 和 yml 里一行注释都没有,字段说明全在官网第 04 节「配置详解」。MIT 协议,改完可以自己发,保留版权声明就行。

jar 大概 13 MB,因为里面把 SQLite JDBC 和 Gson 一起打进去了,服务器上不用另外装依赖库。

八、没做的东西

- 只有箱子 GUI,没有资源包界面。想要贴图界面这个插件给不了
​
- 地标依赖 EssentialsX 的 warp,没装就只有玩家互传
​
- 免费版没有跨服,排行榜只统计本服(商业版配了接口才跨服)
​
- 公布前只做了编译和静态核对,没有在所有核心上跑过回归,Folia 这类没测。遇到报错直接回帖,把控制台那几行贴上来

九、反馈

回帖就行。报错最好带上服务端核心和版本、完整控制台日志、复现步骤。功能建议也可以提,但我不保证都做。

详情内容查询官网https://tstmenu.pages.dev

实机:
Image_1794578817743_846.png
您需要登录后才可以回帖 登录 | 立即注册
本版积分规则