项目/游戏
游戏 · 运行中

Minecraft 基岩版服务器

自己的基岩版生存服:Endstone 插件、AmberMap 世界地图、备份与远程管理。

MinecraftBedrockEndstone游戏

它是什么

这是我自己开的 Minecraft 基岩版生存服,跑在 homelab 的机器上:用 Endstone 做服务端,装插件扩展玩法,再用 AmberMap 把世界渲染成网页地图,想看地形和建筑进度随时打开网页就行。

为什么做

公共服限制多、延迟不可控,朋友之间玩又需要一个常驻稳定的环境。放在自己的机器上,配置、插件、白名单都自己说了算,成本也可控。

解决什么问题

  • 基岩版走 UDP,家用网络没有公网入口,于是用隧道把游戏端口转发出去,外面也能连。
  • 世界存档怕丢,所以定时做备份,出问题能直接回滚。
  • 不想每次都登机器敲命令,留好远程管理入口,重启、看日志都快。

现在的状态

目前运行中,日常给朋友联机用。插件按需加,地图定期刷新,备份保持在能回滚的粒度上。后面想补的是更省心的监控和更细的权限配置。

功能

  • 用 Endstone 搭基岩版服务端,插件扩展玩法
  • AmberMap 渲染网页世界地图,随时看地形与建筑
  • systemd 托管进程,异常自动重启,日志统一收口
  • UDP 隧道转发,家用网络也能让外网连进来
  • 定时备份世界存档,保留可回滚的若干份
  • 白名单加远程管理入口,日常维护不用守着机器

技术栈

EndstoneMinecraft BedrockAmberMapUDP 隧道systemd定时备份

使用 / 部署教程

部署步骤

1. 准备环境

一台常开的 Linux 机器(家里的小主机够用),按 Endstone 官方文档装好依赖,给它单独建个用户和目录,比如 /srv/minecraft。

2. 跑起服务端

把服务端解压到 /srv/minecraft/server,首次启动生成配置后停掉,改 server.properties:难度、白名单、正版验证按需设置,默认端口 19132/UDP。

3. 装插件与地图

插件丢进 plugins/,重启生效;AmberMap 按其说明生成配置并指向世界目录,渲染输出放到能被反向代理访问的静态目录。

4. 用 systemd 托管

写一个 minecraft.service:WorkingDirectory 指向服务端目录,ExecStart 启动服务端,User 用专用账号,加 Restart=on-failure,然后 systemctl enable --now minecraft。

5. 远程访问

基岩版是 UDP,普通 HTTP 反代没用。用隧道工具把本地 19132/UDP 映射到有公网入口的节点,客户端填隧道地址和端口即可。

6. 备份

用 systemd timer 定时打包世界目录,保留最近若干份。打包前先 save-off + save-all,或者短暂停服,别直接 copy 正在写的存档。

7. 验证

从外网连一次,用 journalctl -u minecraft -f 看日志;确认地图页面能打开、备份文件大小正常。

注意

  • 公网只放行必要端口,白名单比密码可靠,别图省事关掉。
  • 备份要先保证存档一致性,直接复制世界目录可能拿到写一半的数据。
  • 升级插件或服务端前先备份世界,版本变动容易造成插件不兼容。