Skip to content

v2.1.0

Latest

Choose a tag to compare

@wisdommen wisdommen released this 09 Nov 02:47
1721bf2

Added

  • On Minecraft versions below 1.21 the module now needs UltiTools-API 6.4.0 or later. With an older UltiTools-API it
    refuses to start before any of its commands, listeners or tasks is registered and logs "UltiLogin needs UltiTools 6.4.0
    or later on Minecraft versions below 1.21 (server: …, UltiTools: …). Please update UltiTools."; the core plugin keeps
    running. On Minecraft 1.21 or later the requirement stays UltiTools-API 6.3.1 or later (UltiKits/UltiTools-Reborn#655).
  • 在 Minecraft 1.21 以下版本上,本模块现在需要 UltiTools-API 6.4.0 或更高版本。UltiTools-API 较旧时,模块会在注册任何命令、监听器或任务之前
    拒绝启动,并记录“在 Minecraft 1.21 以下版本运行 UltiLogin 需要 UltiTools 6.4.0 或更高版本(服务端:…,UltiTools:…)。请更新 UltiTools。”;
    核心插件照常运行。在 Minecraft 1.21 及以上版本,要求仍为 UltiTools-API 6.3.1 或更高版本(UltiKits/UltiTools-Reborn#655)。
  • The project is published under the MIT licence.
  • 本项目以 MIT 许可证发布。
  • On UltiTools-API 6.3.1 the module registers /login, /l, /register, /reg, /changepassword, /changepw,
    /cpw, /setpassword, /setpw, /recover, /logadmin, /loginadmin and /regs with the framework's
    sensitive-command registry when it is enabled, so their arguments are replaced with *** in everything the
    framework sends to UltiCloud (the panel console, error reports and chat). The list is taken from the commands' own
    declarations: every alias of every command that takes arguments. The local console and log files keep the module's
    own ****** mask, which is unchanged.
  • 在 UltiTools-API 6.3.1 上,模块启用时会把 /login、/l、/register、/reg、/changepassword、/changepw、/cpw、
    /setpassword、/setpw、/recover、/logadmin、/loginadmin 和 /regs 登记到框架的敏感命令表,框架发往 UltiCloud 的所有内容
    (面板控制台、错误报告、聊天)中,这些命令的参数都会被替换为 ***。列表取自命令本身的声明:凡是带参数的命令,其全部别名都会登记。
    本地控制台与日志文件仍使用模块自己的 ****** 遮蔽,规则不变。

Changed

  • When a second /panel replaces a link before the first one reached the player, the older link now ends silently
    instead of printing "Failed to generate panel link" next to the working link. A web registration that finishes after
    its link ended and is refused by max-register-per-ip now shows the address-limit message instead of asking the
    player to run /panel again (#74).
  • 连续两次执行 /panel 时,若较早的链接在送达玩家前已被新链接取代,现在会静默结束,不再在可用链接旁显示“生成面板链接失败”。
    链接结束后才完成、并因 max-register-per-ip 被拒绝的网页注册,现在显示 IP 注册上限提示,而不是让玩家重新执行 /panel
    (#74)。
  • Declining a web sign-in with "Not me" now uses neutral wording and asks the player to run /panel again. The bind
    and replace pages' "Cancel" buttons give the same declined message; the unused old refusal text is no longer shipped.
  • 在网页登录页点击“不是我”时,现在使用中性的拒绝提示,并说明需重新执行 /panel。绑定页和替换页的“取消”按钮也显示同一条提示;不再随模块提供无人读取的旧拒绝文字。
  • Requires UltiTools-API 6.3.1 or later. api-version rises from 630 to 631, so UltiTools-API 6.3.0 refuses this
    version at load with a warning that the UltiTools version is outdated.
  • 需要 UltiTools-API 6.3.1 或更高版本。api-version 从 630 提高到 631,UltiTools-API 6.3.0 会在加载时拒绝此版本,并警告
    UltiTools 版本过旧。
  • /panel now creates its link through UltiTools-API 6.3.1's player-link API instead of the module's own HTTP request, and
    nothing is polled any more: UltiCloud reports the result as an event. All three proofs still work (logged in in game, an
    already linked account, a web registration). A sign-in that completes is answered to UltiCloud (account created, account
    already exists, not requested, registration rejected, login plugin unavailable); a repeated delivery of the same sign-in
    creates and logs in nothing twice; a sign-in that arrives after the player left, the server restarted or the link ended
    creates a requested account but logs nobody in, and tells a player who is online to run /panel again. A link ends when
    UltiCloud says so (expired, cancelled, declined) or at its own expiry time, which holds the login countdown for at most
    ten minutes.
  • Messages changed. New: "You have been logged in via UltiCloud." (no more "(Player)" or "(Server Owner)"), "The web panel
    sign-in is complete.", a cancelled link now says to run /panel again (cancelling is final), the rate-limit and
    link-not-permitted answers, "Your game account could not be created. Run /panel again to retry.", and the late sign-in
    line. The refusal reasons the old protocol gave are gone: clicking "Not me" now says "The web panel sign-in was
    declined. Run /panel again for a new link."
  • A game password set with /setpassword is now described as a backup for when UltiCloud cannot be reached, and the
    player is told to use a password different from their UltiKits account. The reminder follows every web sign-in of an
    account that has no game password and every join, /login and re-prompt in which that account is not logged in; the
    /login refusal and /setpassword's help text say the same.
  • /panel for a name without an account is refused before any link is requested when its address has already reached
    max-register-per-ip, so the web side no longer creates an UltiKits account the game would refuse. The limit is checked
    again when the web sign-in finishes.
  • 现在 /panel 通过 UltiTools-API 6.3.1 的玩家链接接口创建链接,不再使用模块自己的 HTTP 请求,也不再轮询:UltiCloud 以事件报告结果。三种证明仍然
    可用(已在游戏内登录、已关联账号、网页注册)。完成的网页登录会回执给 UltiCloud(账号已创建、账号已存在、未要求、注册被拒绝、登录插件不可用);
    同一次登录重复投递不会重复建号或登录;玩家已退出、服务器已重启或链接已结束后才到达的登录会创建被要求的账号但不让任何人登录,并提示在线的玩家重新
    执行 /panel。链接在 UltiCloud 报告结束(过期、取消、拒绝)时,或到自己的过期时间时结束,对登录倒计时的暂停最长十分钟。
  • 提示文字有变化。新增:“You have been logged in via UltiCloud.”(不再区分 Player/Server Owner)、网页登录完成提示、取消后需重新执行 /panel(取消是终态)、
    请求太频繁和不允许生成链接的提示、游戏账号创建失败提示,以及迟到登录的提示。旧协议给出的各种拒绝原因已取消,点击“不是我”会提示“网页面板登录已被拒绝。请重新执行 /panel 获取新链接。”。
  • 用 /setpassword 设置的游戏密码现在被说明为 UltiCloud 连不上时用的备用密码,并提醒玩家使用与 UltiKits 账号不同的密码。每次没有游戏密码的账号经网页登录后,
    以及该账号未登录时的每次进服、/login 和再次提示,都会提醒;/login 的拒绝提示和 /setpassword 的帮助文字同样如此。
  • 名字没有账号时,若其地址已达 max-register-per-ip,/panel 在请求链接前就会拒绝,网页不再建出游戏会拒绝的 UltiKits 账号;网页登录完成时会再检查一次。

Removed

  • UltiLogin 2.0.0's /panel request path (the HTTP call to UltiCloud, the three-second polling, the owner/player
    distinction in the sign-in message, the four refusal reasons and the credential-refused message) is gone, with no
    bridge: UltiLogin 2.0.0's /panel does not work on UltiTools-API 6.3.1, so update to this version. Players can still
    use /login.
  • UltiLogin 2.0.0 的 /panel 请求路径(对 UltiCloud 的 HTTP 请求、三秒轮询、登录提示中服主/玩家的区分、四种拒绝原因以及凭据被拒绝的提示)已移除,且没有
    兼容桥接:UltiLogin 2.0.0 的 /panel 在 UltiTools-API 6.3.1 上不能使用,请更新到此版本。玩家仍可使用 /login。

Fixed

  • On a Paper version that lacks an event one of the login protections uses, the other protections are still registered.
    The mount guard falls back to the older mount event; the item-pick, sign-opening and equipment-slot-swap guards are each
    skipped with one console warning naming the missing hook when the server has no equivalent event. Before, one missing
    event could stop the remaining Paper-specific protections from registering (#83).
  • 在缺少某个登录保护所用事件的 Paper 版本上,其余保护仍会注册。骑乘保护会改用旧的骑乘事件;服务端没有等价事件时,拾取方块、打开告示牌和装备栏交换保护
    会各自跳过,并在控制台给出一条指明缺失钩子的警告。此前缺少一个事件可能导致其余 Paper 专属保护都无法注册(#83)。
  • A player who is not logged in and slides sideways off a block edge is now put back at the centre of the block column
    they stood in, at the lowest height where their bounding box does not collide with the real block shapes (full blocks
    and slabs alike); when no such height exists the player stays where they were (#74).
  • 未登录玩家从方块边缘横向滑落时,现在会被放回原所在方块列的中心,高度取其碰撞箱不与实际方块形状(完整方块与台阶均按实际形状)相交的最低位置;
    找不到这样的高度时玩家留在原处(#74)。
  • Expired failed-login locks (per address, per account and per address-and-account pair) of players who never return
    are now cleared by the regular failed-login housekeeping instead of staying in memory until shutdown
    (#65, #88).
  • 从未再回来的玩家留下的已过期登录失败锁定(按地址、按账号、按地址与账号组合)现在会在常规的登录失败清理中移除,不再一直留在内存中直到关服
    (#65、#88)。