minecraft开服

Posted on Apr 13, 2026

最近和朋友回坑mc,发现联机挺麻烦。最开始用radmin,但地区不同延迟太大;改用frp内网穿透,但又必须我本地一直开机,对设备压力也大

于是打算直接在云服务器上开个服,方便随时玩。但在搜教程时发现,网上大都是雨云之类的服务商推广,全是教你用人家自带的面板,对我来说有0的参考价值。最后自己找了docker项目研究了一下,并写下了这个文章


配置

我使用的是一台安装了docker的linux服务器 配置最低建议2CPU / 2G内存 / 10G硬盘 如果人数在2-4人左右,为了不卡顿,建议内存4G以上

下面是我测试时跑图的监控截图 单人游玩时,只要不疯狂跑图加载新区块,CPU的负载大约在25-30%左右,主要的压力还是在内存上


搭建过程

于是针对java版1.21.1 Fabric 搭建的,后续的插件链接也都是为了配合版本,如果要开其他版本,记得对应替换链接

安装docker的部分就跳过了

1.创建个存放模组的目录并进入

sudo mkdir -p /var/lib/docker/volumes/mcserver/_mods && cd /var/lib/docker/volumes/mcserver/_mods

2.下载Fabric API

sudo wget -4 -O fabric-api.jar https://github.com/FabricMC/fabric-api/releases/download/0.102.0+1.21.1/fabric-api-0.102.0+1.21.1.jar

3.下载EasyAuth,用于离线模式的注册登录验证

sudo wget -4 -O easyauth.jar https://github.com/NikitaCartes/EasyAuth/releases/download/3.2.1/easyauth-mc1.21-3.2.1.jar

4.docker一键启动

sudo docker run \
  -d \
  --name mcserver \                     # 容器名称
  -p 34567:25565/tcp \                  # 镜像默认25565端口进入游戏会被bot扫描,为了安全起见,建议改掉
  --restart=always \
  -e EULA=TRUE \                        # 同意官方EULA(必须为TRUE才能启动)
  -e TYPE=FABRIC \                      # 服务器类型:Fabric
  -e VERSION=1.21.1 \                   # 游戏版本
  -e LEVEL=MyNewWorld \                 # 世界在服务器目录的文件夹名
  -e ONLINE_MODE=FALSE \                # 关闭正版验证
  -e ENABLE_WHITELIST=FALSE \           # 不启用白名单
  -e OVERRIDE_SERVER_PROPERTIES=TRUE \  # 允许环境变量覆盖server.properties
  -e ENFORCE_SECURE_PROFILE=FALSE \     # 部分客户端需要禁用安全聊天验证
  -e CREATE_CONSOLE_IN_PIPE=true \      # 允许通过docker attach进入控制台
  -e MOTD="MC?!!" \                     # 服务器列表显示的信息
  -v mcserver:/data:rw \
  -v /var/lib/docker/volumes/mcserver/_mods:/mods:ro \
  itzg/minecraft-server

等docker下载完后执行

sudo docker logs -f mcserver

出现done的时候

进入游戏输入IP+端口就可以看见游戏,可以进入了

5.创建用户

注册个账号 格式:auth register [你的昵称] [密码],这个username是在游戏中显示的昵称

sudo docker exec --user 1000 -i mcserver mc-send-to-console auth register USERNAME PASSWORD

进入游戏后输入

/login PASSWORD

如果不想在ssh执行,则先进入游戏注册

/register PASSWORD PASSWORD

6.给op权限

这一步只能在ssh终端执行

docker exec --user 1000 -i mcserver mc-send-to-console op USERNAME

游戏中会提示获得了权限

7.结尾

到这一步基本就折腾完了,记得放行34567端口

如果后续想微调服务器配置,比如改最大人数、难度等,可以在 /var/lib/docker/volumes/mcserver/_data 目录下找到 server.properties 进行修改

更高级的参数修改,比如内存限制、更多环境变量等,可以访问 镜像文档 来修改