Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: Meloong-Git/PCL

2.11.2

06 Nov 15:01

Choose a tag to compare

联机优化

  • 若有加入者的网络环境比房主更好,会提示可以让那位加入者担任房主
  • 中继节点负载均衡算法优化
    • 只选择 MC 中继节点进行连接,避免连接到低质量节点导致卡顿
    • 大幅降低节点在线率在负载算法中的权重
    • 允许自动选择非 TCP 协议的、带有即将下线标签的、在线状态不是优秀的节点
    • 会有 1% 的概率选择 0 负载的节点,而不是固定不选择它们(如果节点存在问题,可能才导致它是 0 负载,所以此前不会选择它们,但这又会导致 PCL 不会连接新增的节点)
  • 现在会在多个禁止中继的节点中选择一个作为发现节点,以实现负载均衡
  • 会检查是否与房主都设置了自定义节点,以防只有一方设置了导致连不上
  • 允许设置优先直连或优先低延迟,以降低节点中转负载
  • 为侦听的端口号添加了一定的随机性,以降低端口被占用的概率(#7451@dongtz123
  • 若正使用中继节点,会更准确地显示网络情况
  • 仅创建房间时不再连接中继节点
  • 为节点列表 API 添加了缓存作为回退,以提高可用性
  • 联机设置的贡献节点选项会给出更详细的说明
  • 若联机模块因为端口被占用而崩溃,会给出详细的解决方案
  • 更新联机的内置帮助,现在离线模式直接选择房间就能加入,不应手动输入 IP(LTCatt/PCL2Help#437,PR @kuankqaq
  • 修复了以下 4 个联机相关的 Bug
    • 新用户首次启动联机可能出错(#7346
    • 俄语等环境下无法正常联机(#7435@Arrogant-BOT
    • 创建房间时会显示“正在连接到房主”
    • 启动联机时会冗余地检查一次配置

其他更新内容

Bug 修复

2.11.1

01 Nov 03:57

Choose a tag to compare

嘿,联机的优化来了!现在离线登录也能直接加入房间,不需要房主装 Mod 啦!

不过,MC 玩家实在太多了。根据目前的数据,如果要让联机能在正式版 PCL 稳定中继,可能还需要 100 个服务器节点……
所以…… 我们需要你的帮助!!!
如果你有空闲的服务器,非常欢迎 搭建一个共享节点,搭建后在 此处 提交,然后大家就可以使用你的服务器辅助联机了!
如果大家能出一份力,这或许也不是不可能的事……

此外,如果你在 10 月仅赞助了 6.66 档位,也可以收到这个版本的更新!我知道 6.66 档位不包含后续更新,所以仅此一次哦……看看爱发电私信吧 :D
祝大家联机愉快!


联机优化

  • 使用离线登录也可以直接加入联机房间了
  • 若复制了邀请码,则可以直接快速加入房间
  • 会从所有共享节点中自动选择负载最低的进行中继连接(#7383@zkitefly
  • 关闭 PCL 时总是会提示是否退出联机,防止在关闭 PCL 时无意地关闭或退出了房间(#7357@baguotao233
  • 允许自定义要连接的节点
  • 若通过中继连接到房主,会显示中继情况与层数
  • 在设置添加“贡献节点”和“查看节点状态”按钮,暂时移除老好人模式
  • 帮助库更新:添加联机教程(LTCatt/PCL2Help#436,PR @WForst-Breeze
  • 修复 RPC 端口被占用导致 CLI 无法获取输出的 Bug(#7351@tangge233
  • 修复 Listener 端口被占用导致启动联机模块失败的 Bug
  • 修复了 PCL 的联机无法与其他手动开启的 EasyTier 正常共存的 Bug

其他更新内容

  • 新主页预设:Minecraft 更新摘要(#7380,作者 @pynickle
  • 将社区资源的最新版本筛选改为 1.21.10
  • 将 EasyTier 添加到特别鸣谢!非常感谢 EasyTier 提供了联机模块!
  • 更新 10 月赞助者列表,感谢大家的超级支持!

Bug 修复

  • 家园披风的翻译缺失(#7353@YANHAORANG,PR @wyc-26
  • 启动第三方客户端时可能出错:分析资源文件索引地址失败(#7369@LuckyPotion
  • 下载失败时,下载管理页面可能不会显示完整的错误信息
  • 依然无法处理部分网络请求的超时

技术性更改

  • 新自定义事件类型:加入房间,可用于自动加入指定邀请码的联机房间
  • 换用 JSON 输出解析 CLI 结果(#7351@tangge233
  • ValidateInteger 已允许输入前导 0(#7375@llzlloll,PR @wyc-26

2.11.0

24 Oct 14:44

Choose a tag to compare

2.11.0 Pre-release
Pre-release

联机回归!

  • 完全免费开源,超级简单好用,小刻用了都说好!
  • 使用开源软件 EasyTier 实现:https://easytier.cn/

其他更新内容

  • 添加铜披风的中文译名(#7322@NORTHMELON2008,PR @ruollin
  • 禁止在未解压时直接使用压缩包中的 PCL,以避免新玩家丢失数据(@Light-Beacon
  • 修改设置页面左边栏图标以匹配标题栏图标

Bug 修复

  • 无法启动部分由其他启动器安装的 Forge(#7306@HowardZHY
  • 部分情况下事件“下载文件”导致崩溃(#7319@ShaneZhao1230
  • 解压依然可能出现长路径问题(#7329@w51637382
  • 若联网主页每次加载提供的内容都不一样,在加载成功 10 分钟后手动刷新主页,会导致 PCL 高频率地重新下载主页(#7330@fengxiangQAQ
  • 下载线程在下载到一半时无法正常触发超时,导致不会自动中断重试(#7337@oiikioi
  • 一个安全漏洞(为降低潜在影响,会在正式版更新后披露,GHSA-gp33-rfmf-5f38,@hans362
  • 无法下载社区资源图标时,会弹出大量的下载失败提示
  • 点击已选中的单选框依然会播放动画
  • 替换标记 {varible} 存在拼写错误,应为 {variable}
    • 为保证兼容性,{varible} 依然可用

技术性调整

  • 事件“刷新主页”回调为 2.10.8 之前的行为,即固定刷新自定义主页,而非刷新当前所在的页面,以与事件名称保持一致(#7298@fengxiangQAQ
    • 如果需要刷新自定义主页以外的页面(例如帮助页面或子页面),仍可以使用事件“刷新页面”
  • 替换标记 {variable} 指定的变量若不存在,支持替换为一个可选的默认值(#7318,PR @Light-Beacon
    • 用法:{variable:变量名:默认值}
  • 事件“打开网页”支持 minecraft-preview:// 协议(#7338@ShaneZhao1230,PR @MoYuan-CN
  • 在自定义 XAML 教程中添加了“进阶:高级自定义事件”卡片,以展示连续触发多个事件搭配 {variable} 替换标记的效果

2.10.9

06 Oct 21:00

Choose a tag to compare

自定义事件

  • 添加了 Wiki 页面 以给出更详细的示例与说明
  • 支持为一个控件设置多个自定义事件,并按照顺序依次执行,详情参见 Wiki 页面(#5684@Light-Beacon,PR @Open-KFC
  • 添加了下列新事件,详情参见 Wiki 页面
    • 修改变量:写入一个自定义变量,以便后续在替换标记中使用(#5684@Light-Beacon
    • 弹出提示:在左下角弹出一个提示条
  • 已有事件调整
    • 刷新页面 / 刷新主页:现在可以刷新任意可刷新页面,等同于按下 F5
    • 刷新帮助:若提供了非空的参数,则不显示弹出提示(静默执行)
    • 弹出窗口:可以可选地提供第三个参数,以修改弹窗确认按钮的文本
    • 切换页面:支持使用枚举的英文名作为参数;子页面参数现在是可选的
    • 下载文件:会在开始下载前弹出确认提示,以确保安全性
    • 修改设置:不再允许修改加密设置
  • 以下控件现已支持触发自定义事件
    • MyCard:若可以展开则在 展开/折叠 时触发,若不可以则在直接点击时触发
    • MyCheckBoxMyRadioBoxMyRadioButton:在勾选状态改变时触发
    • MyComboBox:在选中的项改变时触发
    • MyExtraButtonMyExtraTextButtonMyMenuItem:在点击时触发
    • MyTextBoxMySearchBox:在按下回车时触发
  • XAML 的 EventTypeEventData 属性换用附加属性实现,PCL 会自动替换以保证兼容性,但如果在罕见情况下遇到了错误,可以手动进行如下替换:
    • EventTypelocal:CustomEventService.EventType
    • EventDatalocal:CustomEventService.EventData
  • 当参数数量不够时,会给出更明确的提示

替换标记

  • 添加了 Wiki 页面 以给出更详细的示例与说明
  • 添加了下列替换标记,详细介绍请参见上方的 Wiki 页面
    • 读取使用“修改变量”自定义事件设置的变量:{varible:变量名}
    • 读取 PCL 设置:{setup:设置名}
    • PCL 版本信息:{pcl_version}{pcl_version_code}
    • PCL 分支信息:{pcl_version_branch}{pcl_branch}
    • 识别码:{identify}
    • PCL 程序路径:{path_with_name}
    • 缓存文件夹路径:{path_temp}
  • 下列设置现已支持使用替换标记
    • 自定义主页的下载地址(#5684@Light-Beacon
    • 启动选项 → 自定义信息,以及对应的版本独立设置
    • 高级选项 → Java 虚拟机参数,以及对应的版本独立设置
    • 高级选项 → 游戏参数,以及对应的版本独立设置
  • 自定义主页、自定义帮助现能够使用全部替换标记(#5552@zhuluzyy

帮助库更新

  • 添加“替换标记”页面
  • 重写“自定义主页与帮助 XAML 格式”中的自定义事件教学
  • 删除“自定义主页与帮助 XAML 格式”中并不存在的 EventType#7287@rt56cs
  • 移除无效的 Fallback 图床(LTCatt/PCL2Help#431,PR @z0z0r4

其他更新内容

  • 如果版本设置了自定义描述,会在标题后面以淡灰色显示其版本号(#7193@EggyPartyMc
  • MyImageFallbackSource 属性再次允许非网络图片(#7209
  • 若清理游戏垃圾时没有可清理的文件,则不强制重启 PCL(#7217@XiaoU-Say-JE
  • 更新 9 月赞助者列表,非常感谢大家的支持 Orz

Bug 修复

  • 若自定义主页未提供版本号,可能会高频率检查主页版本(#6245@fengxiangQAQ
  • 更新/删除 Mod 时可能反复弹窗提示删除到回收站(#7189@Calendula47
  • 在 Modrinth 下载 Mod/数据包 混合工程时可能定位到错误的文件夹(#7195@afi130
  • 下载时缓存文件夹被删除可能导致连续出错(#7214@hongggggv
  • 下载源不支持多线程下载可能会直接导致失败(#7220
  • 下载 Mod 图标失败会大量弹出报错(#7238@collguys
  • 无法安装 MMC 整合包(#7285@xingteh
  • 更新失败替换文件的说明中,提示的新文件的路径有误
  • 更新时几乎必定报错:删除老版本文件时权限不足
  • 在长路径下首次启动 Forge 会崩溃
  • 自定义帮助 XAML 未应用 GHSA-x9wr-mgmx-3hqp 的修复
  • 一个低危漏洞;为降低潜在影响,会在正式版更新数日后披露(GHSA-22mj-jjhv-rxm4,发现者 @yichenGZC,汇报者 @copytiao

2.10.8

12 Sep 15:41

Choose a tag to compare

更新内容

  • 完全兼容长路径
  • 在内部 DNS 解析失败时不再直接报错
  • 若请求返回 Forbidden 会不再重试,返回 Too Many Requests 会在重试前等待 10 秒

Bug 修复

  • 若缓存文件夹路径过长,可能导致整合包无法安装(#7060@MoYuan-CN
  • DNS 解析可能失败:索引超出了数组界限(#7192
  • 可能无法启动 PCL,并出现空的报错弹窗(#7202@Cast235
  • 如果有多个线程同时尝试删除同一文件夹或清理下载缓存,可能造成严重卡顿

2.10.7

09 Sep 17:09

Choose a tag to compare

网络与下载稳定性优化

  • 会优先使用 IPv4 访问 Modrinth,以提高成功率(#6887@bviibvii
  • 会根据历史网络请求是否成功来自动切换请求 IP,以提高成功率(#7157@pover0k
  • 会检查特定网络请求返回的是否是 json 格式的文本,如果没有则触发重试,以提高成功率
  • 优化网络配置,加快网络请求速度
  • 改善多线程下载引擎的资源释放逻辑

修复了以下 5 个可能导致下载问题的 Bug:

  • 大量下载时下载速度可能会越来越慢直至报错(#7007@SerinaNya
  • 可能报错尝试开始下载线程失败(#7029
  • BMCLAPI 下载可能由于 Too Many Request 判为失败(#7084@Evernight-Cyrene
  • 触发“由于速度过慢断开链接”可能导致下载卡在 99%(#7132@SkollClassic
  • 无法从 MCIM 源下载部分社区资源文件

其他更新内容

  • 允许在版本设置中设置禁止更新 Mod,以防整合包玩家误操作(#6610@USTC-XeF2,PR @wyc-26
  • 为整合包打包添加 TaCZ 枪包选项(#6978@Tianpao,PR @wyc-26
  • 禁止 PCL 以任何方式删除整个桌面、我的文档或磁盘根目录——有玩家把这些东西添加成 MC 文件夹,然后忽略警告把 MC 文件夹删了,我的妈呀(#7030,PR @wyc-26
  • 扩展 Java 搜索的支持范围(#7151,PR @lingting
  • 由于已不再需要,删除手动安装包下载功能
  • 优化更新失败时的提示信息
  • 更新 8 月赞助者列表,非常感谢大家的支持与鼓励!
  • 更新 Mod 数据库

崩溃分析优化:

Bug 修复

  • 整合包搜索中科幻类型没有结果(#1085@212112111zwl
  • 现代化 UI 的标题有意外的“主页”标记(#1567@SuoHouDaiShi
  • 错误分析误报 Night Config 存在问题,但实际上是配置文件损坏(#4068@a8791881,PR @wyc-26
  • 返回置顶可能报错“未找到合适的 RealScroll”(#5061@ZEFDERERF,PR @shatyuka
  • 若自定义主页内容在 Measure 或 Arrange 阶段出错,会导致 PCL 在打开时闪退(#5377@CreeperIsASpy
  • 极偶然情况下会错误提示加载 .minecraft 版本列表失败(#5617
  • 可能会高频率检查自定义主页版本(#6245@copytiao
  • 可能无法启动 1.20+:原版无反应,Forge 提示 Timed out trying to setup the Game Window(#6263,鸣谢 @TerseBanjo28710
  • 进入页面的动画偶尔与预期不一致(#6602@Emmm2333doge,PR @shatyuka
  • 登录失败:未将对象引用设置到对象的实例(#6683@Wait911
  • 背景音乐数量显示有误(#6855@YiLouwdkwxcy,PR @copytiao
  • 重命名版本失败会导致版本 json 文件被删除(#6876@ishohsi,PR @pynickle
  • 若导出整合包时版本被收藏,其他人导入后版本也会自动被收藏(#6908@misividkoukou,PR @wyc-26
  • 特定情况下无法更改皮肤(#7017
  • 若用被封禁的微软账户进行刷新登录,未正确显示错误说明(#7023,PR @pynickle
  • 部分登录超时的错误信息未明确提示是登录超时(#7025,PR @wyc-26#7135
  • 获取 Authlib-Injector 皮肤失败:离线 Uuid 无正版皮肤文件(#7033
  • 用于向后兼容的 IsSwaped 属性未正常生效(#7056,PR @Open-KFC
  • MyImage 下载图片可能存在线程冲突(#7112@Evernight-Cyrene
  • 将版本重命名为当前名称末尾加 _temp 导致出错(#7138@CN171-1
  • 参数设置无法正确处理换行(#7159@FQO3
  • 若获取 Authlib-Injector 下载信息失败,会在文件不存在时继续启动,导致游戏崩溃(#7161@copytiao
  • 重置启动设置会导致默认版本隔离设置被误修改

技术性调整

  • 清理代码中的两处中文逗号(#7050,PR @pynickle
  • 全面弃用 javaw.exe,改用 java.exe 来启动、安装游戏
  • 将所有网络请求都改为使用 ModNet 中的共用 HttpClient
  • MyImage.FallbackSource 现在只支持网络地址
  • 修改新闻主页预设的 URL

2.10.6

12 Aug 17:11

Choose a tag to compare

更新内容

重新启用 MCIM 社区资源镜像源(#6656,鸣谢 @z0z0r4

  • 如果在下载 Mod、整合包时出现问题,这应当会有所帮助……

对中国移动云盘导致的网络错误添加提示(#6586@JimmyKudo1015
输入服务器地址时,会自动将中文标点更换成英文的(#6970,PR @youzi-3222
移除在下载时返回 MC 版本选择页的提示(#6976,PR @copytiao
更换部分主页网址(@Light-Beacon@Deep-Dark-Forest@MFn233
帮助库编修(LTCatt/PCL2Help#428LTCatt/PCL2Help#429,PR @copytiao
匿名数据收集

  • 当下载失败、PCL 出错、游戏崩溃等事件时,PCL 会匿名上报情况,以通知龙猫 “哦吼,出错了”,让龙猫能更好地修 Bug……(PCL 不会上传或收集任何个人信息,包括上报的东西里面也没有!)
  • 你可以在设置中关闭上报,不过龙猫就不知道你遇到了什么 Bug 了……
  • 详情:#7036

Bug 修复

复制或剪切文本时可能会卡顿且无法正常复制(#5172@hxabcd,PR @ABA2396
解压整合包文件可能出现长路径问题(#6844
可能无法启动由 HMCL 安装的 Forge 版本(#6896@rjdxxxxxccc,PR @copytiao
正版登录中如果出现账号异常,不会正常提供错误信息(#6900@ShiHuaideqingxu
std in/out 编码参数可能被错误地忽略(#6934@copytiao
以特定方式拖入文件可能导致崩溃(#6950@bilixxb
特定情况下,可能无法进行正版登录(#6995@Alexei-mo
可能会把不是 Windows 用户名的日志给错误地打码了
下载失败时可能错误地将下载了一半的文件输出
部分主页预设无法访问

技术性调整

修改自定义启动参数设置的名称(#6904,PR @MoYuan-CN
IsSwaped 属性拼写错误,应为 IsSwapped(#6971,PR @pynickle
新 EventType "修改设置":允许修改 PCL 的一个设置项(#6973,PR @Light-Beacon

2.10.5

22 Jul 15:51

Choose a tag to compare

Bug 修复

无法添加新的正版账号
对 CurseForge 和 Modrinth 的超时时间过短

2.10.4

22 Jul 13:13

Choose a tag to compare

2.10.4 Pre-release
Pre-release

网络底层框架与下载稳定性优化

重构网络模块,全面换用 HttpClient(#6407,PR @shimoranla)
网络请求支持 HTTP 缓存协商(#6467@bangbang93
小文件缓存使用 MemoryStream 而非 Queue 以提高性能
当首次下载失败时,会关闭多线程下载并自动重试,以提高成功率
若获取 OptiFine 官方源版本列表失败,会自动重试 3 次
当多个下载源返回不一样的文件时,会自动选择正确的那一个

其他更新内容

Mod 管理支持直接按 Ctrl+A 全选(#4311@Louis-Harsune,PR @Open-KFC
从 Mod 管理页面跳转到下载时,自动搜索管理页面搜索框的内容(#6027@micrcraft,PR @wyc-26
在拖入文本或文件后,会自动将 PCL 窗口调到前面来(#6051@Open-KFC
支持识别更多无法登录微软账号的情况(#6140@misividkoukou,PR @baiyuexiao496
在将文件/文件夹删除到回收站时会显示系统删除弹窗(#6208@misividkoukou,PR @shimoranla)
支持识别一个罕见的 JVM 错误(#6584@TheColdWorld,PR @shimoranla)
更新资源筛选版本号至 1.21.8(#6585,PR @hongggggv
更新 PCL 仓库地址(#6626,PR @Light-BeaconLTCatt/PCL2Help#422,PR @wyc-26
下载资源时,会单独记忆每种资源上次下载到的文件夹,以防混淆(#6641@aeswda,PR @wyc-26
由于 OptiFabric 停更,现 1.20.5+ 的 Fabric 与 OptiFine 不再兼容(#6673@hongggggv,PR @MoYuan-CNLTCatt/PCL2Help#423,PR @hongggggv
优化版本 JSON 自动查找功能(#6677@naiyang921
优化修改正版皮肤和披风的菜单排布(#6717,PR @xrlzu
搜索 Java 时会搜索 .jdks 文件夹(#6795,PR @lingting
帮助库中添加对 NeoForge 的介绍(LTCatt/PCL2Help#418,PR @hongggggv
帮助库中添加从 PCL 中下载社区资源的介绍(LTCatt/PCL2Help#420,PR @WForst-Breeze
更新 6 月赞助者列表,感谢大家对 PCL 的大力支持!
更新 Mod 数据库

Bug 修复

以管理员权限运行时无法拖拽文件(#2531@George-Lvqr,PR @shimoranla)
无法启动 LabyMod(#3225@Geekmemz
特定情况下无法使用 Authlib-Injector 登录(#5252@PAKingdom,鸣谢 @shimoranla,PR @wyc-26
背景音乐数量错误地计入了非音乐文件(#5762@duoduo13123678,PR @CiiLu
显示弹窗时部分快捷键依然有效(#5952@666445
带 inheritsFrom 的版本 libraries 会被放到原版的后面,导致潜在的启动失败(#5978@Pigeon0v0
搜索部分老版本 Forge Mod 时,若没有结果会导致出错(#6692@MHIadg,PR @shatyuka
CurseForge 资源下载详情页面可能为空白(#6224@NAN-aNumBeR,鸣谢 @z0z0r4
部分原版光影无法显示其版本列表(#6439@beidiaojun123,PR @wyc-26
重命名版本时可能会修改不应重命名的内容(#6443@foxflyMC,PR @wyc-26
由于实体导致崩溃的分析结果说明存在歧义(#6560@mylittleblover
可能无法更新 CurseForge 模组(#6578@OcrSu
开源版龙猫蓝配色错误(#6588,@shimoranla,PR @wyc-26
从极老的版本更新后,版本隔离被错误地自动打开(#6590@B-Ceramix,鸣谢 @Open-KFC@LokmenoWer
会使用过高版本的 Java 启动 LiteLoader(#6608@VioletMiaw
离线登录的中文用户名提示在重启 PCL 后显示异常(#6627@shencike
微软登录提示存在语病(#6634@PaperCupCouldDo,PR @zkitefly
用户名带感叹号时可能无法运行 Java(#6639@unnisjaaljilbc,鸣谢 @00ll00,PR @LokmenoWer
第三方登录站点不支持 https 时无法获取皮肤(#6700@niuniuj,PR @shimoranla)
选择图片不能选择 jpeg 格式(#6774@yuchenwei28,PR @wyc-26
为 Java 参数添加双引号的方式有误(#6790,@shimoranla)
特定字符串可以绕开自定义主页对 xmlns 导入的检查(GHSA-x9wr-mgmx-3hqp@shatyuka
帮助库中对重生是希望的署名错了一个字(LTCatt/PCL2Help#425,PR @JIAZIYI007
重命名版本时可能遗漏文件名与文件夹名不符的版本 JSON
下载失败时部分线程未正常中断,导致临时文件未清理、文件计数错误
当下载源未提供文件大小信息时,无法下载大小超过 5G 的文件

技术性调整

开源版中,允许使用环境变量导入 API Key(#6505,PR @shimoranla)
自定义 XAML 教程添加“下载版本”自定义事件的介绍(LTCatt/PCL2Help#410,PR @shimoranla)
自定义启动参数允许使用 Minecraft 版本 JSON 中的字符串替换标记,如 ${library_directory}

2.10.3

17 Jun 08:58

Choose a tag to compare

修复了无法安装使用老版本 PCL 导出的部分整合包的 Bug。