Skip to content

Releases: ColdTearsYY/ALInvite

ALInvite 2.1.4

Choose a tag to compare

@ColdTearsYY ColdTearsYY released this 10 Oct 12:34

ALInvite 2.1.4

未绑定邀请码玩家的登录门禁增强。

新增

  • 指令白名单:未绑定期间仅允许 /alinvite、/ali、/invite,其余指令全部拦截(含命名空间形式)。
  • 强制旁观者模式:锁定期间自动切换到旁观者,天然规避受伤、PvP、死亡重生绕过、方块/实体交互;绑定或放行后恢复原模式(可配置回退模式 restore_gamemode)。
  • 禁止聊天:锁定期间无法公屏发言。
  • 禁止背包与物品:拦截打开容器/背包、物品栏点击、丢弃物品、使用物品与方块交互。
  • 可选位置锁定 binding_gate.position_lock:
    • true(默认):玩家被钉在登录位置,禁止移动与传送。
    • false:玩家可在旁观者模式下自由移动查看,但指令/聊天/背包/物品等其余限制仍然生效。

配置项(binding_gate)

spectator_lock、restore_gamemode、position_lock、block_commands、block_chat、block_interaction,均默认开启(restore_gamemode 默认 SURVIVAL)。

兼容性

  • Paper / Folia(已在 Folia 26.3 环境核对线程归属:旁观者切换与恢复均在玩家 region 线程执行,关闭位置锁后不做任何跨区域传送)。
  • 构建:Java 21,Maven package 通过(单元测试全绿)。

注:本版本为代码发布,尚未在生产服务器实际部署与真人端到端验证。

ALInvite 2.1.3

Choose a tag to compare

@ColdTearsYY ColdTearsYY released this 30 Sep 10:53

ALInvite v2.1.3

邀请码可靠性

  • 邀请码生成改为数据库唯一约束驱动的原子写入。
  • 只有数据库写入成功后才返回并写入缓存。
  • 唯一键冲突会自动异步重试,不再在重试耗尽后返回未经确认的候选码。
  • 同一玩家的并发生成请求合并为同一个异步任务。
  • 数据库写入失败不会再伪造成功邀请码。

隐藏开放注册池

  • 管理员可执行 /alinvite admin open <数量> 生成指定数量的隐藏注册码。
  • 新玩家进服时自动领取一个隐藏注册码,注册码本身不会展示。
  • 隐藏注册只提供进入资格,不建立邀请人关系、不消耗邀请人的个人名额,也不触发邀请奖励。
  • /alinvite admin close 可关闭开放注册并作废尚未领取的隐藏注册码。
  • 隐藏注册玩家之后仍可以主动输入朋友的邀请码,建立正常邀请关系。
  • 已绑定玩家和 /alinvite add 预邀请玩家不会重复消耗隐藏注册码。

其他

  • 保留未绑定玩家位置锁定、60 秒宽限、10 秒提醒和超时踢出。
  • 保留 /alinvite add <玩家名> 预邀请功能、数据库名字目录和跨服事务保护。

验证

  • Maven tests: 17 passed
  • Java 21 build: passed
  • Artifact: ALInvite-2.1.3.jar

ALInvite 2.1.2

Choose a tag to compare

@ColdTearsYY ColdTearsYY released this 22 Sep 03:22

ALInvite v2.1.2(fork 发布)

基于 fork v2.1.1,合并上游 v2.0.3 的 Folia 线程模型完整适配。

合并自上游(AllenLinong/ALInvite v2.0.3)

  • 修复 Folia 核心下奖励命令无法执行:所有命令分发(奖励命令、菜单 console:/player: 动作、权限组奖励、点券发放)统一走全局线程。
  • 奖励命令占位符:%player_name%、%player%、{player} 三种写法均可用。
  • 同 IP 防自邀检查不再于异步线程读取玩家连接状态。
  • 权限组周期检查、LuckPerms 事件检查、管理员 checkgroup:逐玩家调度到其实体线程。
  • 里程碑全服/同世界广播、跨服公告:逐玩家调度渲染+发送,不再跨区域操作玩家。

其他修复

  • 修复 docs/ourTravel-???????.md 非法文件名导致 Windows 无法检出仓库的问题,已重命名为 docs/ourTravel-notes.md。

保留的 fork 定制

传火名额、IP 限制、返利双视图、管理员返利审计、Lophine/Folia 26.2 适配等全部保留。

适用:Minecraft 1.20.1 - 26.2(Lophine/Folia 已验证),Java 21。

ALInvite 2.1.1 — Lophine 26.2 Folia 传火邀请制

Choose a tag to compare

@ColdTearsYY ColdTearsYY released this 12 Sep 04:15

ALInvite 2.1.1

基于 fork 2.1.0 的 Lophine 26.2 / Folia 传火邀请制版本,跟进上游修复后的正式发布。

本次更新

  • 跟进上游 MySQL 唯一邀请人索引创建修复,兼容 SQLite 与 MySQL 的索引幂等创建。
  • 修复启动横幅从 database.yml 读取实际数据库类型。
  • 保留 Folia 调度、传火名额、IP 限制、返利双视图和管理员审计等 fork 定制。
  • 保留并更新上游 CHANGELOG。

兼容性

  • Lophine/Folia 26.2(已验证)
  • Java 21 编译;测试服使用 Java 25
  • SQLite / MySQL

下载与安装

下载 ALInvite-2.1.1.jar,替换服务器 plugins 目录中的旧插件后重启即可。

不要部署 original-ALInvite-2.1.1.jar,它不是 shaded 部署包。

验证

  • Maven clean test package:通过
  • 14 项测试通过
  • 生成物:ALInvite-2.1.1.jar

ALInvite 2.1.0 — Lophine 26.2 Folia 传火邀请制

Choose a tag to compare

@ColdTearsYY ColdTearsYY released this 10 Sep 15:44

ALInvite 2.1.0

面向 Lophine 26.2 / Folia 的传火邀请制升级版。

主要更新

  • 兼容 Lophine 26.2 / Folia 调度器,保留 folia-supported: true。
  • 使用 Java 21 编译,支持测试服 Java 25。
  • 新增传火邀请名额:每人初始 1 个名额,用完后每 24 小时恢复 1 个,最多积累 1 个。
  • 邀请记录、邀请人数、名额扣减使用 SQLite/MySQL 事务处理。
  • 增加 IP 绑定限制与跨服 IP 计数,默认每个 IP 最多成功绑定 1 次。
  • 新人礼包默认包含:
    • 面包 ×32
    • 石镐 ×1
    • 火把 ×16
    • PlayerPoints ×20
  • 邀请里程碑默认调整为:
    • 1 人:10 点券
    • 3 人:50 点券
    • 10 人:200 点券
  • 在线累计 24 小时自动获得 alinvite.veteran;PlaceholderAPI 不可用时回退 Bukkit PLAY_ONE_MINUTE 统计。
  • 新增 /alinvite generate 兼容别名。
  • 新增管理员连带处罚:
    • /alinvite admin punish <被邀请人> [原因]
    • 保留邀请审计记录,避免重复处罚。
    • 插件不会自动监听封禁,需管理员确认后手动执行。
  • 增加玩家与管理员返利历史视图,以及返利到账/领取记录类型。
  • 修复 Folia 下异步线程直接读取玩家状态、GUI 聊天回调、跨区域消息发送和 reload 任务残留问题。
  • SQLite/MySQL JDBC 驱动随 shaded JAR 打包。
  • 补充中文部署与验收文档:docs/ourTravel-传火部署与验收.md。

依赖

可选软依赖:

  • LuckPerms
  • PlaceholderAPI 2.12.3+
  • PlayerPoints 3.3.5+
  • VaultUnlocked 与 Vault Economy provider
  • Redis + MySQL(跨服场景)

缺少可选依赖时,插件保留降级行为;点券/权限/外部占位符功能需要相应插件实际安装。

白名单重要说明

原生 white-list=true 会在玩家进入服务器之前拦截不在白名单中的新人。ALInvite 无法让尚未进入服务器的新人仅凭邀请码完成首次登录。

请使用代理层门禁/激活码、临时关闭原生白名单,或预先导入测试账号。绑定成功后的 whitelist add 登记只对后续连接生效。

验证

  • Maven clean test package:通过,13 项测试通过。
  • Lophine 26.2 / Folia / Java 25:插件加载、SQLite 初始化、Folia 调度识别和服务器启动完成均通过。
  • 已联调 LuckPerms 5.5.71、PlaceholderAPI 2.12.3、PlayerPoints 3.3.5 的插件加载与命令注册。

发布资产

  • ALInvite-2.1.0.jar:部署用 shaded JAR。
  • 不要部署 original-ALInvite-2.1.0.jar。