[Feature] 弃用隐藏启动器功能
Open
Nobody has claimed this yet.
enhancement
- Dominant language
- Java
- Stars
- 10.1k
- Forks
- 934
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 82
Description
概述 | Summary
弃用“游戏启动后隐藏启动器”和“隐藏启动器并在游戏结束后打开”两个选项。
作为替代,我们需要开发一个子项目作为独立进程来监视游戏进程状态,在游戏结束后负责分析游戏是否崩溃,并可选的重新拉起 HMCL。
原因 | Reason
- HMCL 在一些情况下隐藏后不能正常重新打开窗口(#1991);
- 虽然 HMCL 在隐藏时会尽可能清理内存,但依然可能会泄漏部分资源,而且 GC 也可能不会将内存返回给系统,这导致 HMCL 可能挤占游戏的可用资源。
详情 | Description
我们应当在 HMCL 中提供一个新的入口点,新的入口点可以在不初始化 HMCL 的大部分功能的情况下独立工作。
这是使用新的入口点时应当支持的功能:
- 监视游戏进程的状态,在游戏进程退出后负责分析游戏是否崩溃,弹出提示窗口,并可选的重新拉起 HMCL;
- 显示日志窗口;
- 支持作为 Yggdrasil 服务器运行,保证 HMCL 本体退出后依然能使用离线账户功能;
- 支持一些信息浮窗 UI。
原先在 HMCL 进程中完成的部分工作,应当转而通过创建新进程实现。
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by mapping the proposed new entry point and the standalone process described in the issue. Determine how game-process monitoring, crash analysis, log display, optional HMCL relaunch, Yggdrasil service support, and information overlays should be separated from the main HMCL process. Done requires an agreed design and implementation plan for these responsibilities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100