资讯动态

Minecraft 1.21纯净服务器搭建全指南:从零开服到稳定运行

发布时间:2026/9/7 3:06:35 来源:尧图企业网站定制
一个“6月新开服务器纯净1.21.11有没有一起玩的小伙伴呀”的帖子背后要准备的东西远不止改一个游戏模式。玩家看到的是能够进入世界、一起生存开服者面对的是服务端类型、Java 版本、Linux 环境、内存参数、防火墙、白名单、备份和崩溃恢复。下面以 1.21.11 纯净生存服务器为例从服务器选型开始把服务端下载、启动配置、安全加固、白名单备份、故障排查全部走通。整个过程可以在云服务器或本地虚拟机上复现也适用于 1.20/1.21 系列版本的纯净服搭建。1. 先想清楚“纯净 1.21.11”到底需要哪种服务端1.1 纯净服的技术边界“纯净服”通常指不改变原版方块、合成、生物生成和游戏机制的服务器。玩家体验接近单机红石机器、刷怪塔、村民繁殖等机制都尽量保持原版行为。这里的关键词不是“不能装东西”而是“不改变玩法规则”。因此选服务端时要先定一个底线是否接受某些插件或模组为了性能优化而微调原版机制。比如 Paper 服务端默认会修改部分刷怪规则常见表现是刷怪塔效率变化、某些生电机器无法正常工作。如果开服的主要目标是小圈子朋友一起玩生存建议选择原版服务端或 Fabric 这类轻量加载器尽量保持原版行为。纯净服仍然需要防熊、防恶意破坏。白名单、权限、备份和定期存档恢复比插件管理更贴近“纯净”原则。1.2 原版服务端与 Fabric、Paper 的差异搭建前建议先看一张对比表明确不同服务端的定位。服务端是否属于纯净扩展方式典型特点适合场景Vanilla Server是无可扩展官方原版兼容性最好性能一般最小搭建、玩家少、完全原版Fabric Server是安装 fabric api 与 mod原版机制基本不变可挂性能优化模组想要原版体验又需要优化Paper / Spigot偏原版但非严格纯净安装插件性能高、插件生态丰富但可能改机制小游戏服、综合服、不需要严格生电服对 1.21.11 这种较新版本下载服务端前要先确认对应版本的 Fabric、Paper 是否已经发布。如果只是给朋友开生存服优先找官方 Vanilla 服务端因为它永远跟版本一起发布兼容风险最小。1.3 先确认版本再决定下载什么 jar“1.21.11”可能是正式发布版本号也可能是某个启动器里的版本标识。实际下载服务端时不要只看文件名还要确认文件来自官方发布渠道或可信镜像并做哈希校验。服务端运行还需要匹配的 Java 版本。Minecraft 1.21 系列普遍要求 Java 21 或更高版本。落地前先检查当前环境java -version如果输出不是 64 位 Java 21先安装对应版本再启动服务端。否则最常见的问题不是服务端不能启动而是启动日志里出现UnsupportedClassVersionError原因就是 Java 版本太低。2. 云服务器选型和 Linux 基础准备2.1 配置怎么选才不浪费钱Minecraft 服务端对内存和 CPU 主频敏感。在线人数少时2 核 4G 内存足够但 1.21 版本的区块生成和实体计算量更大长期运行建议至少 4G 内存。下面是一份适合开纯净服的参考配置在线人数CPU内存带宽磁盘建议1 到 5 人2 核单核主频尽量高4G3Mbps 以上20G SSD5 到 20 人4 核单核主频高8G5Mbps 以上50G SSD20 人以上8 核单核性能优先16G10Mbps 以上100G SSD这里要注意一个常见误区只看 CPU 核心数会选错服务器。Minecraft 的主逻辑在很长一段时间内仍以单线程为主CPU 单核主频和缓存比“核心数多”更重要。内存不足会导致区块卸载和频繁 GC表现为周期性卡顿磁盘太慢会导致存档保存时整个世界短暂冻结。2.2 登录服务器并创建专用用户云服务器购买后先通过 SSH 登录。不要直接用 root 运行 Minecraft 服务端因为一旦服务端被攻击或插件代码有漏洞风险会直接扩散到整个系统。ssh root你的服务器IP登录后创建一个普通用户用于运行服务端adduser mcserver usermod -aG sudo mcserver su - mcservermcserver只是示例用户名可以换成你喜欢的名字。加入sudo组是为了后续安装软件但日常运行服务端时不要用 root。2.3 安装 Java、screen 和常用运维工具以 Ubuntu/Debian 系统为例sudo apt update sudo apt install -y openjdk-21-jre-headless screen tmux htop rsync tar unzip curl ufw fail2ban这里的几个工具各有用途screen/tmux在 SSH 断开后让服务端继续运行。htop实时查看 CPU 和内存占用。rsync同步存档到备份目录。ufw配置 Linux 防火墙。fail2ban保护 SSH 登录防止暴力破解。注意不要只验证服务端能启动还要验证 SSH 断开后服务端是否继续运行以及重启服务器后服务端是否能自动拉起。2.4 设置时区、主机名和 SSH 保护设置时区可以让日志时间和备份文件名更直观sudo timedatectl set-timezone Asia/ShanghaiSSH 保护可以先做两件事禁止 root 直接登录、改用密钥认证。修改/etc/ssh/sshd_config时保持原终端不退出避免新配置出错导致登录不上sudo nano /etc/ssh/sshd_config修改关键项PermitRootLogin no PasswordAuthentication no然后重启 SSH 服务sudo systemctl restart sshd在执行重启前建议在另一个终端测试密钥登录是否正常。如果密钥登录失败当前 SSH 会话至少还活着可以及时回滚。3. 下载服务端、配置 server.properties 并启动3.1 下载服务端 jar 到独立目录先把服务端放到独立目录避免和系统文件混在一起sudo mkdir -p /srv/mc sudo chown mcserver:mcserver /srv/mc su - mcserver cd /srv/mc下载服务端文件时可以先用 curl 拉取到临时文件再校验。下面的 URL 是示例实际要以官方发布页或可信镜像为准curl -O https://example.com/minecraft_server.1.21.11.jar sha256sum minecraft_server.1.21.11.jar运行sha256sum后把输出结果和发布方提供的哈希值对比。哈希不匹配时不要运行这个 jar避免下到被篡改的文件。3.2 首次启动与 EULA在/srv/mc目录下执行java -Xms1G -Xmx2G -jar minecraft_server.1.21.11.jar nogui首次启动会生成eula.txt等文件然后停止提示需要同意最终用户许可协议。这是因为服务端默认eulafalse。编辑该文件sed -i s/eulafalse/eulatrue/ eula.txt这一步表示你阅读并同意 EULA。个人开服时不要忽略这条它是服务器能否合法发布服务端文件的前提。3.3 server.properties 核心参数服务端根目录下的server.properties是配置核心。下面挑选纯净服最常用的参数说明参数默认值说明server-port25565游戏连接端口一般不需要改online-modetrue正版验证。纯朋友服建议保持 truewhite-listfalse是否开启白名单建议开启max-players20最大同时在线人数view-distance10服务器发送给玩家的区块范围越大越吃资源spawn-protection16出生点保护范围防止出生点附近被破坏difficultyeasy难度生存服常用 hardpvptrue是否允许玩家互相攻击enable-rconfalse是否开启远程控制台默认关闭更安全level-nameworld主世界存档名修改参数后一定要重启服务端否则多数参数不会热生效。不要直接一次性把参数调到最高比如view-distance设为 32表面上看起来能看很远实际会极大增加内存和带宽消耗玩家少时也会卡。3.4 启动脚本和后台运行每次手动敲长命令容易出错推荐写一个启动脚本。在/srv/mc下创建start.sh#!/usr/bin/env bash cd /srv/mc JAVA_OPTS-Xms2G -Xmx4G -XX:UseG1GC -XX:ParallelRefProcEnabled -XX:MaxGCPauseMillis200 java $JAVA_OPTS -jar minecraft_server.1.21.11.jar nogui给脚本加执行权限chmod x start.sh如果只想临时在后台运行可以使用screenscreen -S mc ./start.sh按CtrlA然后按D即可脱离会话让服务端继续运行。要重新进入控制台screen -r mc推荐生产环境开服不要长期依赖screen后面会讲用systemd托管服务端这样重启服务器后服务端可以自动启动。4. 白名单、权限与备份4.1 为什么纯净服也要开白名单很多开服者觉得“朋友服不需要白名单”结果服务器一公开就会遇到陌生玩家进服破坏、刷屏、卡服等情况。白名单是纯净服最基础的安全控制。在游戏控制台或远程管理工具中执行whitelist on whitelist add 玩家名也可以直接编辑whitelist.json但更推荐在控制台用命令操作避免文件格式错误。文件内容类似[ { uuid: 玩家UUID, name: 玩家名 } ]使用命令后服务端会自动维护这个文件。4.2 ops.json 与其他权限文件管理员权限在ops.json中管理。给玩家 op 时要谨慎不要给所有人都发。op-permission-level定义了权限等级等级权限1绕过出生点保护2可使用大部分命令3可封禁玩家、查看服务器信息4完全管理员权限封禁玩家时可以使用ban 玩家名 原因 ban-ip IP地址封禁记录保存在banned-players.json和banned-ips.json。删除封禁也要用对应命令不要直接改文件。4.3 定时备份脚本Minecraft 的存档包含玩家数据、区块数据、地图数据。即使没有插件故障一次错误操作也可能导致存档损坏。备份脚本要解决两个问题定时备份和保留最近版本。先创建备份目录mkdir -p /srv/mc-backups在/srv/mc下创建backup.sh#!/usr/bin/env bash BACKUP_DIR/srv/mc-backups WORLD_DIR/srv/mc/world STAMP$(date %Y%m%d-%H%M%S) cd /srv/mc screen -S mc -X stuff save-off\n sleep 2 screen -S mc -X stuff save-all\n sleep 5 tar -czf $BACKUP_DIR/world-$STAMP.tar.gz -C $WORLD_DIR . screen -S mc -X stuff save-on\n find $BACKUP_DIR -name world-*.tar.gz -mtime 7 -delete如果服务端不是用screen启动而是用systemd需要把控制台指令替换为mc-send-to-console save-off之类的辅助工具或者直接用rcon。备份完成后至少手动解压一次备份确认压缩包里的文件完整。4.4 使用 systemd 托管服务端screen适合手动维护但长期开服建议用systemd。创建服务文件[Unit] DescriptionMinecraft Server Afternetwork.target [Service] Usermcserver WorkingDirectory/srv/mc ExecStart/usr/bin/java -Xms2G -Xmx4G -XX:UseG1GC -jar minecraft_server.1.21.11.jar nogui Restarton-failure RestartSec10 [Install] WantedBymulti-user.target然后启用服务sudo systemctl daemon-reload sudo systemctl enable mc sudo systemctl start mc使用 systemd 的好处是服务崩溃后自动重启服务器开机后自动启动日志也可以通过journalctl -u mc查看。5. 防火墙、安全组与 SSH 加固5.1 Linux 防火墙只放行必要端口在服务器上启用 UFW 防火墙前先确保放行 SSH 端口否则容易把自己锁在外面sudo ufw allow 22/tcp sudo ufw allow 25565/tcp sudo ufw allow 25565/udp sudo ufw enableMinecraft 客户端的连接主要走 TCP但服务器列表状态查询有时会用到 UDP。因此把 TCP 和 UDP 都放行更稳妥。查看防火墙状态sudo ufw status verbose5.2 云厂商安全组也要同步配置很多云服务器有双重防火墙操作系统层和云平台安全组。只配置 UFW 但忘记安全组玩家依然连不进来。安全组规则通常如下方向协议端口来源用途入方向TCP255650.0.0.0/0Minecraft 游戏连接入方向UDP255650.0.0.0/0服务器状态查询入方向TCP22你的办公IPSSH 管理安全组来源不建议直接设置为 0.0.0.0/0 的 SSH最好只允许你经常使用的 IP。游戏端口 25565 必须对公网开放否则其他玩家无法连接。5.3 SSH 登录防护即使已经启用密钥登录也建议继续做以下加固修改sshd_config中的MaxAuthTries限制尝试次数。使用fail2ban监测异常登录。不要把 22 端口改成特别难记的端口除非你有成熟的习惯和备份方案。启动 fail2bansudo systemctl enable fail2ban sudo systemctl start fail2ban查看被拉黑的 IPsudo fail2ban-client status sshd5.4 RCON、控制台和其他风险端口server.properties中enable-rconfalse默认关闭 RCON。如果确实需要远程执行命令不要直接把 RCON 端口 25575 暴露到公网因为它没有加密且一旦口令泄露攻击者可以执行管理员命令。更安全的远程管理方式是通过 SSH 登录服务器。进入服务端控制台。或者使用 SSH 隧道转发 RCON 端口。纯净服开服者不需要频繁远程执行命令保持默认关闭是更稳妥的选择。6. 从开服到验证常见问题与排错链路6.1 正常启动日志长什么样启动服务端后终端日志中看到类似内容才算真正成功[Server thread/INFO]: Starting minecraft server version 1.21.11 [Server thread/INFO]: Loading properties [Server thread/INFO]: Starting Minecraft server on *:25565 [Server thread/INFO]: Done (12.345s)! For help, type help关键是最后一行Done。如果只看到启动信息没有Done说明启动过程还未完成或已经崩溃。6.2 玩家连接不上的排查链路玩家反馈“连接超时”时不要直接怀疑服务器配置按顺序排查服务端是否已经出现Done。云安全组是否放行 25565 端口。Linux UFW 是否放行 25565 端口。服务端端口是否和server.properties一致。玩家是否使用了错误 IP 或版本。服务器带宽是否被打满。系统负载和内存是否异常。在服务器本机查看端口监听ss -lntp | grep 25565如果能看到服务端进程监听 25565说明服务端本身正常。此时需要同步检查防火墙和安全组。6.3 卡顿、掉线和内存溢出纯净服卡顿最常见的表现是 TPS 下降玩家感觉方块延迟、实体移动不跟手。先检查系统和 Java 进程htop观察内存占用和 CPU 占用。如果内存经常接近上限查看系统日志dmesg | tail -20出现Out of memory相关日志说明 Java 进程被系统杀掉。解决办法是调整-Xmx参数或直接升级服务器内存。不要盲目把-Xmx设置为接近物理内存总量要给系统和其他进程留空间。6.4 常见问题速查表问题现象常见原因检查方式处理建议启动报 UnsupportedClassVersionErrorJava 版本过低java -version安装 Java 21 或更高版本启动后立即退出eula.txt 未同意查看 eula.txt改为 eulatrueAddress already in use端口被占用ss -lntp | grep 25565停掉占用进程或更换端口玩家连接超时安全组/防火墙未放行ss -lntp检查安全组放行 TCP/UDP 25565陌生玩家进入白名单未开启whitelist on开启白名单并添加玩家存档文件损坏运行时直接覆盖存档查看备份停止服务端后恢复备份服务器频繁重启内存不足触发 OOMdmesg | tail降低 view-distance 或加内存延迟高但不卡带宽或地理位置问题使用 ping 和 traceroute更换更近地域服务器或升级带宽6.5 上线前的开服检查清单在把“有没有一起玩的小伙伴”发出去之前建议逐项确认[ ] 服务端 jar 哈希校验通过[ ] eula.txt 已同意[ ] server.properties 中 white-listtrue[ ] 已添加全部朋友的白名单[ ] 已使用 systemd 或 screen 后台启动[ ] 备份脚本已执行一次且备份文件可正常解压[ ] UFW 放行 22 和 25565 端口[ ] 云安全组放行 25565 端口[ ] 已创建管理员账号并设置 ops[ ] 服务端启动日志出现 Done7. 监控、迁移与长期维护7.1 日常监控服务端稳定运行后不需要频繁登录游戏查看但建议定期检查服务和资源systemctl status mc htop df -h也可以写一个简单的健康检查脚本每隔几分钟检查端口是否可达nc -vz 127.0.0.1 25565如果服务未监听可以通过 systemd 自动拉起同时把关键日志输出到单独文件方便事后排查。7.2 存档备份与恢复演练备份不是“执行过脚本”就结束了还要验证恢复流程。恢复步骤sudo systemctl stop mc cd /srv/mc mv world world.corrupt mkdir world tar -xzf /srv/mc-backups/world-20250601-120000.tar.gz -C world sudo systemctl start mc这里先移动损坏目录而不是直接删除是为了保留现场。确认恢复成功后再清理。恢复演练最好在测试环境执行不要在朋友都在线时临时操作。没有实践过的备份脚本在灾难来临时不一定可靠。7.3 从“一个服务器”到“多个存档/多模式”如果想同时开纯净生存、创造服或小游戏服不要用插件切换世界更稳妥的方式是启动多个独立服务端实例每个实例放在独立目录。使用不同端口。每个实例使用独立用户或独立 systemd 服务。每个实例的level-name不同。这种方式复杂度更高但隔离性好一个实例崩溃不会影响另一个实例。8. 开服之外让“一起玩”的帖子真正落地8.1 纯净服的运营边界技术搭建只是开服的第一步。“纯净 1.21.11”如果没有对应的规则说明玩家之间很容易因为破坏、偷窃、恶意使用漏洞产生矛盾。建议在服务器群和公告中写清楚服务器是纯净生存禁止使用修改客户端和作弊模组。白名单玩家名单以管理员确认后的记录为准。破坏他人物品、恶意卡服会被警告或封禁。定期备份但不承诺回档所有玩家物品。这部分不涉及技术却能显著减少服务器纠纷。纯朋友服同样需要规则否则“一起玩”的体验会很快被破坏。8.2 新手最容易犯的三个错误第一直接用 root 运行服务端。这是最危险的习惯。一旦服务端所在系统被入侵攻击者可能拿到整个服务器的控制权。正确做法是使用独立用户并让该用户对/srv/mc目录有权限。第二只在本地保留备份。服务器磁盘损坏或误删除目录时备份如果也在这台服务器上等于没有备份。建议定期把备份同步到另一台机器、对象存储或家里的 NAS。第三端口全部放行。部分教程会让人直接关闭防火墙这会导致 SSH、RCON 等服务暴露在公网。只需开放游戏和 SSH 必要端口其他端口默认禁止。8.3 下一步可以学习的技术方向如果这个纯净服跑通后想让服务器更稳定可以继续学习以下内容Linux 用户权限与 systemd 服务管理。JVM 内存优化理解-Xms、-Xmx和 G1GC 参数。区块加载、实体数量与view-distance的关系。使用 Fabric 和性能优化类 mod保持原版机制的同时减少卡顿。日志分析和监控告警比如设置磁盘空间不足时的提醒。“6月新开服务器”听起来只是一个招募贴话题但真正能让服务器活到 7 月、8 月的不是一次性的热情而是服务端是否稳定、存档是否安全、规则是否清晰。把搭建和运维当做一个完整的工程来做小伙伴也会玩得更安心。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价