Skip to content

Releases: MonthZifang/Mindustry-YF

FE6--v2026x9-fid1-160.3

Choose a tag to compare

Mindustry YF 160.3

YZF 框架已迁移到 Mindustry build 160.3。

开服包

  • 下载附件 server-release-160.3.jar(独立可执行服务端)
  • 运行: java -jar server-release-160.3.jar
  • 需要 Java 17+

本版本内容

  • 完整移植 159.7 的 YZF 服务端框架(模块/脚本/数据库/权限/网络网关等)
  • 兼容 160.3 原版特性(含 RulesLoadEvent)

FE5--v2026x8-fid3-159.7

Choose a tag to compare

本地 JSON 数据库

  • 分类名和键名统一规范化。
  • 修复带空格键名无法正确删除的问题。
  • 单条记录改为临时文件写入后原子替换。
  • 导入 JSON 前先完成对象和分类结构校验。
  • 无效导入不会清空现有数据。
  • 玩家本地数据文件改为原子写入。
  • 数据库注册表改为原子写入。

SQLite/MySQL/MariaDB/PostgreSQL

  • 玩家 SQL 数据保存改为事务提交。
  • 玩家 SQL 保存失败自动回滚。
  • 玩家数据 clear() 同步删除 SQL 表记录。
  • KV 数据库导入改为事务性清空和导入。
  • KV 导入失败自动回滚,避免部分数据落库。
  • 增加 PostgreSQL 专用 text 类型。
  • 移除 PostgreSQL 不支持的 on update current_timestamp。
  • PostgreSQL 使用 on conflict ... do update。
  • 数据库客户端启动失败时不再缓存失败实例。
  • 后续访问可以重新尝试启动数据库客户端。

SQL Server 与数据库聚合层

  • 新增 Microsoft SQL Server 外置 JDBC 驱动支持。
  • 新增 sqlserver / mssql 服务类型和 1433 默认端口。
  • SQL Server 使用 MERGE upsert、nvarchar(max) 和 datetime2 方言。
  • 新增 YZFAggregatedDatabase 异步聚合层,支持多库并行读写。
  • 聚合读取采用首个非空结果,聚合写入返回目标数和失败数。
  • 数据库操作移出游戏事件线程,降低事件阻塞和卡顿风险。
  • 外部 JDBC 驱动统一由 drivers/ 和 driver-index.hjson 管理。

远程 JSON 数据库

  • 增加真实远程 HTTP 健康检查。
  • 非 2xx 响应统一视为失败。
  • 分类名和键名使用完整 URL 编码。
  • 保留请求和响应 4 MiB 大小限制。
  • 禁止自动跟随重定向,避免绕过外部访问策略。
  • 远程请求继续使用连接和读取超时。

FIE2---v2026x7-fid2-159.2

Choose a tag to compare

添加了更多特性 mdtx对其兼容性可能存在未知问题

FIE1---v2026x7-fid1-159.2

Choose a tag to compare

版本格式

第一个迭代次数第二个当年当月的时间第三个是当月的迭代版本第四个是游戏版本

首次公开亮相的版本

已经原生支持java、js;需要依赖或修改运行kt、kts,仅支持外部以node。

支持的数据库

  • SQLite
  • MySQL
  • MariaDB
  • PostgreSQL
  • MinIO
  • Redis

除了SQLite原生默认应用以外,其它数据库均需要在配置文件中进行修改,添加外置驱动来启用。本地也有一个JSON作为数据库使用。

隔离环境

支持多种隔离环境,可以通过配置文件来修改
defaultIsolation: "logical" | "classloader" | "process" | "auto"

网络优化

支持WZ的网络优化配置,以及外部插件调用的网络配置,手动修改的自定义网络配置,以及预设的网络配置。

插件系统

插件系统主要包含:模块系统元数据、依赖、软依赖、循环检测、启停。

FE4--v2026x8-fid2-159.7

Choose a tag to compare

大量bug修复

网络与 UDP/TCP

  • 修复 TCP 分片发送时部分写入导致的字节丢失。
  • UDP 超过约 1200 字节时自动转为 TCP 长度帧。
  • 保留小 UDP 包的低延迟传输方式。
  • 修复超大 TCP/UDP 对象固定 64 KiB 缓冲区溢出。
  • 增加最大可扩展帧大小限制,避免无限分配内存。
  • 关闭流量整形后立即解除所有在线连接的整形状态。
  • 流量策略保存到 config/yzf/config/traffic-policy.json。
  • 服务端启动时自动加载流量策略。
  • 没有核心网络模块时自动禁止 fullControl,避免全服丢包。
  • 网关 HTTP 响应增加 Cache-Control: no-store。
  • Dashboard 返回正确的 HTML MIME 类型。
  • 网关请求体限制为 2 MiB,超限返回 HTTP 413。

本地 JSON 数据库

  • 分类名和键名统一规范化。
  • 修复带空格键名无法正确删除的问题。
  • 单条记录改为临时文件写入后原子替换。
  • 导入 JSON 前先完成对象和分类结构校验。
  • 无效导入不会清空现有数据。
  • 玩家本地数据文件改为原子写入。
  • 数据库注册表改为原子写入。

SQLite/MySQL/MariaDB/PostgreSQL

  • 玩家 SQL 数据保存改为事务提交。
  • 玩家 SQL 保存失败自动回滚。
  • 玩家数据 clear() 同步删除 SQL 表记录。
  • KV 数据库导入改为事务性清空和导入。
  • KV 导入失败自动回滚,避免部分数据落库。
  • 增加 PostgreSQL 专用 text 类型。
  • 移除 PostgreSQL 不支持的 on update current_timestamp。
  • PostgreSQL 使用 on conflict ... do update。
  • 数据库客户端启动失败时不再缓存失败实例。
  • 后续访问可以重新尝试启动数据库客户端。

远程 JSON 数据库

  • 增加真实远程 HTTP 健康检查。
  • 非 2xx 响应统一视为失败。
  • 分类名和键名使用完整 URL 编码。
  • 保留请求和响应 4 MiB 大小限制。
  • 禁止自动跟随重定向,避免绕过外部访问策略。
  • 远程请求继续使用连接和读取超时。

注意事项

  • UDP 大包转 TCP 可以降低 IP 分片和突发带宽风险,但不能保证完全消除延迟、回弹或瞬移。

FE3--v2026x8-fid1-159.7

Choose a tag to compare

我添加了个命名规则FE1 代表迭代次数 由新增的版本开始重新来计算迭代次数
我们增加了个网络模块 以及核心插件目录 并且使用C++ GO 热加载

ShapedConnection | 新增基于字节速率的 TCP 输出整形,支持 UDP→TCP 自动降级、包合并与队列管理
packet-splitter | 从“游戏包限速”降级为“纯文本消息拆分”,移除突发限速,清理旧规则
net-player-stats | 新增玩家流量统计模块(Go),实时监控每连接流量与策略执行
SendStreamEvent | 新增流发送前拦截事件,支持外部模块取消大流发送
NetServer/ArcConnection | 集成 ShapedConnection,广播发送适配整形连接

我们支持为某个玩家特定进行流量控制和全局的流量控制比如1分钟内发多少流量刷新间隔时间以及每次的包大小可以显著的减少服务端对突发漂移服务器上行的很多很多问题 我们后续会拓展一件包方便您快速上手使用避免安装模块与依赖的繁琐过程 核心模块自动释放