Skip to content

Commit cc193f9

Browse files
authored
Merge pull request #61 from TSK-Glofy/main
不改变英文路径的情况下,搜索栏可以正确的显示群友分享了
2 parents a59f30a + 6b561fc commit cc193f9

File tree

8 files changed

+348
-87
lines changed

8 files changed

+348
-87
lines changed

app/components/Hero.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export function Hero() {
2525
{
2626
title: "群友分享",
2727
desc: "群友写的捏",
28-
href: "/docs/guide",
28+
href: "/docs/CommunityShare",
2929
},
3030
];
3131

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: "技术分享"
3+
date: "2025-09-18"
4+
---
5+
6+
欢迎来到技术分享板块!
Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,310 @@
1+
---
2+
title: 用闲置树莓派搭建一个Minecraft服务器
3+
date: 2025-08-05 18:53:40
4+
tags:
5+
---
6+
7+
记录一下从0开始搭建一个树莓派minecraft服务器,并且使用FRP内网穿透到公网
8+
9+
# 硬件准备工作
10+
11+
一台空闲的树莓派,一台有公网IP地址的VPS服务器
12+
13+
# 配置树莓派
14+
15+
安装树莓派OS镜像,配置用户名密码
16+
给树莓派通电
17+
18+
## 固定树莓派的静态IP
19+
20+
打开路由器设置面板,找到DHCP静态IP分配,给树莓派固定一个IP
21+
如果忘了也可以用指令查看树莓派的IP
22+
23+
```shell
24+
$ hostname -I # 示例输出:192.168.2.102
25+
```
26+
27+
## 开启VNC远程桌面
28+
29+
登录ssh开启设置面板
30+
31+
```shell
32+
$ sudo raspi-config
33+
```
34+
35+
1. 选择 **Interface Options**
36+
2. 选择 **VNC**
37+
3. **Would you like the VNC Server to be enabled?** 选择 **YES**
38+
39+
打开自己电脑上的VNC软件,使用用户名密码登录虚拟桌面
40+
41+
## 安装java
42+
43+
```sh
44+
$ sudo -i # 临时获得管理员权限
45+
$ cd /usr/local
46+
```
47+
48+
打开树莓派的浏览器 下载[jdk](https://www.oracle.com/java/technologies/downloads/#java21),此时文件会在`/home/<你的用户名>/Downloads/`目录下
49+
50+
```sh
51+
$ mkdir java
52+
$ mv /home/<你的用户名>/Downloads/* /usr/local/java/
53+
$ cd java
54+
$ tar -zxvf jdk-21_linux-aarch64_bin.tar.gz
55+
# 会输出一些日志
56+
```
57+
58+
配置环境变量
59+
60+
```sh
61+
$ nano /etc/profile
62+
```
63+
64+
在文件最后添加
65+
66+
```sh
67+
# jdk版本号可能不同,注意辨别
68+
export JAVA_HOME=/usr/local/java/jdk-21.0.8
69+
export CLASSPATH=.:$JAVA_HOME/lib/
70+
export PATH=.:$JAVA_HOME/bin:$PATH
71+
# 退出方法:Ctrl+O,Enter,Ctrl+X
72+
```
73+
74+
重载文件
75+
76+
```sh
77+
$ source /etc/profile
78+
```
79+
80+
检查是否安装成功
81+
82+
```sh
83+
$ java -version
84+
85+
# 看见如下类似输出则表示成功
86+
java version "21.0.8" 2025-07-15 LTS
87+
Java(TM) SE Runtime Environment (build 21.0.8+12-LTS-250)
88+
Java HotSpot(TM) 64-Bit Server VM (build 21.0.8+12-LTS-250, mixed mode, sharing)
89+
```
90+
91+
## 下载mc服务端
92+
93+
打开浏览器下载安装包,我用[fabric](https://fabricmc.net/use/server/)
94+
95+
```sh
96+
$ cd .. # 应该退回至/usr/local/
97+
$ mkdir minecraft
98+
$ mv /home/<你的用户名>/Downloads/* /usr/local/minecraft
99+
```
100+
101+
首次运行必定失败,因为没有同意eula协议
102+
103+
```sh
104+
# 我的树莓派8G,这里配置4G内存
105+
# 注意安装包的名字,版本不同,名字必定不一样
106+
$ java -Xmx4G -jar fabric-server-mc.1.21.1-loader.0.17.0-launcher.1.1.0.jar
107+
```
108+
109+
同意eula协议
110+
111+
```sh
112+
$ nano eula.txt # 将其改为eula=true
113+
$ # 退出方法:Ctrl+O,Enter,Ctrl+X
114+
```
115+
116+
## 配置frp
117+
118+
树莓派是arm架构,下载[frp](https://github.com/fatedier/frp/releases),本文编写的时候最新版本为0.63.0
119+
120+
```sh
121+
$ cd .. # 当前的目录应该在/usr/local/java
122+
$ wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_arm64.tar.gz
123+
# 会输出一些日志
124+
$ tar -zxvf frp_0.63.0_linux_arm64.tar.gz
125+
# 会输出一些日志
126+
$ mv frp_0.63.0_linux_arm64 frp # 改个名字方便后续操作
127+
```
128+
129+
编辑配置信息
130+
131+
```sh
132+
$ cd frp
133+
$ nano frpc.toml # 这里frpc中的c代表client客户端
134+
```
135+
136+
编辑`frpc.toml`
137+
138+
```toml
139+
serverAddr = "VPS公网IP地址"
140+
serverPort = 7000 # 默认值
141+
auth.method = "token"
142+
auth.token = "设一个密码"
143+
144+
[[proxies]]
145+
name = "取一个服务名字"
146+
type = "tcp"
147+
localIP = "192.168.2.102" # 树莓派IP地址
148+
localPort = 25565 # mc开服默认值
149+
remotePort = 25565 # mc开服默认值
150+
151+
## 退出方法:Ctrl+O,Enter,Ctrl+X
152+
```
153+
154+
## 安装tmux
155+
156+
本文使用tmux实现,也有screen的用法,但是我喜欢tmux。
157+
158+
```shell
159+
$ apt install tmux
160+
```
161+
162+
# 配置VPS
163+
164+
ssh登录邮件里的root账户
165+
166+
## 配置frp
167+
168+
在VPS端安装[frp](https://github.com/fatedier/frp/releases)
169+
170+
```shell
171+
$ cd /usr/local
172+
$ wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_amd64.tar.gz
173+
$ # 会输出一些日志
174+
$ tar -zxvf frp_0.63.0_linux_amd64.tar.gz
175+
$ # 会输出一些日志
176+
$ mv frp_0.63.0_linux_amd64 frp # 改个名字方便后续操作
177+
```
178+
179+
编辑配置文件
180+
181+
```sh
182+
$ cd frp
183+
$ nano frps.toml # 这里frps中的s代表server服务端
184+
```
185+
186+
编辑`frps.toml`
187+
188+
```toml
189+
bindPort = 7000
190+
auth.method = "token"
191+
auth.token = "和树莓派一样的密码"
192+
193+
[webServer] # 开dashboard功能,不需要可以不配置
194+
addr = "127.0.0.1" # 不暴露在公网,可通过ssh隧道访问,要暴露在公网则为"0.0.0.0"
195+
port = 7500
196+
user = "?"
197+
password = "********"
198+
```
199+
200+
## 后台运行frp
201+
202+
同树莓派端操作
203+
204+
```sh
205+
$ apt install tmux
206+
```
207+
208+
开放frp监听的端口7000和mc服务器用到的端口25565
209+
210+
```shell
211+
$ ufw allow 7000/tcp
212+
$ ufw allow 25565/tcp
213+
```
214+
215+
打开一个新窗口运行frp
216+
217+
```sh
218+
$ tmux new -s <服务名字>
219+
$ cd /usr/local/frp
220+
$ ./frps -c frps.toml
221+
# Ctrl+B再按D,退出窗口
222+
```
223+
224+
重回窗口
225+
226+
```shell
227+
$ tmux attach -t <服务名字>
228+
```
229+
230+
检查功能是否开启,看到注释中的输出则正常运作
231+
232+
```sh
233+
$ tmux ls
234+
# frp: 1 windows (created 时间..)
235+
$ ss -tlnp | grep 7000
236+
# 有输出则frp工作正常
237+
```
238+
239+
# 在树莓派中启动服务器
240+
241+
## 编写start脚本
242+
243+
```sh
244+
$ cd /usr/local/minecraft
245+
$ nano start.sh
246+
```
247+
248+
`start.sh`修改为如下
249+
250+
```sh
251+
#!/bin/bash
252+
java -Xmx4G -jar fabric-server-mc.1.21.1-loader.0.17.0-launcher.1.1.0.jar nogui
253+
```
254+
255+
添加执行权限
256+
257+
```shell
258+
$ chmod +x start.sh
259+
```
260+
261+
## 运行frp和服务器
262+
263+
### 运行frp
264+
265+
```sh
266+
$ tmux new -s frp
267+
$ cd /usr/local/frp
268+
$ ./frpc -c frpc.toml
269+
# Ctrl+B再按D,退出窗口
270+
```
271+
272+
### 运行服务器
273+
274+
```sh
275+
$ tmux new -s mcserver
276+
$ cd /usr/local/minecraft
277+
$ ./start.sh
278+
# Ctrl+B再按D,退出窗口
279+
```
280+
281+
检查功能是否开启,看到如下输出则正常运行
282+
283+
```sh
284+
$ tmux ls
285+
# frp: 1 windows (created 时间..)
286+
# mcserver: 1 windows (created 时间..)
287+
```
288+
289+
# (可选)配置域名
290+
291+
现在已经可以通过VPS的公网IP登录游戏进行游玩了
292+
293+
```
294+
?.?.?.?:25565 # VPS公网IP
295+
```
296+
297+
如果有自己的域名,可以登录[cloudflare dashboard](https://dash.cloudflare.com/),在DNS中添加记录
298+
示例:
299+
| | |
300+
| :- | :- |
301+
| 类型 | A |
302+
| 名称(必需) | rasp |
303+
| IPv4 地址(必需) | <VPS公网IP> |
304+
| 代理状态 | 仅DNS |
305+
306+
就可以通过你的域名登录了
307+
308+
```
309+
rasp.<你的域名>:25565
310+
```

app/docs/guide/burnout-guide.mdx renamed to app/docs/CommunityShare/MentalHealth/burnout-guide.mdx

File renamed without changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: "心理健康"
3+
date: "2025-09-18"
4+
---
5+
6+
欢迎来到心理健康板块!

app/docs/CommunityShare/index.mdx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: "群友分享"
3+
date: "2025-09-18"
4+
---
5+
6+
欢迎来到群友分享板块!无论你是技术极客,还是热爱生活,都欢迎积极投稿!
7+
8+
一篇微不足道的文章或许可以帮助一个迷茫的陌生人~
9+
10+
> 转载文章请先联系原作者获取授权,谢谢!
11+
12+
## 心理健康
13+
14+
- [程序员 Burnout 自救指南](/docs/CommunityShare/MentalHealth/burnout-guide) - 识别和应对职业倦怠
15+
16+
## 技术分享
17+
18+
- [用闲置树莓派搭建一个Minecraft服务器](/docs/CommunityShare/Geek/raspberry-guide)
19+
20+
## 身体健康
21+
22+
- 久坐办公的解决方案
23+
- 程序员健身指南
24+
- 饮食与营养建议
25+
- 睡眠质量改善

app/docs/guide/HelloWorld.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)