-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathatom.xml
More file actions
123 lines (61 loc) · 37.4 KB
/
atom.xml
File metadata and controls
123 lines (61 loc) · 37.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Alsojiangshi</title>
<link href="https://alsojiangshi.top/atom.xml" rel="self"/>
<link href="https://alsojiangshi.top/"/>
<updated>2025-11-06T14:30:56.623Z</updated>
<id>https://alsojiangshi.top/</id>
<author>
<name>Alsojiangshi</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>简易字幕文件制作教程</title>
<link href="https://alsojiangshi.top/posts/5/"/>
<id>https://alsojiangshi.top/posts/5/</id>
<published>2025-10-05T07:38:40.000Z</published>
<updated>2025-11-06T14:30:56.623Z</updated>
<content type="html"><![CDATA[<p><img src="http://cloud.alsojiangshi.top:25565/i/ab4d0aaf-6997-4fd4-b08f-b6ca9f1b4f62.jpg" alt="Cover"></p><h1 id="简易字幕文件制作教程"><a href="# 简易字幕文件制作教程" class="headerlink" title="简易字幕文件制作教程"></a>简易字幕文件制作教程</h1><blockquote><p>用文本编辑器写字幕</p></blockquote><h2 id="准备"><a href="# 准备" class="headerlink" title="准备"></a>准备</h2><ul><li>任意文本编辑器</li><li>任意一段视频</li><li>播放器:MPC-HC / VLC / mpv 均可加载 ASS</li></ul><h2 id="SRT"><a href="#SRT" class="headerlink" title="SRT"></a>SRT</h2><h3 id="基础概念"><a href="# 基础概念" class="headerlink" title="基础概念"></a>基础概念 </h3><p>SRT 是最简单的字幕格式。<br> 每条字幕由三部分组成:</p><ol><li>序号</li><li>时间区间(开始 → 结束)</li><li>文本内容</li></ol><h3 id="示例"><a href="# 示例" class="headerlink" title="示例"></a>示例 </h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">1</span><br><span class="line">00:00:01,000 --> 00:00:03,000</span><br><span class="line"> 这是第一条字幕 </span><br><span class="line"></span><br><span class="line">2</span><br><span class="line">00:00:03,500 --> 00:00:06,000</span><br><span class="line"> 这是第二条字幕</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>保存为 <code>demo.srt</code><br> 在播放器中加载即可显示。</p><p>或者也有更简单的方法:</p><p> 将字幕文件与视频命名为同一个名字并放到同一路径下,播放器一般会自动加载。</p><p> 这也是更常用的方法。</p><blockquote><p>e.g.:SRT 没有特效,只有时间和文字。</p></blockquote><h1 id="ASS- 字幕格式快速入门指南"><a href="#ASS- 字幕格式快速入门指南" class="headerlink" title="ASS 字幕格式快速入门指南"></a>ASS 字幕格式快速入门指南 </h1><p>ASS(Advanced Substation Alpha)是一种功能强大的字幕格式,它允许用户对字幕的<strong> 样式、定位和动画 </strong> 进行精确控制。</p><h2 id="为什么使用 -ASS?"><a href="# 为什么使用 -ASS?" class="headerlink" title="为什么使用 ASS?"></a>为什么使用 ASS?</h2><p>相比简单的 SRT 格式,ASS 的强大之处在于:</p><ul><li><strong>精美样式控制:</strong> 可自定义字体、大小、颜色、描边、阴影等。</li><li><strong>准确屏幕定位:</strong> 可使用坐标精确控制字幕在画面上的位置。</li><li><strong>丰富动画特效:</strong> 支持淡入淡出、移动、卡拉 OK 等多种高级效果。</li></ul><h2 id="ASS- 字幕的基本结构"><a href="#ASS- 字幕的基本结构" class="headerlink" title="ASS 字幕的基本结构"></a>ASS 字幕的基本结构</h2><p>ASS 文件主要由三个核心区块组成:</p><table><thead><tr><th><strong>区块名称</strong></th><th><strong>作用</strong></th><th><strong>关键信息</strong></th></tr></thead><tbody><tr><td><code>[Script Info]</code></td><td>脚本信息</td><td>定义字幕文件的基本属性。</td></tr><tr><td><code>[V4+ Styles]</code></td><td><strong>样式定义</strong></td><td>定义字幕的样式模板(如字体、颜色、大小)。</td></tr><tr><td><code>[Events]</code></td><td><strong>事件(字幕)</strong></td><td>包含每一句字幕的 <strong> 时间、内容、使用的样式 </strong> 和<strong>特效</strong>。</td></tr></tbody></table><h3 id="样式定义 -V4-Styles"><a href="# 样式定义 -V4-Styles" class="headerlink" title="样式定义 ([V4+ Styles])"></a>样式定义 (<code>[V4+ Styles]</code>)</h3><p>这一区块定义了一个或多个可重复使用的样式模板。</p><p>代码段</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Style: Default, 微软雅黑,40,&H00FFFFFF,&H001122FF,&H00000000,&H64000000,0,0,0,0,100,100,0,0,1,2,0,2,10,10,10,1</span><br></pre></td></tr></table></figure><ul><li><strong><code>Default</code></strong>: 样式名称。</li><li><strong><code>微软雅黑</code></strong>: 字体名称。</li><li><strong><code>40</code></strong>: 字体大小。</li><li><code>&H00FFFFFF</code>: 主颜色(Primary Color)。</li></ul><h3 id="事件 - 字幕行 -Events"><a href="# 事件 - 字幕行 -Events" class="headerlink" title="事件 / 字幕行 ([Events])"></a>事件 / 字幕行 (<code>[Events]</code>)</h3><p>这一区块定义了字幕的内容和出现时间。</p><p>代码段</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Dialogue: 0,0:00:01.00,0:00:03.00,Default,,0,0,0,, 这是 ASS 字幕!</span><br></pre></td></tr></table></figure><ul><li><code>0:00:01.00</code>: 字幕开始时间。</li><li><code>0:00:03.00</code>: 字幕结束时间。</li><li><code>Default</code>: 使用的样式名称。</li><li><code>这是 ASS 字幕!</code>: 字幕文本内容。</li></ul><h2 id="常用特效语法速查表"><a href="# 常用特效语法速查表" class="headerlink" title="常用特效语法速查表"></a>常用特效语法速查表 </h2><p> 特效指令通常被称为 <strong> 覆盖标签 (Override Tags)</strong>,必须放在字幕文本前的 <strong> 大括号 <code>{}</code></strong> 中。</p><table><thead><tr><th><strong>功能</strong></th><th><strong>指令</strong></th><th><strong>说明</strong></th></tr></thead><tbody><tr><td><strong>淡入淡出</strong></td><td><code>{\fad(in,out)}</code></td><td><code>in</code> 是淡入毫秒数,<code>out</code> 是淡出毫秒数。</td></tr><tr><td><strong>移动</strong></td><td><code>{\move(x1,y1,x2,y2,t1,t2)}</code></td><td>从 <code>(x1, y1)</code> 移动到 <code>(x2, y2)</code>。<code>t1, t2</code> 是可选的时间范围(毫秒)。</td></tr><tr><td><strong>定位</strong></td><td><code>{\pos(x,y)}</code></td><td>将字幕固定在指定坐标 <code>(x, y)</code>。</td></tr><tr><td><strong>对齐</strong></td><td><code>{\anN}</code></td><td>改变字幕对齐方式。<code>N</code> 为数字(1-9),如 <code>\an5</code> 是屏幕居中。</td></tr><tr><td><strong>字体颜色</strong></td><td><code>{\c&HBBGGRR&}</code></td><td>设置主色。颜色格式为 <strong>BGR</strong> (蓝绿红),不是常见的 RGB。</td></tr><tr><td><strong>卡拉 OK</strong></td><td><code>{\kN}</code></td><td><strong>逐字变色 </strong> 效果。<code>N</code> 是该字变色所需的 <strong> 百分之一秒 (centisecond)</strong>,例如 <code>\k20</code> 是 200 毫秒。</td></tr><tr><td><strong>文本示例</strong></td><td></td><td></td></tr><tr><td><strong>淡入示例</strong></td><td><code>{\fad(300,300)} 欢迎来到字幕的世界!</code></td><td></td></tr><tr><td><strong>移动示例</strong></td><td><code>{\move(100,600,300,600)} 这是在动的文字</code></td><td></td></tr></tbody></table><h2 id="ASS 字幕文件内容示例"><a href="#ASS 字幕文件内容示例" class="headerlink" title="ASS 字幕文件内容示例"></a>ASS 字幕文件内容示例</h2><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line">[Script Info]</span><br><span class="line">Title: Advanced Demo Subtitle</span><br><span class="line">ScriptType: v4.00+</span><br><span class="line">WrapStyle: 0</span><br><span class="line">PlayResX: 1280</span><br><span class="line">PlayResY: 720</span><br><span class="line">; 这是一条注释</span><br><span class="line">[V4+ Styles]</span><br><span class="line">; Style: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding</span><br><span class="line">Style: Default,Microsoft YaHei,48,&H00FFFFFF,&H000000FF,&H00000000,&H64000000,-1,0,0,0,100,100,0,0,1,2,2,2,30,30,30,1</span><br><span class="line">Style: MovingText,Arial,55,&H00CCFFCC,&H000000FF,&H00000000,&H64000000,-1,0,0,0,100,100,0,0,1,2,2,7,50,50,50,1</span><br><span class="line">Style: Karaoke,Consolas,60,&H00FFC0CB,&H000000FF,&H00000000,&H64000000,-1,0,0,0,100,100,0,0,1,3,3,8,30,30,30,1</span><br><span class="line"></span><br><span class="line">[Events]</span><br><span class="line">; Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text</span><br><span class="line"></span><br><span class="line">; 1. 简单的淡入淡出特效 (居中底部)</span><br><span class="line">Dialogue: 0,0:00:01.00,0:00:03.00,Default,,0,0,0,,{\fad(300,300)} 这是带有 300 毫秒淡入淡出效果的文字。</span><br><span class="line"></span><br><span class="line">; 2. 移动特效 (从左上角移动到右上角,使用自定义样式)</span><br><span class="line">Dialogue: 0,0:00:03.50,0:00:06.00,MovingText,,0,0,0,,{\move(100,100,1180,100)} 这句文字会在屏幕顶部横向移动。</span><br><span class="line"></span><br><span class="line">; 3. 卡拉 OK 特效 (使用自定义样式,卡拉 OK 效果适用于唱歌或强调)</span><br><span class="line">; \k100 表示每隔 100 厘秒(1.0 秒)变色一次。</span><br><span class="line">Dialogue: 0,0:00:06.50,0:00:09.50,Karaoke,,0,0,0,,{\k100} 字 {\k100} 幕 {\k100} 也能唱歌~ {\k100} 逐字变色 {\k100} 很炫酷!</span><br></pre></td></tr></table></figure><h2 id="FFmpeg- 应用示例(硬编码)"><a href="#FFmpeg- 应用示例(硬编码)" class="headerlink" title="FFmpeg 应用示例(硬编码)"></a>FFmpeg 应用示例(硬编码)</h2><p>要将 ASS 字幕永久地嵌入视频中,可以使用 <code>FFmpeg</code> 的 <code>ass</code> 滤镜:</p><p>Bash</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ffmpeg -i input.mp4 -vf <span class="string">"ass=test.ass"</span> output.mp4</span><br></pre></td></tr></table></figure><p>参考链接:</p><ol><li><a href="https://github.com/weizhenye/ASS/wiki/ASS-%E5%AD%97%E5%B9%95%E6%A0%BC%E5%BC%8F%E8%A7%84%E8%8C%83">github/ASS-wiki- 字幕格式规范</a></li><li><a href="https://en.wikipedia.org/wiki/SubStation_Alpha">Wikipedia/ass</a></li></ol>]]></content>
<summary type="html"><p><img src="http://cloud.alsojiangshi.top:25565/i/ab4d0aaf-6997-4fd4-b08f-b6ca9f1b4f62.jpg" alt="Cover"></p>
<h1 id="简易字幕文件制作教程"><a href="#</summary>
<category term="Noob" scheme="https://alsojiangshi.top/tags/Noob/"/>
<category term="Guide" scheme="https://alsojiangshi.top/tags/Guide/"/>
</entry>
<entry>
<title>使用 Docker 快速部署 Blessing Skin Server</title>
<link href="https://alsojiangshi.top/posts/3/"/>
<id>https://alsojiangshi.top/posts/3/</id>
<published>2025-09-20T12:01:43.000Z</published>
<updated>2025-09-20T12:09:20.857Z</updated>
<content type="html"><![CDATA[<p><img src="https://media.githubusercontent.com/media/bs-community/logo/main/logo.png" alt="cover"></p><h1 id="前言"><a href="# 前言" class="headerlink" title="前言"></a>前言</h1><blockquote><p>Blessing Skin 是一款能让您上传、管理和分享您的 Minecraft 皮肤和披风的 Web 应用程序。与修改游戏材质包不同的是,所有人都能在游戏中看到各自的皮肤和披风(当然,前提是玩家们要使用同一个皮肤站)。</p><p>Blessing Skin 是一个开源的 PHP 项目,这意味着您可以自由地在您的服务器上部署它。</p></blockquote><p>本篇教程展示如何使用 <code>docker</code> 快速搭建并上线一个 BSS 皮肤站</p><h1 id="正文"><a href="# 正文" class="headerlink" title="正文"></a>正文 </h1><h2 id="部署容器"><a href="# 部署容器" class="headerlink" title="部署容器"></a> 部署容器 </h2><p> 本教程使用的镜像为非官方镜像<code>feilongproject/blessing-skin-server:6.0.2-1.0.0</code></p><p>首先让我们在宿主机拉取镜像并创建运行容器实例</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">docker run -d --name < 容器名 > \</span><br><span class="line"> -v ./bss_data:/var/www/blessing-skin \</span><br><span class="line"> feilongproject/blessing-skin-server:6.0.2-1.0.0</span><br></pre></td></tr></table></figure><p>这里我填的容器名为<code>alsoskin</code>,挂载到了<code>./bss_data</code>,你填你喜欢的就好。</p><p>如果不进行 <code>-v</code> 挂载,删除容器时你未挂载的数据将会丢失,建议挂载。你也可以像这样分开挂载</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">-v ./bss_env/.env:/var/www/blessing-skin/.env \</span><br><span class="line">-v ./bss_storage:/var/www/blessing-skin/storage \</span><br><span class="line">-v ./bss_uploads:/var/www/blessing-skin/public/uploads</span><br></pre></td></tr></table></figure><p>将你的容器连接到你能连接的网络里,就可以通过内网地址先进行访问了。</p><p>在这里,我的 PC 和容器都连接到了我提前自定义的 <code>lan</code> 网络,处于同一网段<code>192.168.50.x</code></p><table><thead><tr><th align="center">Name</th><th align="center">IPv4 Address</th></tr></thead><tbody><tr><td align="center">alsoskin</td><td align="center">192.168.50.5</td></tr><tr><td align="center">My PC</td><td align="center">192.168.50.x</td></tr></tbody></table><blockquote><p>[!NOTE]</p><p>如果你没有手动创建 <code>lan</code> 网络,可以用默认的 <code>bridge</code> 网络,或者用 <code>docker network create lan</code> 来新建一个。这个网络我是用来连接我部署了 <code>frp</code> 的容器的。</p></blockquote><p>打开浏览器,在导航栏输入 <code>192.168.50.5</code> 即可访问皮肤站看到欢迎页面</p><p><img src="https://i.loli.net/2020/07/07/WGu1oVlTF6AJOw9.png" alt="welcome"></p><p><del>懒得截图,直接复用官方用户手册的图了,</del>由于镜像的版本是<code>6.0.2</code>,你们看到的不长这样但差不太多。</p><p>接下来按页面提示的做就好。</p><p>在选择数据库处,我选择的是<code>PostgreSQL</code>,因此我使用其镜像</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">docker run -d \</span><br><span class="line"> --name < 数据库容器名 > \</span><br><span class="line"> --network < 加入的网络 > \</span><br><span class="line"> -e POSTGRES_USER=< 用户名 > \</span><br><span class="line"> -e POSTGRES_PASSWORD=< 你的密码 > \</span><br><span class="line"> -e POSTGRES_DB=< 数据库名 > \</span><br><span class="line"> -v ./pgdata:/var/lib/postgresql/data \</span><br><span class="line"> postgres:15</span><br></pre></td></tr></table></figure><p>这里我数据库容器名写的是<code>blessing-postgres</code>, 加入的网络是<code>lan</code>, 用户名和数据库名我写的是<code>alsoskin</code>,也就是</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">docker run -d \</span><br><span class="line"> --name blessing-postgres \</span><br><span class="line"> --network lan \</span><br><span class="line"> -e POSTGRES_USER=alsoskin \</span><br><span class="line"> -e POSTGRES_PASSWORD=xxx \</span><br><span class="line"> -e POSTGRES_DB=alsoskin \</span><br><span class="line"> -v ./pgdata:/var/lib/postgresql/data \</span><br><span class="line"> postgres:15</span><br></pre></td></tr></table></figure><blockquote><p>[!NOTE]</p><p>如果你 <del> 和我一样 </del> 不熟悉 <code>PostgreSQL</code>,建议用户名和数据库名写成一样的,或者干脆使用别的数据库。注意密码不要包含<code>#</code>、空格、<code>$</code> 等特殊字符,可以先用简单密码,等后面再改</p></blockquote><p>附上刷新配置缓存的命令,你可能会用到的</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">php artisan config:clear</span><br><span class="line">php artisan cache:clear</span><br></pre></td></tr></table></figure><h2 id="常见配置调整"><a href="# 常见配置调整" class="headerlink" title="常见配置调整"></a>常见配置调整 </h2><h3 id="插件市场链接修改"><a href="# 插件市场链接修改" class="headerlink" title="插件市场链接修改"></a> 插件市场链接修改 </h3><p> 原镜像的插件市场链接可能无法访问,需要修改为目前 <a href="https://github.com/bs-community/blessing-skin-server"> 官方 </a> 的<code>33055ec</code>分支的 <code>/config/plugins.php</code> 里的 <a href="https://github.com/bs-community/blessing-skin-server/blob/33055ecbf97bdef8c5798f48bbfe97535f182b28/config/plugins.php#L36"> 链接</a>:</p><figure class="highlight php"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">'registry'</span> => <span class="title function_ invoke__">env</span>(</span><br><span class="line"> <span class="string">'PLUGINS_REGISTRY'</span>,</span><br><span class="line"> <span class="string">'https://bs-plugins.littleservice.cn/registry_{lang}.json'</span></span><br><span class="line">),</span><br></pre></td></tr></table></figure><p>修改后记得刷新配置缓存</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">php artisan config:clear</span><br><span class="line">php artisan cache:clear</span><br></pre></td></tr></table></figure><h3 id="设置 JWT-SECRET"><a href="# 设置 JWT-SECRET" class="headerlink" title="设置 JWT_SECRET"></a>设置 JWT_SECRET</h3><p>参见这句 <a href="https://github.com/bs-community/blessing-skin-server/blob/dev/config/jwt.php#L18"> 提醒</a></p><figure class="highlight php"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment">|--------------------------------------------------------------------------</span></span><br><span class="line"><span class="comment">| JWT Authentication Secret</span></span><br><span class="line"><span class="comment">|--------------------------------------------------------------------------</span></span><br><span class="line"><span class="comment">|</span></span><br><span class="line"><span class="comment">| Don't forget to set this in your .env file, as it will be used to sign</span></span><br><span class="line"><span class="comment">| your tokens. A helper command is provided for this:</span></span><br><span class="line"><span class="comment">| `php artisan jwt:secret`</span></span><br><span class="line"><span class="comment">|</span></span><br><span class="line"><span class="comment">| Note: This will be used for Symmetric algorithms only (HMAC),</span></span><br><span class="line"><span class="comment">| since RSA and ECDSA use a private/public key combo (See below).</span></span><br><span class="line"><span class="comment">|</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"></span><br><span class="line"><span class="string">'secret'</span> => <span class="title function_ invoke__">env</span>(<span class="string">'JWT_SECRET'</span>),</span><br></pre></td></tr></table></figure><p>默认不添加该字段的话,会导致该值为空,启动器无法登录账号</p><p>我们现在修改 <code>.env</code>,添加<code>JWT_SECRET</code> 字段。</p><p>这是一串随机字符,我们可以通过 Laravel 自带的命令生成并写入 <code>.env</code></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">php artisan jwt:secret</span><br></pre></td></tr></table></figure><p>也可以手动</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">openssl rand -hex 32</span><br></pre></td></tr></table></figure><p>来随机生成一段 32 字节的,然后放到<code>.env</code></p><p>修改 <code>.env</code> 的方法有很多,例如,我们可以通过 <code>cp</code> 将容器中的 <code>.env</code> 拷贝出来到宿主机修改后再拷贝回去</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker <span class="built_in">cp</span> < 皮肤站容器名 >:/var/www/blessing-skin/.env ./bssenv</span><br><span class="line">nano bssenv</span><br><span class="line"><span class="comment"># 在末尾换行,添加 JWT_SECRET=< 你的随机字符 ></span></span><br><span class="line"><span class="comment"># Ctrl+O 进行保存,按下 enter 确认</span></span><br><span class="line"><span class="comment"># Ctrl+X 关闭</span></span><br><span class="line"><span class="built_in">sudo</span> docker <span class="built_in">cp</span> ./bssenv < 皮肤站容器名 >:/var/www/blessing-skin/.env</span><br></pre></td></tr></table></figure><p>然后连接进入容器中输入以下命令刷新配置缓存或重启容器</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">php artisan config:clear</span><br><span class="line">php artisan cache:clear</span><br></pre></td></tr></table></figure><h2 id="外网访问与 https 配置"><a href="# 外网访问与 https 配置" class="headerlink" title="外网访问与 https 配置"></a>外网访问与 https 配置 </h2><p> 要实现外网可以使用 <code>https</code> 访问我们的皮肤站,我们需要 <code>ssl</code> 证书。至于如何让外网能够访问,有很多方法。这里由于我的皮肤站部署在我的本地物理机,使用的是通过 <code>frp</code>,将流量转发到<code>vps</code> 的方法物理机 -<code>vps</code>这一段我使用的是 <code>frp</code> 自带的加密,这里讨论的是外网 -<code>vps</code>的这段。</p><p>我选择 <code>nginx</code> 反向代理 +<code>Let's Encrypt</code>签发证书</p><p>这个的教程很多,我这里就不再赘述。</p><blockquote><p>[!NOTE]</p><p>如果你打算使用非默认端口 <code>443</code> 进行 <code>https</code> 访问的话:</p><ul><li>记得将 <code>nginx</code> 的配置文件里 <code>ssl</code> 监听端口的那个 <code>443</code> 改为你打算使用的端口</li><li><code>proxy_set_header Host $host;</code>这里,将 <code>$host</code> 改为 <code>$http_host</code>,否则不会将端口传下去,从而导致在试图<code>https</code> 访问皮肤站时,出现“发送了无效的响应 <code>ERR_SSL_PROTOCOL_ERROR</code>”</li></ul></blockquote><h1 id="完成"><a href="# 完成" class="headerlink" title="完成"></a>完成 </h1><p> 至此,一个基本可用的 Blessing Skin Server 就搭建完成了。</p><p>后续可以在管理面板里安装插件、美化主题,或者接入外部认证系统。</p><h2 id="相关链接"><a href="# 相关链接" class="headerlink" title="相关链接"></a>相关链接</h2><p> <a href="https://blessing.netlify.app/">Blessing Skin 手册 | Blessing Skin 用户手册</a></p><p><a href="https://blessing.netlify.app/yggdrasil-api/">Yggdrasil API | Blessing Skin 用户手册</a></p><p><a href="https://hub.docker.com/r/feilongproject/blessing-skin-server">feilongproject/blessing-skin-server - Docker Image | Docker Hub</a></p>]]></content>
<summary type="html"><p><img src="https://media.githubusercontent.com/media/bs-community/logo/main/logo.png" alt="cover"></p>
<h1 id="前言"><a href="# 前言" class="h</summary>
<category term="Minecraft" scheme="https://alsojiangshi.top/categories/Minecraft/"/>
<category term="Minecraft" scheme="https://alsojiangshi.top/tags/Minecraft/"/>
<category term="Guide" scheme="https://alsojiangshi.top/tags/Guide/"/>
<category term="BSS" scheme="https://alsojiangshi.top/tags/BSS/"/>
<category term="Docker" scheme="https://alsojiangshi.top/tags/Docker/"/>
</entry>
<entry>
<title>Minecraft 纯萌新入坑指南</title>
<link href="https://alsojiangshi.top/posts/2/"/>
<id>https://alsojiangshi.top/posts/2/</id>
<published>2025-08-12T16:50:21.000Z</published>
<updated>2025-08-13T15:36:24.347Z</updated>
<content type="html"><![CDATA[<p><img src="https://www.minecraft.net/content/dam/minecraftnet/games/minecraft/key-art/Homepage_Discover-our-games_MC-Vanilla-KeyArt_864x864.jpg" alt="cover"></p><h1 id="前言"><a href="# 前言" class="headerlink" title="前言"></a>前言 </h1><p> 本篇指南主要针对纯萌新。下面我们将一步步展示如何通过 PCL2 启动器游玩 Minecraft Java 版<br>(国际电脑版)</p><h1 id="正文"><a href="# 正文" class="headerlink" title="正文"></a>正文 </h1><h2 id="Java- 安装"><a href="#Java- 安装" class="headerlink" title="Java 安装"></a>Java 安装</h2><p><strong> 如果你使用 PCL 启动器,或选择了自动下载 java,你可以跳过此章节。</strong></p><p><strong>Java 下载:</strong>请先查看 MC 服务器游戏版本,并下载安装对应版本的 Java:</p><p align="center"><b>推荐使用版本请看相关公告</b></p><p>(以下超链接是官方下载方式)<strong>游戏版本:1.16.5 及以下,请安装 Java8</strong><br>网址:<a href="https://www.oracle.com/cn/java/technologies/downloads/#java8">https://www.oracle.com/cn/java/technologies/downloads/#java8</a><br><img src="https://img.z4a.net/images/2025/08/13/java8.png" alt="java8"></p><p><strong>游戏版本:1.17 至 1.20.4,请安装 Java17</strong></p><p>网址:<a href="https://www.oracle.com/cn/java/technologies/downloads/#java17">https://www.oracle.com/cn/java/technologies/downloads/#java17</a></p><p>选择方式同上</p><p><strong>游戏版本:1.20.5,1.21 以上,请安装 Java21</strong></p><p>网址:<a href="https://www.oracle.com/cn/java/technologies/downloads/#java21">https://www.oracle.com/cn/java/technologies/downloads/#java21</a></p><p>选择方式同上</p><h2 id="启动器下载"><a href="# 启动器下载" class="headerlink" title="启动器下载"></a>启动器下载 </h2><p> 推荐使用<a href="https://afdian.com/p/0164034c016c11ebafcb52540025c377"><strong>PCL2 启动器</strong></a>,下载完成后,请在桌面或某处新建一个文件夹(建议命名为<code>mc</code>),将下载的文件移动到你刚刚在桌面或某处新建的文件夹内。</p><p>现在请打开 <code>Plain Craft Launcher 2.exe</code> 程序,这是游戏的启动器,用来进行游戏的外部配置并打开游戏。每次游玩 Minecraft 时,都需要靠 PCL2 启动 Minecraft。</p><p>打开启动器后可以在 <code> 设置 </code>-<code> 启动 </code>-<code> 游戏 Java</code>中查看本地安装的所有 Java 版本,建议选 <code> 自动选择合适的 Java</code></p><p>建议点击 <code> 设置 </code>,再选择<code> 默认版本隔离 </code>,选择<code> 隔离所有版本 </code>(推荐)或<code> 隔离可按装 Mod 的版本与非正式版</code>。</p><p><img src="https://img.z4a.net/images/2025/08/13/Java.png" alt="游戏 Java"></p><h2 id="安装游戏"><a href="# 安装游戏" class="headerlink" title="安装游戏"></a>安装游戏 </h2><h3 id="玩整合包"><a href="# 玩整合包" class="headerlink" title="玩整合包"></a> 玩整合包 </h3><p> 选择点击 <code> 下载 </code>-<code> 整合包</code>,搜索你喜欢的整合包点击即可下载游玩。</p><h3 id="玩自定义 mod 的游戏版本"><a href="# 玩自定义 mod 的游戏版本" class="headerlink" title="玩自定义 mod 的游戏版本"></a>玩自定义 mod 的游戏版本 </h3><p> 账号设置完之后,我们开始安装游戏本体。<br>请先点击上方的 <code> 下载 </code>,再选择<code> 游戏下载</code></p><p><img src="https://img.z4a.net/images/2025/08/13/74b1b78e06c352f0efc46e1ce548dd7a.png" alt="游戏下载"></p><p>选择你要玩的游戏版本,这里以 <code>1.20.1</code> 为例</p><p><img src="https://img.z4a.net/images/2025/08/13/d799c531ad923d82f42131556ebc0e0e.png" alt="游戏二级下载"></p><p>若要玩原版,直接点击 <code> 开始下载 </code> 即可,若要玩 mod 版,选择点击要玩的 mod 版,这里以 Forge 版为例,点击<code>Forge</code></p><p><img src="https://img.z4a.net/images/2025/08/13/forge.png" alt="forge"></p><p>选择点击你要玩的 forge 版本 (<code> 稳定版 </code> 一般是最末尾号为 <code>0</code> 的版本,例如 <code>forge 47.4.0</code>;<code> 最新版 </code> 即最新版本。考虑到 mod 作者可能没有及时更新导致游玩不稳定性上升,一般来说都是选择 <code> 稳定版</code>,特殊的可能选择某个特定版本,看具体需求)</p><p>点击 <code> 开始下载 </code> 即可下载游戏版本</p><p>PCL2 一般会自动选择你 <strong> 最新下载 </strong> 的或 <strong> 最近游玩 </strong> 的游戏版本,若要切换选择游戏版本,选择 <code> 启动 </code>-<code> 版本选择 </code>,然后选择你想要的版本即可,接下来,就在<code> 下载 </code>-<code>Mod</code> 找你喜欢的 mod 开始游玩吧~(注意 <strong> 游戏版本 </strong>、<strong> 兼容性 </strong>、及<strong> 文件位置</strong>)</p><h2 id="开始游戏"><a href="# 开始游戏" class="headerlink" title="开始游戏"></a>开始游戏 </h2><h3 id="单人游戏"><a href="# 单人游戏" class="headerlink" title="单人游戏"></a> 单人游戏</h3><ol><li><p>点击 <code> 单人游戏</code></p></li><li><p>选择游戏模式(创造 / 生存 / 极限)</p></li><li><p>点击 <code> 创建新的世界</code></p></li></ol><h3 id="多人游戏"><a href="# 多人游戏" class="headerlink" title="多人游戏"></a>多人游戏 </h3><h4 id="加入服务器 - 别人的游戏"><a href="# 加入服务器 - 别人的游戏" class="headerlink" title="加入服务器 / 别人的游戏"></a> 加入服务器 / 别人的游戏</h4><ol><li>点击 <code> 多人游戏</code></li><li>点击 <code> 添加服务器</code></li><li>将别人给你的链接 <code>Ctrl</code>+<code>C</code>, <code>Ctrl</code>+<code>V</code> 到<code>服务器地址 </code> 中,点击 <code> 完成</code></li><li>(后续打开只需)在服务器列表,双击已添加的服务器,进入服务器</li></ol><h4 id="别人加入自己的游戏 - 自开服"><a href="# 别人加入自己的游戏 - 自开服" class="headerlink" title="别人加入自己的游戏 / 自开服"></a>别人加入自己的游戏 / 自开服 </h4><p> 会这个的已经不是纯萌新了,所以只提一下可能的一些方案</p><ol><li>本地开放局域网服务器通过 FRP 转发服务器流量</li><li>直接部署在 VPS</li><li>有公网 ip,直接通过 <code> 公网 ip: 端口 </code> 连接(用手机流量开热点给电脑连接可以让电脑获得一个临时的动态公网 ipv6)</li></ol><h1 id="附录"><a href="# 附录" class="headerlink" title="附录"></a>附录 </h1><p><a href="https://zh.minecraft.wiki/w/Tutorial:%E6%96%B0%E6%89%8B%E6%89%8B%E5%86%8C"> 游戏的基本操作</a></p><h2 id="常用网站"><a href="# 常用网站" class="headerlink" title="常用网站"></a>常用网站</h2><ul><li><a href="https://zh.minecraft.wiki/">Minecraft Wiki</a>: 查找原版 (冷) 知识最可靠的百科</li><li><a href="https://www.mcmod.cn/">MC 百科</a>: 中文模组百科,学习了解各种模组的知识</li><li><a href="https://www.curseforge.com/minecraft">Curseforge</a>: 全球 mc 模组作者、整合包作者发布作品的前线</li><li><a href="https://modrinth.com/">Modrinth</a>: 新兴的 mc 模组、材质、插件下载站</li></ul>]]></content>
<summary type="html"><p><img src="https://www.minecraft.net/content/dam/minecraftnet/games/minecraft/key-art/Homepage_Discover-our-games_MC-Vanilla-KeyArt_864x86</summary>
<category term="Minecraft" scheme="https://alsojiangshi.top/categories/Minecraft/"/>
<category term="Minecraft" scheme="https://alsojiangshi.top/tags/Minecraft/"/>
<category term="Noob" scheme="https://alsojiangshi.top/tags/Noob/"/>
<category term="Guide" scheme="https://alsojiangshi.top/tags/Guide/"/>
</entry>
<entry>
<title>本站的搭建</title>
<link href="https://alsojiangshi.top/posts/1/"/>
<id>https://alsojiangshi.top/posts/1/</id>
<published>2025-07-08T10:03:40.118Z</published>
<updated>2025-09-30T11:26:37.917Z</updated>
<content type="html"><![CDATA[<p> 这是本站的第一篇 blog<br> 本站使用 hexo 框架,参考了 pdpeng 的相关教程 (<a href="https://pdpeng.github.io/2022/01/19/setup-personal-blog/">https://pdpeng.github.io/2022/01/19/setup-personal-blog/</a>)</p><p> 感谢 jinyaoMa (<a href="https://github.com/jinyaoMa/">https://github.com/jinyaoMa/</a>) 提供的 mustom 模板供我参考网站设计 </p><p>References</p><ol><li>pdpeng. 快速搭建个人博客 —— 保姆级教程 [EB/OL]. [2025-07-08]. <a href="https://pdpeng.github.io/2022/01/19/setup-personal-blog/">https://pdpeng.github.io/2022/01/19/setup-personal-blog/</a></li></ol>]]></content>
<summary type="html"><p> 这是本站的第一篇 blog<br> 本站使用 hexo 框架,参考了 pdpeng 的相关教程 (<a href="https://pdpeng.github.io/2022/01/19/setup-personal-blog/">https://pdpeng.githu</summary>
</entry>
</feed>