Skip to content

Commit 5c21964

Browse files
committed
⚡️ perf: add pay-for-minecraft tips
1 parent 1486719 commit 5c21964

File tree

7 files changed

+149
-115
lines changed

7 files changed

+149
-115
lines changed

docs/feature/oauth-for-yggdrasil.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
1-
# 通过 OAuth 访问 Yggdrasil API
1+
# Yggdrasil Connect / 通过 OAuth 访问 Yggdrasil API
22

3-
<!--@include: ../advanced/for-experts.template.md-->
3+
<!-- @include: @/advanced/for-experts.template.md -->
4+
<!-- @include: @/pay-for-minecraft.template.md -->
5+
6+
7+
---
8+
9+
> [!IMPORTANT] 🔎 草案正在审阅中
10+
> 此功能是 [Yggdrasil Connect 草案](https://github.com/yushijinhun/authlib-injector/issues/268) 的一部分,处于公开审阅阶段。
11+
>
12+
> 我们深知,这份草案绝非简单的几句话就能定夺,它的实现依赖于社区的共同努力.
13+
>
14+
> 我们充分尊重且欢迎社区提出的每一条具有建设性的意见。
15+
16+
> [!IMPORTANT] ♻️ 现有的传统 Yggdrasil API 短时间内不会终止服务
17+
> Yggdrasil Connect 和现有的传统 Yggdrasil API 会同时提供服务,以确保用户始终能够轻松、稳定地使用 LittleSkin 的服务。
18+
19+
> [!WARNING] 🐞 最终的方案可能有所不同
20+
> 在 Yggdrasil Connect 草案的最终实现方案中,可能会与当前版本有所不同。
21+
22+
---
423

524
authlib-injector 外置登录利用了 Minecraft 自带的 Yggdrasil 鉴权认证系统,已经成为了多人游戏中用户身份认证的主流手段之一。
625

docs/pay-for-minecraft.template.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
> [!DANGER] ⚠️ 这并不能代替正版
2+
> 请始终考虑购买正版的 Minecraft。
3+
>
4+
> 使用正版的 Minecraft 可以为你提供更省心的游玩体验。

docs/yggdrasil/authlib-injector.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ fetch('https://authlib-injector.yushi.moe/artifact/latest.json').then(r => r.jso
2525
> [!WARNING] 这不是插件,也不是 Mod
2626
> authlib-injector 使用方式较为特殊,将其 JAR 文件放入服务端的 `plugins/``mods/` 目录下不会有任何作用。
2727
28+
<!-- @include: @/pay-for-minecraft.template.md -->
29+
2830
## 获取 JAR 文件
2931

3032
<GetAuthlibInjector :latest="latest" :updated="updated" :download="download" />

docs/yggdrasil/client.md

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,37 @@
1-
# 在客户端配置 Yggdrasil 外置登录
2-
3-
> [!TIP] 在多人游戏中的提示
4-
> 为客户端配置 Yggdrasil 外置登录确实能起到「在多人游戏中加载皮肤」的作用,但是这是建立在服务端已经正确配置了外置登录的基础上的。
5-
>
6-
> 仅仅在客户端使用 LittleSkin 的外置登录服务并不能达到任何效果。
7-
>
8-
> 此外,LittleSkin 的外置登录并不能代替正版验证,也<mark>不能帮助你进入仅支持正版的服务器</mark>。
9-
10-
<NCard title="🤔 什么是外置登录?" link="/yggdrasil/#什么是外置登录" >
11-
与离线登录的区别 / 基本原理 / 优缺点 / ...
12-
</NCard>
13-
14-
## HMCL 3
15-
16-
![HMCL 3 操作流程](./assets/hmcl-3-5-5.webp)
17-
18-
> [!TIP] 无需再手动添加认证服务器
19-
> HMCL 3 已将 LittleSkin 添加为默认选项之一,直接点击相关界面中的 LittleSkin 选项即可。
20-
21-
1. 进入账户列表,在左侧菜单中选择 LittleSkin,填写你的邮箱和密码。
22-
23-
「用户名」即为你在 LittleSkin 的账号的邮箱,也可以是任意一个你拥有的角色名。
24-
25-
2. 选择你的游戏角色。
26-
27-
如果你只有一个角色,那么 HMCL 3 会默认选择那个唯一的角色。
28-
29-
如果你希望添加多个角色,你可以再次添加你的账号来添加其他角色。
30-
31-
:tada: 设置完成啦!你已经可以启动游戏了。
32-
33-
## BakaXL
34-
35-
TODO...
1+
# 在客户端配置 Yggdrasil 外置登录
2+
3+
<!-- @include: @/pay-for-minecraft.template.md -->
4+
5+
> [!TIP] 在多人游戏中的提示
6+
> 为客户端配置 Yggdrasil 外置登录确实能起到「在多人游戏中加载皮肤」的作用,但是这是建立在服务端已经正确配置了外置登录的基础上的。
7+
>
8+
> 仅仅在客户端使用 LittleSkin 的外置登录服务并不能达到任何效果。
9+
>
10+
> 此外,LittleSkin 的外置登录并不能代替正版验证,也<mark>不能帮助你进入仅支持正版的服务器</mark>。
11+
12+
<NCard title="🤔 什么是外置登录?" link="/yggdrasil/#什么是外置登录" >
13+
与离线登录的区别 / 基本原理 / 优缺点 / ...
14+
</NCard>
15+
16+
## HMCL 3
17+
18+
![HMCL 3 操作流程](./assets/hmcl-3-5-5.webp)
19+
20+
> [!TIP] 无需再手动添加认证服务器
21+
> HMCL 3 已将 LittleSkin 添加为默认选项之一,直接点击相关界面中的 LittleSkin 选项即可。
22+
23+
1. 进入账户列表,在左侧菜单中选择 LittleSkin,填写你的邮箱和密码。
24+
25+
「用户名」即为你在 LittleSkin 的账号的邮箱,也可以是任意一个你拥有的角色名。
26+
27+
2. 选择你的游戏角色。
28+
29+
如果你只有一个角色,那么 HMCL 3 会默认选择那个唯一的角色。
30+
31+
如果你希望添加多个角色,你可以再次添加你的账号来添加其他角色。
32+
33+
:tada: 设置完成啦!你已经可以启动游戏了。
34+
35+
## BakaXL
36+
37+
TODO...

docs/yggdrasil/index.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ LittleSkin 提供 Yggdrasil 验证鉴权服务,也被简单地称为外置登
77
> [!WARNING] 外置登录不是联机服务
88
> LittleSkin 可以在联机时提供皮肤和鉴权服务,但不提供联机服务本身。
99
10+
<!-- @include: @/pay-for-minecraft.template.md -->
11+
1012
## Yggdrasil API 地址
1113

1214
LittleSkin 的 Yggdrasil API 的地址是:
@@ -36,12 +38,13 @@ https://littleskin.cn/api/yggdrasil
3638
>
3739
> 如果你看不懂下面在说些什么,直接忽略这部分内容即可,这并不会影响你正常使用 LittleSkin 的基础功能。
3840
39-
4041
## 什么是外置登录?
4142

42-
没有正版 Minecraft 账户的玩家通常都会使用 **离线登录** 来启动游戏,Minecraft 服务端提供了启用离线模式的选项。
43+
<!-- @include: @/pay-for-minecraft.template.md -->
44+
45+
暂未购入正版 Minecraft 账户的玩家通常都会使用 **离线登录** 来启动游戏,Minecraft 服务端提供了启用离线模式的选项。
4346

44-
- 🏴‍☠️ 玩家只需要用户名即可进入服务端,服务端并不会验证进服玩家身份的合法性;
47+
- 🏴‍☠️ 玩家只需要用户名即可进入服务端,服务端并不会验证进服玩家身份的有效性;
4548
- 😕 玩家在游戏中的样貌只能是 Steve 或 Alex 之类的默认皮肤,而不能是自定义的材质。
4649

4750
为了让玩家在游戏中能欣赏到各自的皮肤,CustomSkinLoader 和 SkinsRestorer 等 Mod 或插件被广泛使用。
@@ -54,13 +57,13 @@ https://littleskin.cn/api/yggdrasil
5457

5558
上述现象都是离线登录机制导致的。如果使用正版登录,基本不用为之操劳。
5659

57-
**外置登录**如同正版登录一样,可以避开上述问题
60+
**外置登录**也可以避开上述问题
5861

5962
> 其实,在游戏内部,外置登录的工作方式几乎如正版登录一模一样。
6063
6164
如果将正版登录理解为游戏中官方的纯正的「内置登录」的话,那么「外置登录」的意思就很好理解了:
6265

63-
**<mark>将 Minecraft 官方的登录鉴权服务器地址,通过一些手段,替换为第三方的登录鉴权服务器地址。</mark>**
66+
**<mark>将 Minecraft 官方的登录鉴权服务器地址,替换为第三方的登录鉴权服务器地址。</mark>**
6467

6568
- 🔐 可控的鉴权
6669
- 👔 自定义皮肤 / 披风

docs/yggdrasil/multilogin.md

Lines changed: 75 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,75 @@
1-
---
2-
outline: [2, 3]
3-
---
4-
5-
# MultiLogin
6-
7-
> MultiLogin 是一款服务端插件, 功能是让您的服务器支持正版与多种外置登录共存, 用来连接两个或多个外置验证服务器下的玩家,让他们能在一起玩。
8-
9-
外置登录给服务器提供了类似正版的管理和登录方式,但对于一个拥有 Minecraft 正版账号的玩家来说,正版登录是更加简单方便的选择。如果你是一名服务器管理员,可以考虑选用下面的插件实现这种效果。
10-
11-
此插件专为服务端设计。服务器管理员可参考此文档:[GitHub / MultiLogin / wiki](https://github.com/CaaMoe/MultiLogin/wiki)
12-
13-
## 单服务端
14-
15-
我们建议直接参考 MultiLogin 的 [GitHub Wiki](https://github.com/CaaMoe/MultiLogin/wiki#%E7%AE%80%E5%8D%95%E9%85%8D%E7%BD%AE)
16-
17-
若只需要使用 Mojang 和 LittleSkin,仅限创建以下两个文件。
18-
19-
::: code-group
20-
21-
``` yaml:line-numbers [multilogin/services/offical.yml]
22-
# Below, only the most basic configuration is provided.
23-
# You can refer to the template file to complete all configurations.
24-
25-
# Please edit before use.
26-
id: 0
27-
28-
name: 'Official'
29-
# Don't change it unless you really want to.
30-
serviceType: OFFICIAL
31-
```
32-
33-
``` yaml:line-numbers [multilogin/services/littleskin.yml]
34-
# Below, only the most basic configuration is provided.
35-
# You can refer to the template file to complete all configurations.
36-
37-
# Please edit before use.
38-
id: 1
39-
40-
name: 'LittleSkin'
41-
# Don't change it unless you really want to.
42-
serviceType: BLESSING_SKIN
43-
yggdrasilAuth:
44-
blessingSkin:
45-
apiRoot: 'https://littleskin.cn/api/yggdrasil'
46-
```
47-
48-
:::
49-
50-
## Velocity <Badge type="tip" text="Minecraft 1.13 +" />
51-
52-
### 1. 配置 Velocity 转发
53-
54-
Modern forwarding 是 Velocity 支持的一种独创格式。它以高效的二进制格式转发所有玩家信息。但是,它仅适用于 Minecraft 1.13 或更高版本。
55-
56-
> [!TIP] 提示
57-
> 本文仅会对「为 Velocity modern forwarding 配置 LittleSkin 外置登录」做出说明。
58-
>
59-
> 本案例使用 Velocity + Paper + MultiLogin 作为示例。
60-
>
61-
> 具体的 Velocity 配置请结合参考 [Velocity 文档](https://docs.papermc.io/velocity/player-information-forwarding#configuring-modern-forwarding)
62-
63-
<!--@include: ./velocity.template.md-->
64-
65-
### 2. 配置 MultiLogin
66-
67-
- 对于 Velocity
68-
69-
安装 MultiLogin 插件,并按照 [MultiLogin 的官方文档](https://github.com/CaaMoe/MultiLogin/wiki)正确配置插件配置文件。
70-
71-
- 对于子服务器
72-
73-
仅需在 Velocity 正确配置 MultiLogin 插件即可,无需对子服进行修改。
1+
---
2+
outline: [2, 3]
3+
---
4+
5+
# MultiLogin
6+
7+
> MultiLogin 是一款服务端插件, 功能是让您的服务器支持正版与多种外置登录共存, 用来连接两个或多个外置验证服务器下的玩家,让他们能在一起玩。
8+
9+
外置登录给服务器提供了类似正版的管理和登录方式,但对于一个拥有 Minecraft 正版账号的玩家来说,正版登录是更加简单方便的选择。如果你是一名服务器管理员,可以考虑选用下面的插件实现这种效果。
10+
11+
此插件专为服务端设计。服务器管理员可参考此文档:[GitHub / MultiLogin / wiki](https://github.com/CaaMoe/MultiLogin/wiki)
12+
13+
<!-- @include: @/pay-for-minecraft.template.md -->
14+
15+
## 单服务端
16+
17+
我们建议直接参考 MultiLogin 的 [GitHub Wiki](https://github.com/CaaMoe/MultiLogin/wiki#%E7%AE%80%E5%8D%95%E9%85%8D%E7%BD%AE)
18+
19+
若只需要使用 Mojang 和 LittleSkin,仅限创建以下两个文件。
20+
21+
::: code-group
22+
23+
``` yaml:line-numbers [multilogin/services/offical.yml]
24+
# Below, only the most basic configuration is provided.
25+
# You can refer to the template file to complete all configurations.
26+
27+
# Please edit before use.
28+
id: 0
29+
30+
name: 'Official'
31+
# Don't change it unless you really want to.
32+
serviceType: OFFICIAL
33+
```
34+
35+
``` yaml:line-numbers [multilogin/services/littleskin.yml]
36+
# Below, only the most basic configuration is provided.
37+
# You can refer to the template file to complete all configurations.
38+
39+
# Please edit before use.
40+
id: 1
41+
42+
name: 'LittleSkin'
43+
# Don't change it unless you really want to.
44+
serviceType: BLESSING_SKIN
45+
yggdrasilAuth:
46+
blessingSkin:
47+
apiRoot: 'https://littleskin.cn/api/yggdrasil'
48+
```
49+
50+
:::
51+
52+
## Velocity <Badge type="tip" text="Minecraft 1.13 +" />
53+
54+
### 1. 配置 Velocity 转发
55+
56+
Modern forwarding 是 Velocity 支持的一种独创格式。它以高效的二进制格式转发所有玩家信息。但是,它仅适用于 Minecraft 1.13 或更高版本。
57+
58+
> [!TIP] 提示
59+
> 本文仅会对「为 Velocity modern forwarding 配置 LittleSkin 外置登录」做出说明。
60+
>
61+
> 本案例使用 Velocity + Paper + MultiLogin 作为示例。
62+
>
63+
> 具体的 Velocity 配置请结合参考 [Velocity 文档](https://docs.papermc.io/velocity/player-information-forwarding#configuring-modern-forwarding)
64+
65+
<!--@include: ./velocity.template.md-->
66+
67+
### 2. 配置 MultiLogin
68+
69+
- 对于 Velocity
70+
71+
安装 MultiLogin 插件,并按照 [MultiLogin 的官方文档](https://github.com/CaaMoe/MultiLogin/wiki)正确配置插件配置文件。
72+
73+
- 对于子服务器
74+
75+
仅需在 Velocity 正确配置 MultiLogin 插件即可,无需对子服进行修改。

docs/yggdrasil/server.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import { faUsers, faPlus } from '@fortawesome/free-solid-svg-icons'
88

99
# 在服务端配置 Yggdrasil 外置登录
1010

11+
<!-- @include: @/pay-for-minecraft.template.md -->
12+
1113
在 Minecraft 服务端侧,存在多种配置外置登录的方式。
1214

1315
---

0 commit comments

Comments
 (0)