从零搭建高性能《我的世界》服务器:Linux云服务器部署与优化全攻略

📅 2026/8/22 2:22:58
从零搭建高性能《我的世界》服务器:Linux云服务器部署与优化全攻略
最近在和朋友联机玩《我的世界》时发现很多玩家都渴望找到一个稳定、热闹、玩法纯粹的生存服务器。自己搭建服务器虽然自由但面临网络、硬件、维护等一系列门槛。本文将为你提供一份从零开始的《我的世界》Java版服务器搭建与优化全攻略以当前热门的1.20.1版本为例手把手教你如何在Linux系统以Ubuntu 20.04为例上使用云服务器搭建一个高性能、可长期运行的“我的世界”服务器。无论你是想创建一个小型私人社区还是运营一个公开的多人世界这篇教程都能为你提供完整的解决方案。1. 核心概念我的世界服务器是什么在深入实操之前我们有必要厘清几个核心概念这能帮助你更好地理解后续的配置和优化。我的世界服务器本质上是一个运行在后台的Java应用程序。它负责管理游戏世界的数据区块、实体、玩家状态等处理所有玩家的连接请求执行游戏逻辑如红石、生物AI并确保所有在线玩家看到的世界状态是同步的。当你进入一个多人服务器时你的客户端不再负责运算世界而是作为一个“终端”接收服务器发来的数据并发送你的操作指令。服务器类型主要分为两种原版 (Vanilla) 服务器由Mojang官方提供的minecraft_server.jar运行。它完全遵循游戏原版特性没有任何修改适合追求纯净生存体验的玩家。插件 (Plugin) / 模组 (Mod) 服务器基于原版服务器核心进行功能扩展。插件服务器通常使用Bukkit/Spigot/Paper这类服务端核心。插件通过API接口修改或增加服务器功能如领地保护、经济系统、传送等不改变游戏本身的玩法和内容客户端无需安装任何额外文件。模组服务器使用Forge或Fabric等服务端核心。模组可以深度修改游戏内容添加新的方块、物品、生物和机制。要求客户端也必须安装完全相同的模组才能进入。本文将以搭建原版服务器和Paper服务端高性能插件服务器为主线因为这是最通用和稳定的起点。理解了原版再迁移到插件或模组服务端就会非常容易。2. 环境准备服务器与工具选择“工欲善其事必先利其器”。搭建一个稳定的服务器环境选择至关重要。2.1 服务器硬件与网络要求对于《我的世界》服务器性能瓶颈通常在于单核CPU性能和内存其次是网络带宽和硬盘I/O。CPU推荐使用主频较高的CPU。Java版MC服务器是单线程重度应用高主频比多核心更重要。云服务器选择时可以关注Intel Xeon E5系列或AMD EPYC系列。内存 (RAM)这是最重要的资源。建议分配小型私人服2-5人2GB - 4GB中小型社区服10-20人4GB - 8GB大型公开服20人以上8GB以上并根据插件/模组数量增加。硬盘推荐使用SSD。世界文件读写频繁SSD能极大减少区块加载和保存导致的卡顿。至少预留10-20GB空间。网络上行带宽至关重要。每个玩家大约需要100-500Kbps的稳定带宽。对于10人同时在线的服务器建议有5Mbps以上的公网上行带宽。使用云服务器可以完美解决家庭宽带无公网IP和上行带宽不足的问题。2.2 云服务器选择与配置对于绝大多数玩家购买一台云服务器是最佳选择。它省去了维护物理硬件、解决网络问题的麻烦。选择服务商国内主流的有阿里云、腾讯云、华为云等。它们经常有新人优惠活动可以很低成本体验。选择地域选择离你和你的朋友主要活动区域最近的机房以降低网络延迟。选择配置根据上文建议选择。对于新手入门可以选择“轻量应用服务器”它通常包含了流量包配置简单。例如2核CPU、4GB内存、60GB SSD硬盘、5Mbps带宽的配置足以支撑一个小型社区服。选择系统镜像强烈推荐选择 Ubuntu 20.04 LTS 或 22.04 LTS。LTS代表长期支持版稳定且社区资源丰富。本文将以Ubuntu 20.04为例。2.3 本地工具准备你需要以下工具来连接和管理你的云服务器SSH客户端用于远程连接Linux服务器。Windows系统推荐使用PuTTY或Windows Terminal内置OpenSSH。macOS和Linux系统可直接使用终端Terminal。SFTP/FTP客户端用于在本地电脑和服务器之间传输文件如世界存档、插件。推荐FileZilla或WinSCP。文本编辑器用于编辑服务器配置文件。推荐Notepad、VS Code或Nano服务器内命令行编辑器。3. 服务器系统初始化与Java环境搭建购买并启动云服务器后你会获得一个公网IP地址、用户名通常是root或ubuntu和密码或密钥。3.1 首次登录与系统更新使用SSH客户端连接你的服务器。# 在本地终端执行将 your-server-ip 替换为你的公网IP ssh rootyour-server-ip # 或如果是 ubuntu 用户 ssh ubuntuyour-server-ip输入密码或选择密钥文件登录。登录后首先更新系统软件包列表并升级现有软件这是一个好习惯。sudo apt update sudo apt upgrade -y3.2 安装Java运行环境《我的世界》服务器需要Java运行环境。推荐安装OpenJDK这是一个开源实现。首先检查是否已安装Javajava -version如果未安装或版本过低则进行安装。Minecraft 1.17版本需要Java 16或更高版本推荐安装Java 17LTS版本。# 安装 OpenJDK 17 sudo apt install openjdk-17-jre-headless -y # -headless 表示无图形界面版本更适合服务器环境 # 再次验证安装 java -version你应该能看到类似openjdk version 17.0.10 2024-01-16的输出。3.3 创建专用用户与目录为了安全不建议一直使用root用户运行游戏服务器。我们创建一个专用用户。# 创建一个名为 mcserver 的用户并为其创建家目录 sudo adduser --system --home /opt/minecraft mcserver # 切换到该用户的家目录 cd /opt/minecraft4. 实战搭建部署原版服务器现在我们开始部署最基础的原版服务器。4.1 下载官方服务器核心前往 Minecraft官网服务器下载页面 获取最新版服务器jar文件。或者直接使用wget命令下载指定版本。# 确保你在 /opt/minecraft 目录下 # 下载 Minecraft 1.20.1 原版服务器核心 sudo wget https://piston-data.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar # 注意此链接可能会随版本更新失效请以官网为准。4.2 首次运行与同意EULA首次运行服务器会生成一些必要文件但会因未同意EULA而退出。# 使用 mcserver 用户身份运行并分配2GB内存 sudo -u mcserver java -Xms2G -Xmx2G -jar server.jar nogui-Xms2G初始堆内存为2GB。-Xmx2G最大堆内存为2GB。请根据你的服务器总内存调整通常设置为总内存的70-80%。-nogui不启动图形界面纯命令行运行。运行后你会看到一些日志输出然后服务器停止并生成了eula.txt等文件。查看并编辑它sudo nano eula.txt将文件中的eulafalse改为eulatrue然后按CtrlX再按Y最后回车保存。4.3 基础服务器配置现在可以配置服务器的主要设置了。编辑server.properties文件sudo nano server.properties以下是一些关键配置项及其说明你可以按需修改# 服务器端口默认25565除非冲突否则不用改 server-port25565 # 服务器IP默认留空绑定所有网络接口 server-ip # 游戏模式survival生存 creative创造 adventure冒险 spectator旁观 gamemodesurvival # 是否开启强制游戏模式玩家无法更改 force-gamemodefalse # 最大玩家数 max-players20 # 是否生成结构村庄、神殿等 generate-structurestrue # 最大世界大小单位区块。默认-1无限 max-world-size10000 # 是否生成怪物 spawn-monsterstrue # 是否生成动物 spawn-animalstrue # 是否生成NPC村民 spawn-npcstrue # 是否开启白名单需要在whitelist.json中添加玩家 white-listfalse # 是否开启正版验证如果关闭任何离线客户端都能进入 online-modetrue # 视距单位区块。越大越吃性能推荐6-10 view-distance10 # 是否启用命令方块 enable-command-blockfalse # 服务器 MOTD玩家在服务器列表中看到的描述 motdA Minecraft Server Built by CSDN Tutorial保存并退出。4.4 启动服务器与后台运行现在我们可以正式启动服务器了。为了让服务器在SSH断开后也能持续运行我们需要使用一个屏幕管理工具如screen或tmux。这里使用screen。# 安装 screen sudo apt install screen -y # 创建一个名为 mc 的 screen 会话并以 mcserver 用户身份进入 sudo -u mcserver screen -S mc # 此时你进入了新的 screen 会话在此会话中启动服务器 cd /opt/minecraft java -Xms2G -Xmx2G -jar server.jar nogui服务器开始启动你会看到加载世界、生成区块的日志。当出现Done (XX.XXXs)! For help, type help时表示启动成功。重要操作暂时脱离 screen 会话按CtrlA然后按D。这样服务器会在后台继续运行。重新连接 screen 会话sudo -u mcserver screen -r mc在服务器控制台输入命令重新连接会话后可以直接输入游戏内命令如op YourPlayerName给玩家管理员权限或stop安全关闭服务器。现在你的朋友就可以在《我的世界》客户端中通过“多人游戏”-“添加服务器”输入你的服务器公网IP:端口例如123.123.123.123:25565来加入了5. 进阶优化部署Paper服务端原版服务器性能有限尤其是红石、实体多的时候容易卡顿。Paper是Spigot的一个分支进行了大量性能优化和Bug修复并且完全兼容Bukkit/Spigot插件是搭建插件服务器的首选。5.1 下载与替换Paper核心首先停止原版服务器在screen会话中输入stop。然后下载Paper。前往 PaperMC官网 找到对应版本如1.20.1的下载链接。使用wget下载。# 回到 /opt/minecraft 目录 cd /opt/minecraft # 备份原版核心可选 mv server.jar server.jar.vanilla.backup # 下载 Paper 1.20.1 构建版本以构建 #100为例请查看官网最新 sudo wget https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/100/downloads/paper-1.20.1-100.jar -O server.jar5.2 首次运行与配置运行方式与原版完全相同它会自动继承之前的world存档和server.properties配置。sudo -u mcserver java -Xms2G -Xmx2G -jar server.jar nogui首次运行Paper会生成一些额外的配置文件如spigot.yml、paper.yml、bukkit.yml。这些文件提供了更细致的性能调优选项。一个重要的优化调整paper.yml中的视距设置。sudo nano paper.yml找到view-distances部分可以设置不同的视距策略降低服务器负担view-distances: default: 8 # 默认视距比原版稍低 entity-tracking-distance: default: 48 players: 48 animals: 48 monsters: 48 misc: 32 other: 64保存后需要在游戏内或控制台执行paper reload或重启服务器生效。5.3 安装与管理插件Paper的核心优势在于海量的插件生态。插件文件是.jar格式需要放入plugins文件夹。下载插件从可靠的源如 SpigotMC 或 Bukkit 下载你需要的插件如EssentialsX——基础功能WorldEdit——创世神WorldGuard——领地保护。上传插件使用FileZilla等SFTP工具连接到服务器导航到/opt/minecraft/plugins目录将插件jar文件上传至此。如果plugins文件夹不存在首次启动Paper后会生成。加载插件上传后在服务器控制台输入reload confirm或重启服务器stop然后重新启动。插件会自动加载并生成各自的配置文件夹。配置插件每个插件会在plugins目录下生成一个同名文件夹里面有其配置文件通常是config.yml。根据插件文档进行配置。6. 服务器运维与常见问题排查服务器搭建只是第一步长期稳定运行需要日常维护。6.1 自动化启动与守护进程使用screen是手动方式更专业的方法是配置为系统服务实现开机自启和自动重启。创建系统服务文件sudo nano /etc/systemd/system/minecraft.service写入以下内容根据你的路径和内存调整[Unit] DescriptionMinecraft Server Afternetwork.target [Service] Typesimple Usermcserver WorkingDirectory/opt/minecraft ExecStart/usr/bin/java -Xms4G -Xmx4G -jar server.jar nogui Restarton-failure RestartSec10 [Install] WantedBymulti-user.target保存后启用并启动服务sudo systemctl daemon-reload sudo systemctl enable minecraft.service sudo systemctl start minecraft.service现在你可以使用sudo systemctl status minecraft.service查看状态使用sudo systemctl stop/restart minecraft.service来管理服务器。服务器会在系统重启后自动启动。6.2 常见问题与解决方案问题现象可能原因排查与解决思路客户端无法连接显示“无法连接至服务器”1. 服务器未启动。2. 防火墙/安全组未放行端口。3. 客户端与服务器版本不一致。1. 检查服务状态sudo systemctl status minecraft。2.重点检查云服务器控制台的安全组规则确保入方向放行了TCP:25565端口。3. 确认客户端与服务端都是1.20.1或相同版本。服务器启动时报错java.lang.UnsupportedClassVersionErrorJava版本过低。安装更高版本的Java如Java 17sudo apt install openjdk-17-jre-headless并确保java -version输出正确。游戏内延迟高、卡顿1. 服务器性能不足CPU/内存。2. 视距过高或实体过多。3. 玩家网络到服务器网络不佳。1. 使用top或htop命令查看服务器资源使用情况。2. 降低server.properties中的view-distance如设为8或优化paper.yml。3. 使用/tps命令Paper端查看服务器Tick速率低于18说明服务器卡顿。考虑升级配置或安装性能优化插件如ClearLag清理实体。玩家破坏/偷窃他人财物未安装领地保护插件。安装WorldGuard和WorldEdit插件并学习配置区域保护。这是公开服必备的插件。服务器后台日志刷屏出现大量异常某个插件存在错误或与其他插件冲突。查看日志文件logs/latest.log找到报错插件的名字。尝试更新该插件到最新版本或暂时移除它。世界文件过大硬盘空间不足长期运行探索区域过大。1. 定期使用//chunk命令WorldEdit或安装Chunky插件预生成世界边界内的区块减少运行时生成卡顿。2. 安装ClearLag等插件定期清理掉落物和怪物。3. 考虑使用多世界插件将不同玩法隔离开。6.3 备份与恢复定期备份是运维的生命线。可以编写一个简单的Shell脚本并配置Cron定时任务。创建备份脚本sudo nano /opt/minecraft/backup.sh写入以下内容#!/bin/bash BACKUP_DIR/opt/minecraft/backups SERVER_DIR/opt/minecraft DATE$(date %Y%m%d-%H%M%S) # 发送保存命令到服务器控制台如果通过Rcon或tmux # 这里以通过 systemd 服务管理为例我们先停止服务进行冷备份适合小型服 # 对于大型服应研究支持热备份的插件如 BackupOnSave sudo systemctl stop minecraft.service # 创建备份目录 mkdir -p $BACKUP_DIR # 打包世界、插件配置等重要文件 tar -czf $BACKUP_DIR/backup-$DATE.tar.gz -C $SERVER_DIR world world_nether world_the_end plugins server.properties sudo systemctl start minecraft.service # 删除7天前的备份 find $BACKUP_DIR -name *.tar.gz -mtime 7 -delete给脚本添加执行权限并设置定时任务每天凌晨3点备份sudo chmod x /opt/minecraft/backup.sh sudo crontab -e # 在打开的编辑器中添加一行 0 3 * * * /opt/minecraft/backup.sh7. 最佳实践与高级建议要让你的服务器从“能用”变得“好用、稳定、热闹”还需要注意以下几点权限管理是核心不要轻易给玩家OP权限。使用LuckPerms这类现代权限管理插件为不同组如默认玩家、VIP、管理员分配精细的权限节点。配置读写分离将server.properties、spigot.yml等核心配置纳入版本管理如Git方便回滚和迁移。监控与日志除了查看latest.log可以安装Spark性能分析插件它能生成性能报告精准定位卡顿源头是实体、红石还是区块加载。社区与规则一个热闹的服务器离不开良好的社区氛围。建立清晰的服务器规则如禁止作弊、禁止恶意破坏、聊天礼仪并在玩家进入时通过提示告知。内容与玩法纯净生存久了容易腻。可以定期举办建筑比赛、寻宝活动或者利用插件增加小游戏如起床战争、空岛生存保持服务器活力。安全第一为服务器控制台设置强密码并考虑使用RCON远程控制替代直接SSH执行命令。定期更新Java、Paper核心和插件到稳定版本。使用防火墙如ufw严格限制除了游戏端口和SSH端口外的所有入站连接。搭建和维护一个《我的世界》服务器是一个充满乐趣的技术项目它融合了系统运维、网络知识和社区管理。从在云服务器上敲下第一条命令开始到看到朋友们陆续加入你的世界共同建造、探险这个过程本身就是一种创造。希望这篇详尽的指南能帮你扫清障碍顺利开启你的服务器管理员之旅。如果在实践中遇到具体问题多查阅官方Wiki、插件文档和活跃的技术社区大部分难题都能找到答案。