Giter VIP home page Giter VIP logo

steve-xmh / scl Goto Github PK

View Code? Open in Web Editor NEW
155.0 5.0 12.0 60.43 MB

SharpCraftLauncher —— A super light, fast, clean minecraft launcher framework written in rust. 一个用 Rust 编写的无比轻量的,迅速的,简洁的启动器的附属框架们。

Home Page: https://steve-xmh.github.io/scl/index.html

License: GNU Lesser General Public License v3.0

Rust 100.00%
minecraft minecraft-launcher rust scl

scl's Introduction

scl-core logo

Sharp Craft Launcher Open Source Project

一个无比轻量,迅速,简洁的启动器的附属框架,包括启动器核心库,启动器组件库,启动器 WebView 框架还有更多!

预览图

MSRV 1.75.0

使用 Rust 编程语言编写,内存占用相当之小,性能相当之优秀,针对二进制大小做了力所能及的压缩优化。

原生跨平台,支持 Windows,Linux,MacOS 三大主流操作系统。

源代码架构

  • scl-core: 启动器核心库,包含了游戏启动,游戏下载,正版登录,模组下载等游戏操作功能
  • scl-webview: 启动器 WebView 网页浏览器库,提供了用于微软正版登录的浏览器窗口
  • scl-macro: 启动器过程宏库,包含了部分用于代码生成的过程宏代码,目前包含图标代码生成的简易过程宏
  • scl-gui-animation: 启动器图形页面动画函数库,包含了一些方便用来制作非线性动画的函数和工具类
  • scl-gui-widgets: 启动器图形页面组件库,基于 Druid 框架,提供了大量基于 WinUI3 设计规范制作的图形页面组件

关于开源协议和代码协作协议

结合 Rust 本身的单执行文件特性,本 SCL 项目使用 LGPL 3.0 开源协议 并免除静态链接的限制,详情可以查阅 COPYING 或者 参考译文

使用简单的说就是,你可以以静态链接本项目的库而不需要开放源代码。

考虑到 SCL 的自身开发情况,如果你需要贡献代码到本仓库,你将默认无条件同意 SteveXMH 使用你所贡献的代码盈利且不可撤销,盈利方式包括但不限于:爱发电支持,微信支付宝等。

故如果同意本贡献协议,请在第一次提交 PR 时在备注中写明以下文字(可复制粘贴,请将[Github账户ID]更换成自己的 Github 账户 ID):

[Github账户ID]无条件同意[SteveXMH](https://github.com/Steve-xmh)使用[Github账户ID]所贡献的代码以任何形式盈利且不会撤销。

版本计划表

1.0 计划表

  • 1.6+ 的纯净版本支持
  • 1.6+ 的第三方版本支持
  • 1.6+ 游戏下载
  • 游戏版本高级设置及其它选项
    • 模组管理
    • 自定义启动参数
  • 1.6+ Curseforge 模组下载
  • Modrinth 模组下载
  • 离线登录
  • 正版登录(Mojang)
  • 正版登录(Microsoft)
  • 第三方登录(统一通行证)
  • 第三方登录(Authlib-Injector)
  • 更换下载源(BMCLAPI MCBBS MC)
  • 多 .minecraft 文件夹
  • MacOS 支持
  • 代码结构优化(目前代码还是很乱,命名也不太规范)
  • 可视化主题设置(因 Druid 的内存泄露 BUG 无期限推迟此功能)

2.0 计划表

  • 移植 UI 到 FLTK-RS
  • Linux 使用 MUSL 编译
  • Linux 只留一个 Webkit2GTK 依赖或做成动态导入
  • 可视化主题设置
  • 后台任务可中断
  • 应用程序体积优化

与 SCL 有关联的项目

这里列出了由作者自行开发/二次开发的一些项目,它们都将计划用在 SCL 启动器的开发中。一部分项目使用的是更加宽松甚至是 CC0 的开源共享协议,所以请随意使用吧!

  • optifine-installer: 一个可安装几乎所有 1.7.2+ Optifine 的命令行安装器模块,支持指定安装的版本名称,可以用于启动器的 Optifine 安装自动化。使用 CC0 开源协议开源。
  • forge-install-bootstrapper: 一个基于 bangbang93/forge-install-bootstrapper 的改版,目的是支持 Forge 全部版本安装器的自动化安装(自 1.5.2 以来的任何提供安装器的版本)
  • alhc: 一个正在开发中的轻量级系统异步 HTTP 客户端框架,通过调用系统自带的框架实现 HTTP 请求并实现异步

支持

作者自 2021 年 1 月开始做到了现在的项目,喜欢的话请给一个 Star 吧!

如果有能力的话,来爱发电为我发电支持吧

scl's People

Contributors

steve-xmh avatar zkitefly 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

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.