【Mac】【Minecraft】关于如何在Mac上搭建基岩版MC服务器的方法

前言

在Mac上安装MC基岩版服务器的心路历程,不想看的直接跳到后面的具体步骤。

家中有一台长期不间断运行的服务器,平常用作Nas和假设一些需要持续运行的服务,配置为:5600g + 32g内存 ,系统:Windows专业版,其实实际上就是一台24小时不间断运行的windows主机,但没有显示器,至于为什么使用windows作为系统,是因为吃了群晖的亏,当时用群晖存数据的时候,有一次储存池丢失了,就硬盘里的数据还在,但就是因为数据格式不对读不出来,而要想让群晖使用这块盘也必须要格式化来加入储存池中(当然也有可能是我不会用),所以我决定使用windows来作为系统,搭配nas程序来实现nas的功能,不得不说非常符合操作逻辑;然后群里的朋友说想玩MC,于是我又在这个服务器上搭建了一个MC的基岩版服务器,在windows服务器上架设实在是简单,因为官网有直接下载的包,直接下载下来解压然后运行就可以了,so easy!

理论上直接这么运行就可以了,5600g能效表现和性能表现都非常出色,朋友在里面有大量生电建筑都不会有明显的卡顿,可以说就这么正常运行下去就行,但直到我买了一台mac mini m4,这玩意10核心,运行起来才15w不到,相比起我的windows服务器空闲状态都有50w功耗,四舍五入我也是在为碳中和做贡献啊!(实际上就是想折腾)那么就决定将服务器迁移到mac mini上,不过很明显,不同于Java版的跨平台能下载macos版的服务端,基岩版似乎只有window版和linux版,竟然没有支持linux版的,不合理!

思路

由于基岩版的服务器不能直接支持macos,那很明显就只能使用虚拟机来实现了,但直接使用虚拟机来安装一个浪费内存,另一个不够优雅,再一个就是性能损耗,这时候我们就能想到Linux和macos的相似性,使用docker来容器化安装就成了首选!尤其是使用arm64版的linux环境对性能的损失可以说是微乎其微了,ok确定好了思路,咱们就开干!

具体步骤

  1. 前往docker的官网下载Mac版的docker
  1. 下载完成后直接安装,一路确定下去就行

  2. 安装完成之后就可以运行Docker了,最好登陆注册一下,其实不进行注册登陆也可以

  3. 搞定之后,打开设置,选择Builders你将看到如下页面,这就说明docker已经安装好了:

  4. 然后我们再打开终端,运行指令docker -v看一下是否出现版本,正常能显示版本的话就说明没问题了

  5. 然后我们要下载我们需要的镜像,很幸运,在docker hub中有人已经制作了一个用于创建mc基岩版服务器的镜像,我们直接打开docker hub,在里面搜索itzg/minecraft-bedrock-server能看到如图

  6. 点击pull拉取镜像,如果下载很慢或者根本不显示镜像的话可以考虑给docker换个源(具体操作网上有很多方法,这里就不再赘述),当然有魔法上网也是可以的

  7. 接着实际上只需要按照这个页面给的提示,在终端中运行下面这段代码就可以了docker run -d -it -e EULA=TRUE -p 19132:19132/udp -v mc-bedrock-data:/data itzg/minecraft-bedrock-server,当然这样做很不优雅,且仅适合刚刚在mac上开服务器的朋友,实际上我们可能已经有了服务器的存档数据,我们需要将原服务器的存档数据迁移过来,或者我们需要多开几个相似的服务器(实际上就是方便大伙抄作业),这里我将演示用docker-compose来创建服务器容器

  8. 随便找一个文件夹,创建一个文本文件随意命名,这里我命名为docker-mc.yaml,然后复制下面的代码填入文件中

    services:
    mc: #容器名
    image: itzg/minecraft-bedrock-server #所用的镜像
    restart: always
    ports:
    - "19132:19132/udp" #开放的端口
    environment: #主要针对 server.properties 中的配置。启动时会根据下方内容修改 server.properties 中对应内容,也可以这里不填,手动修改 server.properties
    EULA: "TRUE"
    VERSION: LATEST
    SERVER_NAME: 生存服 #服务器名字
    GAMEMODE: survival #模式
    DIFFICULTY: hard #难度
    MAX_PLAYERS: 10 #最大在线人数
    LEVEL_SEED: -4040081259635935366 #种子*
    ONLINE_MODE: "false" #强制要求登陆 Microsoft,true 会导致登陆偶尔有点慢,特别对于大陆。但设置 false 可能导致偶尔上线后账号看似重置(实质为没有登陆成功,而对应了不同的 uid)
    ALLOW_CHEATS: "false" #是否允许作弊
    volumes:
    - /Users/ican/Documents/Docker-MC:/data #配置和存档等文件的持久化挂载路径*

  9. 其中有标记为*的部分一定需要自己手动修改,尤其是挂载路径和种子,种子一定要填上和你原本服务器中地图相同的种子,不然地形会完全不一样,当然第一次创建服务器就无所谓,至于挂载路径,就填上自己找到的一个好文件夹路径(绝对路径):/data,创建完成之后打开终端,进入这个yaml文件的文件夹中,输入指令docker-compose up -d,docker就会根据你的这个文件开始自动创建容器了,下载好了容器很快的,如图所示:

  10. 这时我们回到docker desktop来,就能看到我们刚刚创建好的容器了

  11. 我们点进去,能看到如下图,就说明服务器已经成功启动了

  12. 到这一步我们在mac上启动mc基岩版服务器就算搞定了,但现在服务器还是一个空的服务器,我们需要将我们的数据倒进来,先关闭这个容器,然后复制我们原来基岩版服务器的worlds数据,以及几个json数据(玩家和服务器数据),还有server.properties数据,粘贴到我们之前设置的持久化文件夹,如果没出错的话现在这个文件夹中已经有了linux版基岩服务器的程序,覆盖掉就好了,如图:

  13. 至此,我们的所有步骤就完成了,回到docker desktop中运行容器,完成!进入mc测试一下,就能看到我们在mac中运行的服务器了!此时mac的能耗依旧仅有15w左右,完美!

结语

与其说在mac上运行mc基岩版服务器不如说是在mac上用虚拟化环境运行mc基岩服务器,但总而言之结果是好的,能效表现是真不错,其次由于在docker-compose中设置了版本为latest,每次启动容器的时候都会自动判断当前服务器是否是最新版本,如果不是就会自动从mc官网去下载最新的服务器版本然后替换掉,这点对于我们来说是很方便的,当然如果你不需要自动更新服务器,那么就在version那一行修改版本为自己需要的版本号即可,还有如果容器启动不了,或者启动后自动关闭,大概率是没能正常访问mc官网的下载服务器,可以尝试开启魔法上网,或者不让docker容器自动更新版本,然后自己手动下载一个linux版的基岩服务器文件解压到持久化的文件夹中,效果是一样的。

如果这篇文章有帮助到你就请个赞吧,球球啦!!!!!

相关推荐
腾渊信息科技公司15 小时前
工业数据运维痛点根治方案:基于AI Agent的产线自动化台账系统落地
运维·人工智能·自动化·个人开发·ai编程
Dxy123931021616 小时前
Proxy Protocol v2 详解
运维
踏月的造梦星球16 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
潘正翔16 小时前
docker核心概念
linux·运维·服务器·docker·容器·centos·运维开发
renhongxia117 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
Swift社区17 小时前
Mac与Windows终端常用指令对比整理(实用避坑分享)
macos
Dovis(誓平步青云)18 小时前
远程办公软件文件传输实测:6 款工具的速度、稳定性和办公体验对比
linux·运维·服务器·后端·生成对抗网络
专注_每天进步一点点18 小时前
SLB(绑定弹性公网ip)-gateway-业务pod,gateway上出现reset by peer,业务pod上没有reset by peer
服务器·tcp/ip·gateway
Java小白笔记19 小时前
Docker 安装配置完全指南:MacOS 、Windows、Linux环境下的安装、配置与验证
linux·macos·docker
csdn_aspnet19 小时前
GitHub Actions自动化运维实战,用CI/CD流水线实现测试、部署、安全扫描一体化
运维·安全·ci/cd·自动化·github