用闲置树莓派搭建一个Minecraft服务器
硬件准备工作
一台空闲的树莓派,一台有公网IP地址的VPS服务器
配置树莓派
安装树莓派OS镜像,配置用户名密码
给树莓派通电
固定树莓派的静态IP
打开路由器设置面板,找到DHCP静态IP分配,给树莓派固定一个IP
如果忘了也可以用指令查看树莓派的IP
1 | hostname -I # 示例输出:192.168.2.102 |
开启VNC远程桌面
登录ssh开启设置面板
1 | sudo raspi-config |
- 选择 Interface Options
- 选择 VNC
- Would you like the VNC Server to be enabled? 选择 YES
打开自己电脑上的VNC软件,使用用户名密码登录虚拟桌面
安装java
1 | $ sudo -i # 临时获得管理员权限 |
打开树莓派的浏览器 下载jdk,此时文件会在/home/<你的用户名>/Downloads/目录下
1 | $ mkdir java |
配置环境变量
1 | $ nano /etc/profile |
在文件最后添加
1 | # jdk版本号可能不同,注意辨别 |
重载文件
1 | $ source /etc/profile |
检查是否安装成功
1 | $ java -version |
下载mc服务端
打开浏览器下载安装包,我用fabric端
1 | $ cd .. # 应该退回至/usr/local/ |
首次运行必定失败,因为没有同意eula协议
1 | # 我的树莓派8G,这里配置4G内存 |
同意eula协议
1 | $ nano eula.txt # 将其改为eula=true |
配置frp
树莓派是arm架构,下载frp,本文编写的时候最新版本为0.63.0
1 | $ cd .. # 当前的目录应该在/usr/local/java |
编辑配置信息
1 | $ cd frp |
编辑frpc.toml
1 | serverAddr = "VPS公网IP地址" |
安装tmux
本文使用tmux实现,也有screen的用法,但是我喜欢tmux。
1 | apt install tmux |
配置VPS
ssh登录邮件里的root账户
配置frp
在VPS端安装frp
1 | cd /usr/local |
编辑配置文件
1 | $ cd frp |
编辑frps.toml
1 | bindPort = 7000 |
后台运行frp
同树莓派端操作
1 | $ apt install tmux |
开放frp监听的端口7000和mc服务器用到的端口25565
1 | ufw allow 7000/tcp |
打开一个新窗口运行frp
1 | $ tmux new -s <服务名字> |
重回窗口
1 | tmux attach -t <服务名字> |
检查功能是否开启,看到注释中的输出则正常运作
1 | $ tmux ls |
在树莓派中启动服务器
编写start脚本
1 | $ cd /usr/local/minecraft |
将start.sh修改为如下
1 |
|
添加执行权限
1 | chmod +x start.sh |
运行frp和服务器
运行frp
1 | $ tmux new -s frp |
运行服务器
1 | $ tmux new -s mcserver |
检查功能是否开启,看到如下输出则正常运行
1 | $ tmux ls |
(可选)配置域名
现在已经可以通过VPS的公网IP登录游戏进行游玩了
1 | ?.?.?.?:25565 # VPS公网IP |
如果有自己的域名,可以登录cloudflare dashboard,在DNS中添加记录
示例:
| 类型 | A |
| 名称(必需) | rasp |
| IPv4 地址(必需) | <VPS公网IP> |
| 代理状态 | 仅DNS |
就可以通过你的域名登录了
1 | rasp.<你的域名>:25565 |