在树莓派搭建我的世界服务器

引言
在搭建过数十次服务器,尝试过云服务器、旧电脑、开发板不同平台的尝试后,我觉得树莓派才是我架设服务器的最佳选择。以下是我的树莓派折腾经验,希望在某些方面能帮助到你。

准备
·树莓派(推荐4B 4GRAM及以上版本)、tf卡(16G及以上) 、供电器(5V3A)
·一台电脑
·网线、屏幕、外设(非必需)
链接网线、屏幕、外设可以减少前期折腾的步骤,但它们是非必需的。
(后文以有网线,无屏幕及外设为前提)

开始
1.安装系统
下载官方镜像烧录工具: https://github.com/raspberrypi/rpi-imager/releases

安装后选择系统和自己的tf卡,并在右下角的设置中打开ssh服务并配置密码,设置时区,如果没链接网线,可以在设置中配置Wi-Fi,树莓派将在开机后链接配置的Wi-Fi。

配置完成后点击烧录,待完成后将tf卡拔出插入树莓派,上电,等待树莓派启动。
2.配置系统&安装依赖
(1)连接树莓派
当树莓派的绿色指示灯停止闪烁时,树莓派应该已经成功启动了。这时打开浏览器查看树莓派的ip地址(可以通过主机名称或新ip加入判断树莓派的ip)
打开macOS的终端或Windows的powershell
输入: ssh <用户名>@<树莓派ip地址>
在随后的命令行中输入配置的密码

(2)安装samba服务
架设服务器时,我们要时不时地传送文件,对于不习惯linux命令的同学会感到十分不适应,安装samba可以让我们在电脑上操作树莓派文件。
更换国内软件源
更改/etc/apt/sources.list
Nick@raspberrypi:~ $ sudo nano /etc/apt/sources.list
在随后打开的页面中,使用方向键移动光标,在前三行最前面添加#注释。
然后粘贴以下内容至最后
deb https://mirrors.tuna.tsinghua.edu.cn/debian bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian bullseye-updates main contrib non-free

依次按Control+O、Enter、Control+X保存并退出。(后文的文件保存方法同上)
接下来用同样的方法更改/etc/apt/sources.list.d/raspi.list
Nick@raspberrypi:~ $ sudo nano /etc/apt/sources.list.d/raspi.list
更改为以下内容
deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi bullseye main

然后,更新软件源
Nick@raspberrypi:~ $ sudo apt update
Nick@raspberrypi:~ $ sudo apt upgrade
安装samba
Nick@raspberrypi:~ $ sudo apt-get install samba
添加samba用户并设置密码(建议与树莓派保持一致)
Nick@raspberrypi:~ $ sudo touch /etc/samba/smbpasswd
Nick@raspberrypi:~ $ sudo smbpasswd -a <用户名>
New SMB password:<创建密码>
Retype new SMB password:<重复密码>

配置samba服务
打开配置文件
Nick@raspberrypi:~ $ sudo nano /etc/samba/smb.conf
将[homes]下的readonly注释掉,改为 writeable=yes

重启服务使配置生效
Nick@raspberrypi:~ $ sudo /etc/init.d/smbd restart
最后,在电脑上挂载树莓派
smb://<用户>:<密码>@<ip地址>

(3)安装jdk
Nick@raspberrypi:~ $ sudo apt-get install openjdk-17-jdk-headless
(1.16.5及以前版本将17=>8)
3.架设服务器
准备核心文件
打开挂载的树莓派文件夹,新建服务器运行目录

去官网下载最新的服务器核心 https://www.minecraft.net/zh-hans/download/server
将下载的核心上传至运行目录。
启动服务器
初次启动服务器
Nick@raspberrypi:~ $ cd MCserver
Nick@raspberrypi:~/MCserver $ java -jar server.jar
第一次服务器会生成依赖文件,然后需要我们同意协议,打开运行目录下的eula.txt

将false更改为true

再次启动服务器
Nick@raspberrypi:~/MCserver $ java -Xmx3584M -jar server.jar
当显示 Done!时,大功告成。
在启动的终端中输入 stop 停止服务器。

服务器后台运行
以上的方法在服务器运行时不能关闭终端,要让服务器在后台运行,最简单的方法是借助screen
安装screen
Nick@raspberrypi:~ $ sudo apt-get install screen
创建新的screen
Nick@raspberrypi:~ $ screen -R MCserver
在新建的screen中进入服务器目录,重复服务器启动步骤。
Nick@raspberrypi:~ $ cd MCserver
Nick@raspberrypi:~/MCserver $ java -Xmx3584M -jar server.jar
待服务器启动完毕时,按Control+A、Control+D保存并退出screen
查看正在运行的screen
Nick@raspberrypi:~/MCserver $ screen -list

再次进入screen(此命令会先尝试进入正在运行的screen,如果没有就创建新的)
Nick@raspberrypi:~ $ screen -R MCserver
至此服务器搭建完毕

写在最后
1.服务器可以参考wiki修改server.properties进行定制。https://minecraft.fandom.com/zh/wiki/Server.properties
2.树莓派运行原版核心服务器只能算得上能用,要真正的流畅运行,可以加载fabric来添加锂、铁氧体磁芯、SmoothBoot等优化模组或换用paper核心。
3.如果有联机的需求可以直接使用iPv6地址进行服务器连接(进行解锁网关iPv6防火墙等操作,可以直接在B站搜索我的世界iPv6联机)或者使用内网穿透。