Skip to content

关于自动选择下载源 #59

@ChouChiu

Description

@ChouChiu

问题描述

本人在海外地区,今日(3月4日)启动 MC 时,发现模组自动选择了由 @502y 维护的镜像源,于是便诞生了该 Issue。

复现步骤

  1. 今日(3月4日)启动游戏,模组自动选择了由 @502y 维护的镜像源
  2. 每个下载均因 SocketTimeoutException 超时失败。
  3. 最终游戏启动耗时 约 3 分 30 秒

日志片段

[2026-03-04 20:08:50] [INFO]: I18nUpdate Mod 3.7.0 is loaded in 1.21.1 with Fabric
[2026-03-04 20:08:50] [INFO]: Using fastest url: http://8.137.167.65:64684/
[2026-03-04 20:08:51] [INFO]: Downloading: http://8.137.167.65:64684/Minecraft-Mod-Language-Modpack-1-21-Fabric.zip -> C:\Users\huang\AppData\Local\.i18nupdatemod\1.21\Minecraft-Mod-Language-Modpack-1-21-Fabric.zip.tmp
[2026-03-04 20:09:59] [WARNING]: Error while downloading: java.net.SocketTimeoutException: Read timed out
[2026-03-04 20:10:00] [INFO]: Downloading: http://8.137.167.65:64684/Minecraft-Mod-Language-Modpack-1-20-Fabric.zip -> C:\Users\huang\AppData\Local\.i18nupdatemod\1.20\Minecraft-Mod-Language-Modpack-1-20-Fabric.zip.tmp
[2026-03-04 20:11:18] [WARNING]: Error while downloading: java.net.SocketTimeoutException: Read timed out
[2026-03-04 20:11:18] [INFO]: Downloading: http://8.137.167.65:64684/Minecraft-Mod-Language-Modpack-1-19.zip -> C:\Users\huang\AppData\Local\.i18nupdatemod\1.19\Minecraft-Mod-Language-Modpack-1-19.zip.tmp
[2026-03-04 20:12:17] [WARNING]: Error while downloading: java.net.SocketTimeoutException: Read timed out
[2026-03-04 20:12:17] [INFO]: Converting: C:\Users\huang\AppData\Local\.i18nupdatemod\1.21\Minecraft-Mod-Language-Modpack-1-21-Fabric.zip
...
[20:12:40] [Render thread/WARN]: Game took 241.251 seconds to start

建议

当前模组仅通过测速选择最快源,但对于海外用户,镜像源可能因网络问题导致超时。建议优化源选择逻辑:

  1. 引入地理位置判断:在测速前先判断用户是否位于中国大陆。

    • 可调用公开 API(如 https://mips.kugou.com/check/iscn)进行判断。
    • 代理工具可能影响判断结果。
  2. 根据地理位置分流

    • 若用户不在中国大陆,直接使用 GitHub 源(通常对海外更稳定)。
    • 若用户在中国大陆,则在镜像源之间测速选择。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions