当前位置: 首页 > news >正文

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

前言

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

docker官网
2. 下载完成后直接安装,一路确定下去就行
3. 安装完成之后就可以运行Docker了,最好登陆注册一下,其实不进行注册登陆也可以
4. 搞定之后,打开设置,选择Builders你将看到如下页面,这就说明docker已经安装好了:
安装完成的Docker
5. 然后我们再打开终端,运行指令docker -v看一下是否出现版本,正常能显示版本的话就说明没问题了
6. 然后我们要下载我们需要的镜像,很幸运,在docker hub中有人已经制作了一个用于创建mc基岩版服务器的镜像,我们直接打开docker hub,在里面搜索itzg/minecraft-bedrock-server能看到如图
MC服务器镜像
7. 点击pull拉取镜像,如果下载很慢或者根本不显示镜像的话可以考虑给docker换个源(具体操作网上有很多方法,这里就不再赘述),当然有魔法上网也是可以的
8. 接着实际上只需要按照这个页面给的提示,在终端中运行下面这段代码就可以了docker run -d -it -e EULA=TRUE -p 19132:19132/udp -v mc-bedrock-data:/data itzg/minecraft-bedrock-server,当然这样做很不优雅,且仅适合刚刚在mac上开服务器的朋友,实际上我们可能已经有了服务器的存档数据,我们需要将原服务器的存档数据迁移过来,或者我们需要多开几个相似的服务器(实际上就是方便大伙抄作业),这里我将演示用docker-compose来创建服务器容器
9. 随便找一个文件夹,创建一个文本文件随意命名,这里我命名为docker-mc.yaml,然后复制下面的代码填入文件中

services:mc: #容器名image: itzg/minecraft-bedrock-server #所用的镜像restart: alwaysports:- "19132:19132/udp" #开放的端口environment: #主要针对 server.properties 中的配置。启动时会根据下方内容修改 server.properties 中对应内容,也可以这里不填,手动修改 server.propertiesEULA: "TRUE" VERSION: LATESTSERVER_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 #配置和存档等文件的持久化挂载路径*
  1. 其中有标记为*的部分一定需要自己手动修改,尤其是挂载路径和种子,种子一定要填上和你原本服务器中地图相同的种子,不然地形会完全不一样,当然第一次创建服务器就无所谓,至于挂载路径,就填上自己找到的一个好文件夹路径(绝对路径):/data,创建完成之后打开终端,进入这个yaml文件的文件夹中,输入指令docker-compose up -d,docker就会根据你的这个文件开始自动创建容器了,下载好了容器很快的,如图所示:
    通过镜像生成容器
  2. 这时我们回到docker desktop来,就能看到我们刚刚创建好的容器了
    创建好的容器
  3. 我们点进去,能看到如下图,就说明服务器已经成功启动了
    启动好的服务器
  4. 到这一步我们在mac上启动mc基岩版服务器就算搞定了,但现在服务器还是一个空的服务器,我们需要将我们的数据倒进来,先关闭这个容器,然后复制我们原来基岩版服务器的worlds数据,以及几个json数据(玩家和服务器数据),还有server.properties数据,粘贴到我们之前设置的持久化文件夹,如果没出错的话现在这个文件夹中已经有了linux版基岩服务器的程序,覆盖掉就好了,如图:
    替换文件
  5. 至此,我们的所有步骤就完成了,回到docker desktop中运行容器,完成!进入mc测试一下,就能看到我们在mac中运行的服务器了!此时mac的能耗依旧仅有15w左右,完美!

结语

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

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

http://www.dtcms.com/a/337443.html

相关文章:

  • 前端Element-plus的选择器 el-select 清空内容时,后端对应的更新方式,支持更新为null
  • 【秋招笔试】2025.08.09网易秋招机考
  • openEuler系统备份与恢复方法
  • 【DL学习笔记】交叉熵损失函数详解
  • 无人机视角违章建筑识别分割数据集labelme格式343张2类别
  • AI测试自愈率80%!语音编程提效10倍——2025软件AI化爆炸级突破
  • 端面试题大汇总二
  • 分库分表数据源如何清洗同步到目标表
  • 大数据计算引擎(二)——Flink
  • 大数据计算引擎(四)—— Impala
  • 【matlab】考虑源荷不平衡的微电网鲁棒定价研究
  • Pandas 数据导入导出、索引、分组聚合与可视化
  • (第十八期)图像标签的三个常用属性:width、height、border
  • 特赞内容运营解决方案,AI重构品牌内容价值链
  • 云计算学习100天-第21天
  • 整体设计 之“凝聚式中心点”原型 --整除:智能合约和DBMS的深层融合 之2
  • 将 iPhone 联系人转移到 Infinix 的完整指南
  • MCP ZAP Server:一款能够利用大模型替代人工进行Web安全扫描的开源MCP
  • Vue深入组件:组件 v-model 详解2
  • 网络安全巡检系统的功能组成和作用
  • sizeof和strlen的对比分析
  • vue从入门到精通:搭建第一个vue项目
  • kali linux从入门到精通教程
  • 【GM3568JHF】FPGA+ARM异构开发板烧录指南
  • Go并发编程-goroutine
  • 智能人形机器人:知识驱动的工业生产力革新
  • 视觉语言导航(11)——预训练范式 4.1
  • 系统架构师考试-操作系统-10道关于PV操作和死锁的模拟题
  • 实现一个函数,使用引用作为参数完成三个字符串按长度排序,最长的字符串放入第一个参数,最短的字符串放入第三个参数(不允许使用 string)
  • Linx--MySQL--安装笔记详细步骤!