Tags
Creators
Details
Licensed LGPL-3.0-only
Published last month
Updated 4 days ago
All versions
1.1.7
Beta
VoxLink-Forge-1.1.74 days ago 12
Compatibility
Minecraft: Java Edition
26.3
Platform
Forge
Supported environments
Client-side
Changes
1.1.6 → 1.1.7 更新内容:
新增
- 新增 TCP 双向打洞通道:UDP 打洞失败一轮后自动追加 TCP 同时打开尝试(双方约定同一端口互连),UDP 受限网络下成功率显著提升;TCP 打洞无限重试、失败不影响任何既有路径
- 新增 TURN 失败秒级反馈(turn_nack):房主无法建立中继时房客立刻收到原因并重试,不再空等 20 秒
- 新增反馈页发送前提示(游戏内与网页):写清"发生了什么、什么时候、什么操作后、期望什么结果",并列出低价值反馈示例
- 加入房间时显示房主的 VoxLink 模组版本(服务端补齐字段,此前始终显示未知)
修复
- 修复打洞成功后连接立即断开的问题:多插座打洞胜利的通道未恢复阻塞模式,导致传输层无法建立——这是"打洞明明成功却报所有连接方式失败"的根因
- 修复日志上传卡死:上传异常时标志位永不复位,导致之后每次触发都显示"已在进行中"而永远不再上传
- 修复 TURN 中继 8 处状态机缺陷:中继按钮永久失效、下次连接无法直连升级、房主申请通道期间其他玩家加入请求被阻塞、通道申请消息单次失败导致对方整场重来、切换到中继后语音永久无声等
- 修复 TURN→直连平滑切换从未生效的问题(此前切换条件结构性无法满足),中继连接后将在后台持续尝试直连并无缝切换
- 修复已连接链路"单向死亡"要等 60 秒才发现的问题,现在约 5 秒内检测并自动恢复
- 修复房主桥接外部服务器时游戏自带连接界面返回后停留在联机页面的问题,现在返回房间大厅或输入代码页
- 修复房主侧桥建立失败时房客无感知挂死的问题(现在立即收到失败通知)
- 修复 TURN 节点列表获取无重试的问题:现在 4 轮重试 + 60 秒缓存 + 过期数据兜底
- 修复信令 WebSocket 断开后被动等待的问题:现在立即主动重连(指数退避),健康时轮询完全休眠不再产生请求
- 修复对局中断开原因(如对方服务器为 NeoForge 而本机为 Fabric)只能看到通用失败的问题
优化
- 对称 NAT 端口漂移分级打击:端口可预测时定向覆盖预测区间,完全随机时按生日攻击喷洒且跨轮不重复命中同一批端口
- TCP/TURN 双通道竞速不再互相干扰(连接胜利守卫)
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:qqeQJjgq:ovxFD0Ym"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:qqeQJjgq:ovxFD0Ym"
}

