Minecraft Server 搭建教程
前言
本教程是给新手服主指路,老手就不要来这里喷了
若需要转载本文章,请联系我
准备
1.一颗有恒心的心,开服十分枯燥
2.有一台4G以上运行内存的电脑,笔记本、台式不限
3.计算机基本常识(网络、系统等)
4.英语基本功底(其实有翻译,汉化包也挺多的,不过技多不压身是吧)
5 .(可选)VPS(云)服务器
环境部署
JAVA(必要)
本篇是java mc服务器,所以java环境必要
Windows
下载
点我前往
根据自己服务器需要下载相应版本
安装
Windows下都是图形化安装,照着安装引导来就是,若有问题在下方评论
ubuntu/debian系
1 | sudo apt update |
arch系
使用aur助手下载1
paru jdk
根据需要下载
版本选择(重要)
Java 版本必须和 MC 服务端版本匹配,装错会直接启动报错:
| MC 版本 | Java 版本 |
|---|---|
| 1.20.5 及以上 | Java 21 |
| 1.17 ~ 1.20.4 | Java 17 |
| 1.16.5 及以下 | Java 8 |
Windows 下建议安装 Temurin(点我)而不是 Oracle JDK,无广告、开源免费,版本选择也更直观。
下载服务端
新手推荐用 Paper 服务端:性能好、自带优化、社区活跃;想要最纯粹的体验用官方原版。
原版服务端
前往官方下载页(需要登录 Mojang 账号),选择对应 MC 版本的 server.jar。
Paper
前往 PaperMC 下载页,选择你想要的 MC 版本下载 jar。
下载的 jar 建议统一改名为
server.jar并放在一个单独的文件夹里(比如D:\mc-server),后面所有命令都按这个文件名写。
其他服务端(模组/混合端)
上面的原版和 Paper 是”插件服”,适合装 Bukkit 系插件。想玩模组(新增物品、机器、魔法等玩法)需要换模组端,常见选择如下。
Forge(经典模组端)
模组生态最老牌、最丰富,大部分整合包都基于 Forge。目前 Forge 主要支持 1.21.x 及以前的版本,1.20.1 是其模组数量最庞大的版本。
安装
- 前往 Forge 官网,选择 MC 版本 → 点击 Installer 下载(文件名按实际下载的替换)
- 在服务器文件夹里执行安装:
1
java -jar forge-1.20.1-47.3.0-installer.jar --installServer
- 安装完成会生成
run.sh/run.bat和 libraries 目录,以后用脚本启动:1
./run.sh nogui
旧版本(1.12.2 及以前)没有 run 脚本,启动方式是
java -Xmx4G -jar forge-xxx-universal.jar nogui。
装模组
把模组 jar 丢进服务器根目录的 mods 文件夹,重启生效。客户端和服务端的 mods 必须一致(服务端只留标明 server 端的模组,客户端装全部),否则进服会报”模组缺失 / 版本不符”。
NeoForge(Forge 继任者)
Forge 团队在 1.20.1 之后分裂出的新项目,新版本模组生态的默认选择。
- 前往 NeoForge 官网,下载对应 MC 版本的 installer
- 安装方式与 Forge 相同:mods 目录用法与 Forge 完全一致。
1
2java -jar neoforge-21.1.141-installer.jar --installServer
./run.sh nogui
Sponge 海绵(插件 API 端)
海绵不是模组端,是一套插件 API 服务端,插件用 Java 开发、扩展性极强,适合想自己写插件的服主。
- SpongeVanilla:纯原版基础上跑海绵插件
- SpongeForge:在 Forge 上叠加海绵插件,模组 + 海绵插件共存
下载:SpongePowered 下载页,启动方式和原版一样(文件名按实际下载的替换):1
java -Xmx4G -jar spongevanilla-1.21.1-13.0.0.jar
插件放进 plugins 文件夹(注意是 plugins 不是 mods),首次运行同样要先同意 eula。
Fabric / Quilt(轻量模组端)
Fabric 启动快、生态活跃,模组数量增长迅速;Quilt 是其分叉,用法相同。
- 下载 Fabric installer
- 一条命令安装(版本按需填):
1
java -jar fabric-installer.jar server -mcversion 1.20.1 -downloadMinecraft
- 生成
fabric-server-launch.jar,启动:模组同样是丢1
java -Xmx4G -jar fabric-server-launch.jar nogui
mods文件夹,注意 Fabric 模组和 Forge 模组不通用。
混合端(插件 + 模组同跑)
想一个服同时跑 Bukkit 插件(地皮、经济、领地等)和 Forge 模组,可以用混合端:
- Arclight:Forge + Bukkit/Spigot 兼容
- Mohist:Forge 混合端,国内社区活跃
- CatServer、Magma 等
下载各自官网的 jar,启动方式与原版一致。注意混合端兼容性不如纯端,插件和模组冲突时需要逐个排查。
模组服通用要点
- 内存:模组服比插件服吃内存,小模组服建议 6G,大型整合包建议 8G 以上(
-Xmx8G) - 模组来源:CurseForge 和 Modrinth 是两大平台,下载时看清 MC 版本和模组加载器(Forge / NeoForge / Fabric)是否匹配
- 客户端也要装模组:服务端装模组决定玩法,客户端必须安装相同模组才能进服,建议用 CurseForge 客户端或 Modrinth App 管理整合包
- 升级成本高:模组服升级 MC 版本前要逐个确认模组兼容性,成本远高于插件服,务必先备份存档
初始化服务器
在服务器文件夹里打开命令行(Windows 下在文件夹地址栏输入 cmd 回车,Ubuntu 下 cd 到目录),输入:
1 | java -Xmx4G -Xms4G -jar server.jar nogui |
首次运行会生成 eula.txt、server.properties、logs、world 等文件,然后提示需要同意 EULA 并退出。用文本编辑器打开 eula.txt,把:
1 | eula=false |
改成:
1 | eula=true |
保存后再运行一次启动命令,世界开始生成,看到 Done (x.xxx s)! 就说明服务器启动成功了,默认监听 25565 端口。
server.properties 配置
配置文件在服务器根目录,用文本编辑器打开即可修改,改完保存并重启服务器生效。常用项:
| 配置项 | 默认值 | 说明 |
|---|---|---|
| server-port | 25565 | 服务器端口,改了就按新端口连 |
| online-mode | true | 正版验证。开离线服(盗版客户端也能进)改成 false |
| max-players | 20 | 最大同时在线人数 |
| gamemode | survival | 默认游戏模式:survival / creative / adventure |
| difficulty | easy | 难度:peaceful / easy / normal / hard |
| motd | A Minecraft Server | 服务器列表里显示的描述 |
| white-list | false | 白名单开关,配合 /whitelist 命令使用 |
| view-distance | 10 | 视距,调低可显著降低服务器负载 |
| spawn-protection | 16 | 出生点保护范围,服务器里建建筑前建议调成 0 |
| enforce-secure-profile | true | 1.19+ 的聊天签名验证,离线服需改成 false,否则客户端会报”聊天验证失败” |
| enable-command-block | false | 是否开启命令方块,需要就改成 true |
启动脚本
每次手敲启动命令太麻烦,建议写成脚本。
Windows
在服务器文件夹新建 start.bat,内容:
1 | @echo off |
以后双击 start.bat 即可开服。
ubuntu/debian系
新建 start.sh:
1 |
|
赋予执行权限并运行:
1 | chmod +x start.sh |
内存分配建议:
-Xmx是最大内存,1~3 人 2G,5~10 人 4G,20 人以上 8G。不要超过机器物理内存的一半,要留内存给系统。
配合screen或tmux可以把服务器挂后台,断开 SSH 也不会掉线:
1 screen -S mc ./start.sh
让朋友连进来
同一局域网
Windows 在命令行输入 ipconfig,Ubuntu 输入 ip addr,找到本机内网 IP(一般是 192.168.x.x)。朋友在多人游戏里直接输入 内网IP:25565 即可。
云服务器(VPS)
在云服务商控制台找到安全组(阿里云叫安全组,腾讯云叫防火墙),添加一条入方向规则:放行 TCP 端口 25565(协议选 TCP,源地址 0.0.0.0/0)。默认的安全组一般只开 22 和 80,不开端口别人是连不进来的。
家里电脑开服(端口映射)
- 给电脑设置固定内网 IP(路由器 DHCP 绑定)
- 进路由器管理页(一般是 192.168.1.1),找到「端口映射 / 虚拟服务器 / NAT」功能
- 添加规则:外部端口 25565 → 内网 IP 的 25565,协议 TCP+UDP
- 朋友用你的公网 IP 连接
注意:家用宽带大多是动态公网 IP,重启光猫就变了,可以用 DDNS(如花生壳、阿里云 DDNS)绑定域名解决。
内网穿透(不想折腾路由器)
- frp:自建 VPS 中转,免费可控,网上教程多
- Tailscale:组虚拟局域网,装好客户端后朋友直接用你的 Tailscale IP 连接,不需要任何端口映射,最省心
- 商业服务:花生壳、Sakura Frp 等
服务器日常管理
进服后在游戏内给自己 OP(管理员权限):
1 | /op 你的游戏ID |
常用管理命令:
| 命令 | 作用 |
|---|---|
| /op |
给予管理员权限 |
| /deop |
取消管理员权限 |
| /whitelist add |
添加白名单(配合 white-list=true) |
| /ban |
封禁玩家 |
| /kick |
踢出玩家 |
| /save-all | 立即保存世界 |
| /stop | 安全关闭服务器 |
备份
最稳妥的备份方式:停服后压缩 world 文件夹。 服务器运行中直接复制 world 容易备份到损坏的数据。
不停服备份可以用 Paper 的定时备份插件(如 SimpleBackup),或者自己写脚本定时打包:
1 | tar -czf backup-$(date +%Y%m%d-%H%M).tar.gz world |
Windows 下可以用 7-Zip 命令行 + 任务计划程序实现定时备份。
更新服务端
停服 → 备份 world → 下载新版本 jar 替换 → 重新启动。注意:插件和模组要确认兼容新版本,存档大版本升级前务必先备份。
常见问题 FAQ
- 连接超时 / 无法连接
检查:端口映射或安全组是否放行 25565;Windows 防火墙是否放行 Java;server-port是否和连接地址一致;客户端和服务端 MC 版本是否相同。 - 正版验证失败 / Invalid session
离线客户端连了online-mode=true的服务器。要么服务器关正版验证,要么客户端换正版登录。 - 聊天验证失败(1.19+)
离线服需要把enforce-secure-profile改成false。 - UnsupportedClassVersionError
Java 版本和 MC 不匹配,对照上文版本表安装对应 JDK。 - Failed to bind to port / 端口被占用
有程序占了 25565,改server-port换个端口,或用netstat -ano | findstr 25565(Windows)查看占用进程。 - OutOfMemoryError
-Xmx给太小了,调大内存,或者服务器内存不足时加 swap。 - 局域网里别人能进,自己进不去
家用路由器大多不支持 NAT 回环,自己连自己要用内网 IP 而不是公网 IP。 - 服务器很卡
降低view-distance,限制max-players,检查是不是内存不足;人多的服务器建议换 Paper 并装优化插件。
如果上面的问题没能解决你的问题,欢迎在评论区留言提问。
评论