Giter VIP home page Giter VIP logo

epherome's Introduction

Hi there 👋

epherome's People

Contributors

elabosak233 avatar encvar avatar frank-wang-2007 avatar resetpower avatar sansanneko avatar wynn-zeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

epherome's Issues

[Feature Request] 一些建议和问题

问题

  1. 在启动器百花齐放的时代,准备做什么特色功能来脱颖而出?
  2. 有没有打算打通在线服务?
    如果只是练手用 就当我没说

关于Mod控制与版本控制等

建议

这有一些功能建议以及解决方案

Mod 控制

Ehperome 需要一个mod控制功能,来启用或是关闭mod
一般通过文件后缀判断是否启用,以特定后缀代表关闭
可以使用JSON来进行管理,进行起来更为方便
建议语法

{
    "mod1": {
        "name": "example-mod",
        "description": "This is a example",
        "website": "https://github.com/ResetPower/Epherome/issues/new",
        "version": "0.0.1 Es 1",
        "enable": true
    }
}

以上信息均可读取mod的jar文件后获得
在fabric,可以直接从 ROOT\fabric.mod.json 读取mod信息

通过id和version以及mixins判断mod
即便文件名被更改也不影响JSON的关联性


但是forge中貌似并没有这样类似的文件(

游戏文件下载

这是最需要赶的一个功能了
游戏文件可以通过官方提供的链接或镜像下载

自动查找与下载java

在java默认文件夹以遍历搜索java.exe
通过java.exe位置重建java文件夹
对每个安装的java都进行次操作,即可获得正常的java路径

如果默认文件夹无java,则提示安装或者导入java.exe

同样建议以json存储java位置

太大

封装完上NSIS打包前,先精简掉一些无用组件,59MB真的可以让它进入我的回收站(目 标 达 成)

请审查启动检查流程

系统版本(不计入32位作业系统)
Windows 10 1809 Enterprise x64
Windows 10 1903 Enterprise x64
Windows 10 1909 Enterprise x64
Windows 10 2004 Enterprise x64
Windows 10 20H2 Enterprise x64
Windows 10 21H1 Enterprise x64
Windows 10 21H2 Enterprise x64
Windows 11 Insider Preview 21996 Enterprise x64
Windows 11 Insider Preview 22000.1 Enterprise x64
Windows 11 Insider Preview 22000.51 Enterprise x64
Windows 11 Insider Preview 22610 Enterprise x64
Windows 11 Release 22000.613 Professional x64
Windows 11 Insider Preview 25179.1000 Enterpise x64

不能正常启动
显示空白页或者报错 包含以下类型

QQ图片20220814192520
QQ图片20220814192531
QQ图片20220814192602

#问题反馈#

设定-->关于 中的minecraft下载文件夹日英显示反了

显示问题

开启开发者选项后,打开进程页面,这时点击右上角的开发者菜单后,查看日志的栏遮挡住了开发者菜单

Don't support Mojang account anymore?

Discussed in #54

Originally posted by ResetPower February 7, 2022
Minecraft will require a Microsoft account to play from 10th Mar 2022. I think the feature can be removed and Mojang accounts can be disabled.

作为库使用,生成自动化安装客户端的启动器

希望可以实现这样的效果
先命令行里

npm init epherome

然后写点代码

let eph = require("epherome")
let minecraftClient = eph.create("1.16.5")
eph.installJava("11")
minecraftClient.installForge("latest")
minecraftClient.installModPack("https://xxxxxxx.xx/modpack.zip")
minecraftClient.enterServer("Minecraft服务器", "xx.xxxxxxxx.xx")
minecraftClient.launch()

再到命令行

npm run build

生成二进制文件,打开后即安装java8,安装1.16.5和forge,从url下载整合包,然后自动启动并进入服务器

A Download Bug

When you have a download task in progress but not completed, click Cancel and then download again. You will find that the process and progress bar of the downloaded file is wrong.当你有一个下载任务正在进行却又没完成时,点击取消,然后重新下载。就会发现下载文件的进程和进度条错乱

亿些“小”问题和“小”建议

版本: Epherome v0.2.3




一、添加Java时如果该Java是唯一一个已知Java路径则自动选中

image




二、Linux下自动检测java路径时扫描一下/usr/lib/jvm/xxx/bin/java

也顺便读一下/etc/profile里面的JAVA_HOME




三、创建档案的页面,左侧按钮横向拉长居中,不要靠左(账户位置同理)

image




四、账户页面,每个账户用一个Card来存放而不是直接渲染在背景上

image




五、下载前先询问档案存储位置,随便往linux用户的主目录放东西会被打的

image




六、下载完成时弹窗提示或自动弹回主页面/档案编辑页面

image




七、主页面边距加大

image




Carbon yyds请你不要不识抬举[doge]

修改下载总进度算法

当前算法下,以文件数量作为指标计算,进度条增长不合理,应该以文件大小作为指标计算

自己发现的bug

0.0.3发行版之后的一些漏洞(在最新commit解决完之后会close这个commit

  • 微软账户登录发生错乱的时候应该显式在Dialog提醒用户而不是去控制台throw new Error……
  • 代码中对Windows和*nix文件分割符(\ /)的处理是潜在的bug

建议(望采纳

1.打开版本文件夹(这个可以更快速的配置游戏文件
2.检测mod文件夹(当然,你能启动forge再说
3.自动检测javaw(这点看情况吧
4.下载游戏版本时提供forge、lite、fabric、optifine的安装(必备,更新时间你自己决定
5.欢迎标语出现后,点击启动器任意地方自动收回
6.一言!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7.在某个地方写出来你的自定义搁哪里改

外观设定默认值变更

以下默认值可能用户体验更佳

  • 默认使用 Web-based 标题栏
  • 默认主题跟随系统

另外系统标题栏真的相当不协调,可以考虑完全删除该选项

麻烦优化一下Linux KDE启动速度

我的配置是:
OS: Arch Linux x86_64
Kernel: 5.10.15-arch1-1
Resolution: 1366x768
DE: Plasma 5.20.5
WM: KWin
CPU: Intel i5-7200U (4) @ 3.100GHz
GPU: NVIDIA GeForce 940MX
GPU: Intel HD Graphics 620
Memory: 9759MiB / 15875MiB

arch+kde启动太慢了,要将近两分钟(

各类问题总和

  • 下载失败的文件卡在那不动
  • 第一次进入epherome时mobx重载ui出毛病
  • title风格为epherome时……taskmanager点不动
  • options编辑页搜索需要toLowerCase

BREAK NEWS | 重大新闻

I used React to refactor Epherome, because I found that Vue has limited capabilities on desktop applications, and React's JSX can be more flexible. At the same time, I also adjusted the main development language from JavaScript to TypeScript. Thank you Watcher Starrer Forker for your support. After nearly two months of interruption, Epherome will adjust the frequency of commits in the future to achieve at least two commits a week (I only have time on weekends and I am still in junior high school. The school pays attention to strict management of grades, please forgive me)

我使用 React 重构了 Epherome,因为我发现 Vue 在桌面应用上的能力有限,而 React 的 JSX 可以更加灵活,与此同时我也将主要开发语言从 JavaScript 调整成了 TypeScript。感谢各位 Watcher Starrer Forker 的鼎力支持。经过近两个月的断更,Epherome 在今后会调整 commit 频率,做到至少一周 2 commit (我只有周末有时间,还在初中,学校很注重成绩管得很严,请见谅)

Discovery of version 0.0.1

Discovery of version 0.0.1

  1. The current javaw path needs to be filled in by yourself

2. Unable to start the special end (such as optifine end)

3. The version of the file should be filled in as JSON file name

  1. Download the game

  2. Identification of version isolation

  3. The interface can be made more neat and beautiful

Author's reply

1: The system environment variable Java will be detected in 0.0.2_ Path, if not detected, ask the user and prompt to download

2: Forge, Lite loader, fabric and optifine will be supported in 0.0.2

3: This may have some difficulties, and our JSON path format is < folder > / versions / < version > / < version >. JSON, and the jar path format is < folder > / versions / < version > / < version >. Jar. If so, do we have to fill in the jar file name? Is it necessary to fill in the folder name? It is a common rule of minecraft that the version folder and the JSON file name are consistent with the jar file name.

4: Support will be provided in 0.0.2 or 0.0.3

5: Support will be provided in 0.0.2

几个小问题&建议

人麻了

  • JAVA的添加时不时会识别错误(64位识别为32位
  • mojang登录有一定的不稳定性(需要我用一定的cps来点击登录)
  • 登录成功后过久未启动才询问密码,不需要多次询问
  • 提高一言api反应速度
  • 档案和用户中右侧的文字需要优化排版
  • 下载文件的日志可以放到进程管理中
  • 下载文件的总进度(而不是多少个文件)
  • 启动失败后弹出文本时增加自动换行以及滚动

催更

你给赶紧爷做微软登录[doge],密码框那里加个大写的提示(,mojang登录的用户名应该改成邮箱(

Theme Bug

在没开过eph的电脑上开eph,不会加载主题,白花花一片

Roadmap in two years (Maybe Bragging)

The content in parentheses after the version name is the codename of the version.
Empty parentheses after the version name mean the codename is undecided. (You can give me some advice!)

v0.3.0 (Binary Tree)
Target Release: December 2021
Greatly improve stability and safety. Make Epherome more friendly for humans in some details.
Add extensions to make Epherome more possible.
Add some basic functions.
Optimize some performance bottlenecks.

v0.4.0 (Prismarine)
Target Release: February 2022
This version is a special version to celebrate Epherome's first birthday!
Provide all features that a stronger Minecraft launcher should have.
Bundle some useful extensions if has.
Resolve users' issues as much as possible.

Stagnant until the start of July...

v0.5.0 (Netherite)
Target Release: July 2022
Marketplace for finding good Minecraft resources.
"Epherome Account" and a simple community inside Epherome.

v0.6.0 (Granite)
Target Release: August 2022

v0.7.0 (Blackstone)
Target Release: September 2022

v0.8.0 ()
Target Release: October 2022

v0.9.0 ()
Target Release: December 2022

v0.10.0 ()
This version is a special version to celebrate Epherome's second birthday!
Target Release: February 2023

Hope Epherome can keep alive until that time...

建议(Server Control)

image
希望能在点击玩家的同时显示更详细的信息,比如uuid,下载皮肤,这样的。也可以兼容以后开发的开服器插件,实现客户端显示玩家坐标所在维度等详细信息

[Prismarine] stuck on startup

when you are the first time to open Epherome Prismarine, you will stuck on the startup screen
seeing this (in the developer tools):
スクリーンショット 0004-02-09 14 36 03

The menu button is not available

System: Linux (arch x64)
When the title bar of the appearance option in the settings is set to Eph, the menu button at the top left corner is not available.

Bug记录

我还发现了一个错误,在Ubuntu下(可能其他系统也有可能)未选择档案,未选择账户的情况下仍会启动(虽然启动不了)

小问题和小建议

看到了这个启动器,感觉很新奇~ 并没有想要泼冷水,我想说想怎么写就怎么写,慢慢完善就好,反正最终目的又不是去取代hmcl、pcl、baka之类。

下载下来体验了一下,说说我遇到的问题和我觉得可能的改进方案~

  1. 新闻这个功能可以更完善,我的思路如下:
    • 可以添加新闻源(但我不知道有哪些专门给mc的新闻源)
    • 新闻类型的分类(因为现在的新闻看起来。。有点鸡肋,像是信息大杂烩,且全部来自mcbbs...)
    • 开关(可根据喜好启用或关闭新闻,毕竟有些人只是为了单纯启动个游戏,但我本身不反对加入新闻这种功能)
  2. Java 的自动检测有点问题,我在 C:\Program Files\Java 内安装了三个版本的 java,但点击自动检测之后显示路径重复。简单看了一下源码,问题应该出在 find-java-home 这个库上。试着用本地 node 试了一下发现,返回的结果就是启动器自带的 java??
    image
    image
    另外根据这个库的作者在 README 里面说的,

This module will first attempt to check for JAVA_HOME. If that's set it simply returns that value.

也就是说如果用户的电脑上设置了 JAVA_HOME 环境变量,那么这个自动检测会永远返回那个环境变量的值。。。我认为自动检测应该是事先扫描某一个目录(比如 C:\Program Files\Java),找到其中的有效 Java 然后呈现出一个列表让用户在添加新java的时候选择。

  1. UI的优化。看源码,好像布局是自己写的?这个布局和观感如果优化一下,那就非常舒适了~ 下面说说我个人的想法
    • image 图标与文字之间需要有间距,一般为接近 1em(具体根据观感而定哈)
    • image 字体和排版,字体可以选择比较大众的 Roboto,也可以选择 Inter,都是开源字体,当然也可以选择其它。但别用微软雅黑(或许是因为作者一直在用mac没有注意到这一点叭)。排版方面,尽量避免使用主题+冒号+内容的呈现方式,应使用类似于标题+正文的呈现方式,比如这样
      image
    • image 细节优化,比如这个选择框的 v 图标没有 margin-right,显得很不协调。

下面是我个人的UI构想,虽然做的比较粗糙,不过没关系只是为了供开发者参考~
image

0.0.1发现

1.目前的javaw路径需自行填写
2.无法启动特殊端(如optifine端
3.档案的版本填写应为json文件名填写
4.下载游戏
5.版本隔离的识别
6.界面可以做得更整齐美观

建议的功能

  1. 下载:目前下载存在缺陷

速度很慢
会有bug #42

  1. 下载中可添加的功能,多来一些实用的,比如说curseforge下载模组以及整合包。毕竟curseforge有的时候很忙以及智障的人机检测
  2. 新功能。我们在补窟窿的时候也要开发一些 ! 与众不同的实用的功能 !

现在很多主流启动器不是都有联机功能吗?我们也可以做!只不过可以换一种不同的方式

开服
YES!你没听错,我们可以把它做成一种单独的模块,或者说插件。可以不把它放到软件里。正好我看你们的插件库是空的 这正合适成为第一个插件!

为什么呢?

我们在为正版玩家做功能的同时也得兼顾一下离线玩家。
我记得 @Fantety 做过开服器,可以尝试一下。1 ↖懒得重新往上加了,备注在下面(深夜蹲坑同时想到的)。
4. UI

一个好的UI可以让你的启动器从废纸篓到废纸篓
——我

我们可以添加几种新的UI或者说让用户自定义UI,搞个上传互动的功能。

  1. 给我设个群管理
  2. 还可以添加整合包导出的功能(深夜蹲坑想到的)🧐 2 ↖下方备注
  3. 彩蛋
    可以放一些有趣的彩蛋进去,等待用户挖掘。

比如说愚人节可以搞个恶搞的东西
春节放个鞭炮之类的
既然我们对游戏做不了什么更改,那就对启动游戏的启动器做一些更改

也可以藏一串制作人员名单,在什么条件下触发

  1. 又一个下载bug #48

  2. 希望支持必应每日图片做壁纸
    动态壁纸
    和acrylic效果

  3. #84 建议

  4. #85 建议

  5. #91

  6. #92

  7. #100

  8. 希望能在等待游戏启动的时候有消息提示

  9. 希望添加拖拽.zip文件导入整合包功能

print("Hello Epherome")


给你来个目录吧,做好的打个勾doge)

Footnotes

  1. 这个开服器功能可以有支持下载服务端(spigot、原版这些)和插件的功能。不知道bukkit行不行。

  2. 整合包可以自定义的范围比较广,比如说整合包的格式(带不带启动器,能被什么启动器识别),作者id,作者网页;整合包的名字、版本、详细信息之类的。或者是选择整合包导出所包含的文件

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.