
Docker我的世界服务器快速搭建指南
Docker我的世界服务器快速搭建指南
虽然我的 Nas 没有像 阿B 上那些热门的网络博主那样部署些精彩好玩的应用,大部分时间也仅仅是内网SMB来共享文件,确实有点浪费我这块8100的性能(然而我连硬盘都很久没加了).
闲着也是闲着,干脆我们就用Dcoekr加上ipv6部署mc的服务器吧,万一我那些同学要和我一起联机呢,万……万一呢。
诶,但这篇并不能算上一篇合格的教程的,仅是记录一些用docker开mc服的docker-compose文件,这些compose文件都大差不差,这里仅提供一些参考,毕竟官方的Doc全英文有点难看懂,很多时候大家只是想和朋友联个机,简单地快速地完事就好。
所以有问题请查阅官方Doc(https://docker-minecraft-server.readthedocs.io/en/latest/ 一定要养成看doc的习惯喔),
或者搜索GitHub的issue(https://github.com/itzg/docker-minecraft-server),
以及查看官方的演示(https://github.com/itzg/docker-minecraft-server/tree/master/examples)。
至于为什么要用docker和docker-compose部署,“无他,部署简单,管理方便,也不会对原本系统环境产生影响……挺好用的”。
所以,有关docker的安装与基本操作本文就不过多赘述了,不懂请自行搜索查阅,阿B挺多教程的。
首先先分类,mc开服,要不纯净原版服,要不就是mod服;加上版本的差异也就多个java版和基岩版,而基岩版的mod和插件都没有java好玩丰富,大多都是纯净服,所以基本上还是分成两类,多个基岩版的纯净服。
不建议在docker-compose
里直接修改Server.properties
,建议在完成部署后容器关闭时修改.
连接
如果电脑是Windows
,可以用"win+x+a"
输入"ipc"
+tab键
+回车
快速查看本机ip地址
,
docker-compose up -d
之后 可以dockers attach [container_name]
进入服务器命令窗口.
客服端可以在相应版本的游戏中,填入服务端的内网ip地址(大部分为192.168.xxx.xxx)加设定的端口号进入游戏测试,没问题可以试试用服务端的公网ipv6测试,java版需要用[]
括起来ip地址,大概如[1xxx:2xxx:3xxx:4xxx:5xxx:6xxx:7xxx:8xxx]:25565
;
基岩版就不用括起来了,不过这里有个小问题,如果你是Windows
部署的bds
,ipv6
访问不了的,可能需要在cmd
中输入netsh interface ipv6 set privacy state=disable
,下面会到bds会详细讲
当然ipv6会变是吧,可以到阿里、腾讯、百度之类的云服务商低价买个域名,在本地搭建一个ddns服务
,将ipv6
绑定域名,设置好域名解析
,直接就可以用ip地址:25565
访问服务器了,不懂请自行搜索查阅.
纯净服
java
version: "3.8"
services:
mc-servers:
image: itzg/minecraft-server
container_name: mcs-java
restart: always
tty: true # 容器可交互
stdin_open: true # 容器可输入
ports:
- "25565:25565"
environment:
EULA: "TRUE" # 同意MOJANG EULA协议
#可以设置服务器核心,变插件服,纯净服可以不打
#TYPE: PAPER
VERSION: 1.21.4 # 我的世界版本号
INIT_MEMORY: 2g
MAX_MEMORY: 4g
volumes:
- ./data:/data
Minecraft Bedrock Server(BDS)
如果是在Windows上部署的BDS,出于Windows“保护”IPv6的目的,Windows会创建“临时IPv6地址”,其他服务到没什么问题,但只有bds由于临时IPv6的存在无法访问,需要使用netsh interface ipv6 set privacy state=disable
这条命令来关闭临时地址,重启之后便可以通过ipv6访问bds了
version: "3.8"
services:
mc-servers:
image: itzg/minecraft-bedrock-server
container_name: mcs-bds
restart: always
stdin_open: true
tty: true
ports:
- "19132:19132/udp"
- "19133:19133/udp"
environment:
EULA: "TRUE"
VERSION: latest
volumes:
- ./data:/data
mod服
整合包
不管是别人做好的整合包,还是自己需要添加mod简单制作整合包,都可以用此进行创建,需要注意整合包的Mod加载器是什么,以及对应java版本
version: "3.8"
services:
mc-servers:
image: itzg/minecraft-server:java21
container_name: mcs-java-mod
restart: always
tty: true
stdin_open: true
ports:
- "25565:25565"
environment:
EULA: "TRUE"
# Mod加载器[FORGE NEOFORGE FABRIC]
TYPE: FABRIC
VERSION: 1.21.4
# 对应Mod加载器版本
FABRICVERSION: 0.16.10
# 整合包文件地址
GENERIC_PACK: /modpacks/xxxxxxxx.zip
MEMORY: 4g
volumes:
- ./modpacks:/modpacks:ro #ro只读
- ./data:/data
服务包
除了整合包,也会有大佬发布服务端用的一键开服的服务包,可以用此进行创建,这里用异界生活幻想 v1.3
做演示(https://www.bilibili.com/video/BV1tU4y1A7km/)
version: "3.8"
services:
mc-servers:
image: itzg/minecraft-server:java8
container_name: mcs-java-isekai
restart: always
tty: true
stdin_open: true
ports:
- "25565:25565"
environment:
EULA: "TRUE"
# 对应服务包的Mod加载器
TYPE: FORGE
VERSION: 1.16.5
# 服务包中的Mod加载器名称及位置
FORGE_INSTALLER: forge-1.16.5-36.2.0.jar
ONLINE_MODE: FALSE
MEMORY: 4g
volumes:
# 解压出来的服务包文件
- ./Serverpack1.3:/data
内容参考
「保姆级教程」 如何在docker上搭建mc服务器
Minecraft Server on Docker (Java Edition)
让你的BDS服务器支持IPv6