3.1更新
1. 本次修复的内容
| 编号 | 描述 | 原始状态 | 当前状态 |
|---|---|---|---|
| 1 | 修复玩家注册时间变成1970年1月22日的bug | 部分玩家的注册时间、最近登录时间变成1970年 | 正确显示玩家最近的登陆时间 |
| 2 | 修复域名过滤过于敏感的问题 | 正则无脑匹配包含点号分割的,以至于你好.今天天不错啊被误伤 |
接入illegal_domains.txt,撞上后缀的直接拦截。http开头的、ipv4和ipv6未加白的一律拦截 |
| 3 | 修复垃圾箱的保留N轮不生效问题 | 原始公示无脑选择N-1,导致每一轮到清理 | 修正公式为:设目标轮次为N,当前轮次为i。用N减去i得到的余数就是清理次数。 翻译:正确处理保留轮次,做到真正的保留,达标在倒垃圾 |
| 4 | 修复垃圾箱开关状态不跟随实际情况及时热重载的bug | 每次调整垃圾箱开关后,就必须重启服务器 | 自动热重载,当垃圾箱进入下一阶段(如5分钟、3分钟)、web开关热感知被触发时,拉起全量重载 |
| 5 | 修正禁止交互展示框的行为逻辑 | 原始状态下,仅可拦截玩家交互展示框,导致生物破坏仍然未拦住 | 修正后,小白射击、苦力怕炸、TNT炸、凋零等不在可以破坏展示框了。除非领地允许交互展示框 |
2. 本次新增的内容
| 编号 | 描述 |
|---|---|
| 1 | 新增二手商店,玩家可以自己吧自己的物品以拍卖的形式卖出。 |
| 2 | 二手商店允许管理员配置是否收取手续费。新增独立md配置文件移入shop目录。计费规则为:支付价×手续费=到手金额。允许每一位卖家自己配置是己方支付还是买方支付。己方支付=买家下单成功后,系统自动计算手续费并扣款,将剩余的打款给卖家。买家支付则是系统计算手续费,买家付款时一起支付(奸商模式) |
| 3 | 完善违禁品没收,确保管理员/领地主可配置自己领地的违禁品没收 |
| 4 | 新增领地村民交易权限开关 |
| 5 | 新增对英文聊天进行机器翻译。并进行双语展示(原始消息交由MC自行处理,通过请求API,在原始消息发出之后展示机器翻译) |
| 6 | 领地系统增添增益效果联控用户组,根据用户组设计的最大等级和数量执行, 超出则不允许再次添加。豁免对象:插件管理员或服务器OP |
| 7 | 实现控制台发消息的无感化,拦截unknown command的提示,拿着控制台的消息比对内存中的指令名和MC原版的前缀,匹配上了→放行MC自己处理,匹配不上→吞噬unknown command,把消息广播出去当成普通聊天消息。通过conmsg name控制前缀。默认管理员 |
| 8 | 修改自动备份逻辑,按整点自动备份已登录玩家,即0:00备份第一次、0:15备份第二次依此类推。跳过未登录的玩家 |
| 9 | 新增软提醒,在顶部血条处对接垃圾箱,实现常驻化提示。在最后倒计时的时候,侦听丢弃事件,对丢弃物品的玩家发出小标题警告 |
| 10 | 实现封禁常态化公示,通过游戏内广播+PHP用户端,实现轮询广播被封号的玩家及理由。 |
| 11 | 实现箱子搬运mod的玩法,5秒钟内,连续破坏两个箱子(坐标必须在一起)时,删了原生掉落的箱子,插件发一个新的箱子,并收集原始箱子的物品,在新箱子放下时填充 |
| 12 | 新增一个可视化json面板,用于教学小白运维使用json,替代原版title、tellraw的各种报错 |
3.0大更新
- 温馨提示:本次属于大版本更新,务必先备份在升级
1. 本次修复的内容
| 描述 | 原始状态 | 当前状态 |
|---|---|---|
| tpaall语义错误 | tpaall时,显示user1请求传送到user2 | user1发起全服传送请求,接受后,你会传到user1的身边 |
| 人机验证码可在答题超时后绕过 | 答题超过30秒后,自动通过 | 超过30秒换新题目 |
| 领地内农作物不生长 | 农作物一直保持种子状态 | 正常生长 |
| 非授权玩家可以绕过领地权限 | 归一化之后,未正确处理玩家信息导致玩家可绕过 | 所有人必须经过权限管理(过白/管理员),未过关的一律按访客处理 |
| 远程兑换码提示已被消耗 | 远程兑换码无法返回正确状态 | 远程兑换码返回正确状态并被兑换 |
| 微软oauth正版验证报未知错误 | 正版验证失败,报未知错误、服务端错误等 | 正确验证正版身份 |
| url管控错误可以被绕开 | baidu.com被限制,用baidu . com就绕开了 | 正确处理所有非白名单url,不被绕开 |
| pvp世界纸上谈兵 | 日志打印已删除,实际世界未被删除 | 正确处理新旧版MC存档位置并妥善删除 |
| 临时密码改密码提示错误 | 改密码逻辑不涉及临时密码校验 | 正确校验临时密码&原始旧密码 |
| 回声碎片管不到大箱子 | 大箱子提示当前领地(坐标xxx)无数据 | 正确处理大小箱子 |
| 未登录可绑定邮箱 | 攻击者无需登录即可绑定邮箱修改密码。 | 正确拦截,提示玩家必须先行注册登录在绑定邮箱。拦截所有越权漏洞 |
| 基岩版人机验证码循环 | GUI验证码对基岩版无效(聊天框无法唤醒) | 基岩版用数学答题验证码,不在循环 |
2. 本次新增的内容
| 编号 | 内容 |
|---|---|
| 1 | php后端新增安全防护,/admin.php?token=xxx新请求格式,原始/admin.php直接回调404。保护后台安全 |
| 2 | php后端新增二次验证(totp),可对接1password、微软authenticator等软件 |
| 3 | 领地新增涂蜡、刮蜡权限 |
| 4 | 热更新home的床,被阻挡、被拆除自动删,在别人家睡了自动更新床的位置 |
| 5 | 人机验证码系统新增题库小学数学100以内加减乘除,删除原始10以内加减法题库 |
| 6 | pvp新增观察者模式/pvp join see,默认进入原版幽灵模式。可通过/pvp see切换裁判员模式。裁判员模式下,隔离一切伤害,生物无法对你造成伤害,你也不能对生物造成伤害。掉落无伤害,你不能打人,别人不能打你 |
| 7 | 新增白名单,不依赖MC冷更新的白名单。自己编辑白名单.txt即可。插件帮你热重载,有玩家触发退出/加入事件时,自动重载。不需要冷备份。且提示语双兼容,兼容下方MC原始json也能够直接用&cxxx来写。 |
| 8 | 更新冻结账户功能,允许永久冻结或临时冻结 |
| 9 | 新增领地删除退费、扩建扣费、收缩退费。扩建按新建领地扣费,删除按固定比例退费。收缩按删除比例退费 |
| 10 | 新增改判系统,已经被临时封禁的,/ban user直接无缝接管判死刑,不再提示玩家已被封禁。反过来已被死刑的执行/tempban自动改判 |
| 11 | /tempban参数优化。现在仅需/tempban user即可。默认按10分钟+"您已被此服务器封禁"的配置执行。不影响tempban原生的/tempban user time 理由 |
| 12 | 充值订单优化,引入pay.md作为配置源,既能当说明书,又能当配置文件。完美宝宝化+自由DIY |
| 13 | 新增op白名单,引入opwl.json,未在白名单内的op,都会报警并卸载它的权限。每个整点(每分钟的第0秒、15秒、30秒和45秒)自动扫描。 |
| 14 | 实现一套完整的基于SN(system number)的防盗防刷系统,所有人申请的插件自定义物品均登记。非法合成、分解消耗→锁SN,不能再次申请新的。丢了就计时12小时,达标12小时以后,允许注销。注销进入1小时冷静期,冷静期期间禁止申领新设备 |
| 15 | 限制领地大小,最大7000㎡×7000㎡,一次最大3500㎡,两项超过任意一项即需要管理员到现场审批。使用/protect accept和/protect deny发表审核意见 |
| 16 | 新增禁言管控,被禁言玩家禁止私聊他人,禁止收发私信 |
原版json写法
- 多内容
[{"text":"内容1","color":"red"},{"text":"\n内容2","color":"blue"}]
- 单内容
{"text":"内容","color":"red"}
普通写法
&c&b内容1\n内容2 //多行内容
&a内容1 //单行内容
支持变量
{
"变量支持": "简中、English",
"英语变量": {
"变量名": "渲染出来的名字",
"username": "玩家用户的名字",
"starttime": "开始时间",
"endtime": "结束时间"
},
"中文变量": {
"变量名": "渲染出来的名字",
"用户": "玩家的名字",
"开始时间": "",
"结束时间": "",
"空值": "空白值意思是名字就是出来的效果"
},
"括弧兼容": [
"()英文小括号",
"[]英文中括号",
"【】中文中括号",
"()中文小括号"
]
}
2.9更新
修复的内容:
- 修复领地系统的移动权限&容器权限侦听,未授权的玩家将正确清理出去不得使用容器不得经过领地
- 修复删除提示,确保只给操作者本人展示
- 修复玩家加入事件,注册账号达到限制的不能加入服务器
- 修复
/banip、/tempbanip、/tempban封禁玩家后,未能踢出玩家的问题
新增的内容
- 新增末影人行为监控,可阻止末影人在领地内的一切行为(传送、移动、生成)
- 调整pvp竞技世界为和平模式,确保无敌对生物(如小白、僵尸)干扰玩家
- pvp竞技场新增道具火球和搭桥蛋,右键使用火球可将其发射并在落点产生爆炸伤害,点燃周边方块。右键使用搭桥蛋可跟随抛物线生成玻璃方块。
- 新增领地容器记录翻页,每页仅展示当日数据
- 新增pvp竞技场世界战绩永久保存,不在跟随世界一起删除
- 新增队列清空,当Java插件与web后端通信没能及时返回,造成羁押时,可通过
/清空队列或/cleartake立即清除web未回应的任务。保证队列畅通 - pvp竞技场公平升级,仅第一名玩家能选择装备,一旦确认永久锁定。更换装备需重建世界,保证绝对公平
- 新增敏感词过滤,当玩家在服务器里说脏话时,自动过滤。将消息设为仅自己可见,静默累计,达到预设次数时立即执行处罚并重置计数器
- url管控新增中文域名侦测,
www.百度.com在类的url若不在白名单,也会进行过滤 - whois新增玩家ip归属,通过调用
ip9接口,精准展示玩家的ip归属。现阶段可展示内容包含:玩家ip、名字、加入服务器的时间、最近一次登陆时间、是否被封禁、是否被禁言、禁言时长、禁言理由、封禁理由和时长以及玩家ip归属
修复的内容:
- 领地系统权限错误,已授权的玩家跳过拾取/丢弃检查
- 领地系统语义分歧,门禁统一归类
新增的内容:
- CLI新增领地公告,允许配置领地进出消息。同样支持html语法解析:
<p style="color: blue;"{玩家}你好,欢迎来到<领地></p> - 新增领地边框,出入领地或
/protect info自动展示 - 新增领地破坏,可查询自己领地内的方块、容器、红石器件操作数据
- 新增领地更名选选个,1小时5次机会
- php后端联控Java封禁,对被封禁的玩家进行标记并备注理由
- php后端新增ban和tempban,可一件查询封禁玩家名单
- php新增今日债券变动数据看板,统计今日消费总金额、收入和净利润
- php新增本小时活跃看板,可查看本小时在线玩家数据
- php新增在线曲线图,可查看服务器在线玩家活跃曲线图
- 新增滚动备份机制,每15分钟滚动备份玩家背包
- php新增在线充值债券,使用时,需根据如下位置配置易支付信息
- Java新增Mojang oauth正版验证流程,玩家打开插件发送的链接将授权后含key的url完整回传即可通过
| 文件 | 作用 | 依赖项 | 备注 |
|---|---|---|---|
| pay_secrets.php(考虑到他的特殊性,已排除git。请手动下载放入项目的api目录) | 易支付商户ID/MD5密钥/商户公钥/平台公钥/平台私钥/正版验证应用程序ID | 必须改,否则无法发起支付 | |
| config.php | SMTP发信配置 | 可选更改 | |
| pay.php | 支付接口/回调地址/MySQL凭据(解决易支付回调以触发cloudflare风控) | 必须改,否则无法发起支付/回调 | |
| poller_online.php | 支付平台MySQL凭据 | 必须更改,否则查单查不到 | |
| recharge_odres_api.php | 支付平台MySQL凭据 | 必须更改否则查单查不到 | |
| zh_cn.json | MC官方汉化文件 | 可选,插件自动下载。失败则兜底机翻。鸣谢API提供商:夏柔API和简心API | 手动下载请放入MC服务器的./plugin/Sdf1_login文件夹 |
新增内容:
- 领地系统,使用protect即可使用
- 新增home传送点,通过
/sethome 名字设置传送点,/home 名字回到传送点/delhome 名字一处传送点 - 新增用户组,可在php端/游戏里配置用户组并开放购买
- 新增商店最大限制,通过
/sdf1_login shop setmax 金额限制每名玩家的最大交易金额,/sdf1_login shop maxmsg 消息可设置提示内容。消息支持颜色代码(&表示)、基础html语法格式。<p style="color: aqua;">玩家{player}本小时额度已用:[已使用额度]/剩余额度(limit).<br> <b><u>下次重置时间:(time)</u></b>. </p>
| 变量 | 输出 | 备注 |
|---|---|---|
| 玩家 | 玩家名字 | |
| 已使用额度 | 已经出售了的金额 | |
| 剩余额度 | 还能卖多少 | |
| 下次重置事时间 | 下次重置时间 | 重置额度的时间 |
| player | 玩家名字 | 英文版 |
| limit | 剩余额度 | 英文版 |
| used | 已使用额度 | 英文版 |
| time | 下次重置时间 | 英文版 |
修复的bug
暂无
新增的功能:
- Web登录,可通过配置Web后端,生成token,用户访问后端,在Web后端,完成注册登录
- Web购物,可通过配置Web后端,生成token,由用户在Web后端购物消费。
配置方法:
- 从php分支下载完整代码(github、gitee和gitcode)
- 在你的服务器上安装宝塔面板
- 新建站点,php版本选择8.2,安装sqllite3扩展
- 上传源码
- 修改插件设置.txt里面的信息:
# ===== Web通信 =====
web通信-启用=true
web通信-地址=https://example.com/ #这里改成你的域名
web通信-Token有效期秒=600
web通信-同步间隔分钟=30
web通信-密钥=example #这里改成和config.php里一样的配置
修复的内容:
- 无参数指令报错问题
新增的内容:
- 和平模式白名单,在配置文件写
和平模式白名单:xxx,从刷怪蛋放出后,5秒内给上名字→跳过豁免,不在送入虚空 - 新增自定义参数,不在死板的要求顺序,你可以这样写: 示范:
/protect add 末地保护区 players添加players玩家到末地保护区/protect removeitem 主城区 TNT从主城删了TNT这个黑名单物品/protect 筑城区 addwhite zhangsan把zhangsan加白到主城区的模式豁免名单。- 所有参数
任意排序,区域名字随便填写,强大的兜底会自动识别"宝宝画板",你可以放心、大胆的乱写
新增的功能
- 自定义菜单物品,任意物品均可当成菜单使用。
自定义菜单操作方法
- 打开主gui→我的信息→将自定义物品拽入跟雪球交换即可
距离流程及图文引导可参考插件文档 https://wiki.ypshidifu.cn/sdf1_login/
新的功能:
- 自定义菜单,从原先的27格UI提升至54格,第一排和倒数2排均为自定义菜单默认位置,通过配置
菜单.txt配置文件实现自定义功能:
### 2.2.7 菜单.txt
- 自定义菜单配置文件
```json
# 服务器菜单
# 使用类json格式
// 支持使用://Java单行注释、#yml单行注释、/* */块注释,也支持HTML风格的块注释
{
标题:主城传送
指令:/dom tp 主城区 # 这里如果是xxx.txt则表示进入二级目录
权限类型:玩家
图标:COMPASS
}
{
标题:随机传送
指令:/rtp
权限类型:玩家
图标:ENDER_PEARL
}
{
标题:擂台比武
指令:/dom tp PVP
权限类型:玩家
图标:netherite_spear
}
{
标题:领地操作
指令:/dom
权限类型:玩家
图标:paper
}
{
标题:逛商店
指令:/dom tp shop
权限类型:玩家
图标:honeycomb
}
{
标题:传送开关
指令:/tptoggle
权限类型:玩家
图标:redstone_torch
}
{
标题:返回上一个位置
指令:/back
权限类型:玩家
图标:red_bed
}
{
标题:前往小黑塔
指令:/dom tp 小黑塔
权限类型:玩家
图标:dragon_head
}
{
标题:云背包
指令:/cy
权限类型:玩家
图标:potato
}
{
标题:自杀
指令:/suicide
权限类型:玩家
图标:wooden_axe
}
{
标题:游戏商人
指令:/shop
权限类型:玩家
图标:shield
格子:28
}
更多指令用法请参考Wiki。
修复的bug:
- 打卡按钮缺失问题
- 补签任意参数都能成功补签
- 资源包可以被拒绝的问题
新增的功能
1.配置文件修改,这次对radio_config.txt进行了一些改动:
# ============ Sdf1 Radio Config ============
#
# resource-pack-url
# 填外部地址(HTTP或HTTPS均可)
# 例: https://example.com/radiopack.zip
# 留空 = 使用内置HTTP服务
#
# http-port
# 内置HTTP端口(仅resource-pack-url为空时生效)
#
# ============ Settings ===============
resource-pack-url=https://*.ypshidifu.cn/|*.mcserver.ccwu.cc # 这里不再需要填写完整地址了,只需要填域名即可,支持example.com、*.example.com等
http-port=443
这里支持到泛域名,你只需要在你的DNS后台添加泛解析域名,配置好ssl即可,系统会随即生成子域名+时间戳作为请求url,防止用户拒绝 2.签到经济,在插件设置.txt里,新增了如下配置:
# ---- 签到盲盒奖励 ----
签到固定金额=0
签到最小金额=10
签到最大金额=100
签到给积分=true
签到积分数量=10
当固定金额有参数值,最小最大金额为空、0时表示启用固定经济,反之固定金额为0,最小最大金额有参数,则表示启用盲盒经济。当经济部分3个0时,则仅发放积分,不发放经济。经济部分需要Vault的支持



