Mods Version Range Fix

Mods Version Range Fix

Enables semver ranges (wildcards, comparators, hyphen ranges, ^/~, and ||) for Hytale mod ServerVersion checks

杂项

概述

ModsVersionRange 是一个小型 Hytale 模组,它将版本兼容性检查从精确的服务器构建字符串升级为真正的语义化版本范围
它旨在阻止当模组在多个构建版本中仍兼容时(例如 2026.*)出现的“错误不兼容”警告。

需要 MixinTale 来安全可靠地修补服务器的版本检查。


安装

1) 安装 MixinTale (必需)

  1. 下载 MixinTale(EarlyPlugin / Bootstrap JAR 文件)。
  2. 将其放置在:
    1. 单人游戏[游戏文件夹]/UserData/EarlyPlugins
    2. 专用服务器[服务器文件夹]/EarlyPlugins
  3. 仅限服务器:使用以下参数启动服务器:
    --accept-early-plugins

2) 安装 ModsVersionRange

  1. 将 ModsVersionRange JAR 文件放置在:
    1. 单人游戏[游戏文件夹]/UserData/Mods
    2. 专用服务器[服务器文件夹]/Mods
  2. 启动游戏/服务器。

✔️ 无需配置。


支持哪些语法?

ModsVersionRange 依赖于 Hytale 的 SemverRange 解析规则,支持:

通配符 / X 范围

  • *(或留空) → 匹配任何版本
  • 2026.* → 匹配 >= 2026.0.0< 2027.0.0
  • 2026.02.* → 匹配 >= 2026.2.0< 2026.3.0

注意:X 范围用于主版本号/次版本号的通配(补丁版本通配符仅在 *.x/* 形式下有效)。如果模式不是有效的 X 范围,将被拒绝。

比较器范围

  • >=2026.2.0
  • >2026.2.0
  • <=2026.3.0
  • <2026.3.0
  • (以及服务器语义化版本比较器支持的任何比较器格式)

AND 范围(空格分隔)

  • >=2026.2.0 <2027.0.0

OR 范围(||

  • 2026.* || 2027.*

连字符范围(包含边界)

  • 2026.2.0 - 2026.3.5
    (解释为 >=2026.2.0<=2026.3.5

波浪号范围(~

  • ~2026.2.0
    • 如果次版本号 > 0:>=2026.2.0<2026.3.0
    • 否则:>=2026.0.0<2027.0.0

插入号范围(^

  • ^2026.2.0>=2026.2.0<2027.0.0
  • 0.x.y 范围的特殊处理(当主版本号为 0 时,插入号行为更严格)

备注

  • 此模组更改游戏玩法。
  • 它仅影响模组/服务器版本兼容性检查
  • 非常适合希望针对“一系列构建版本”而无需为每个构建哈希重新发布的模组。