1.分类
在部署之前,我们要先了解服务端的类型
Ⅰ. 插件端
顾名思义,插件端就是使用插件的服务器。在大多数情况下,它在首次运行完成(指世界文件夹首次生成后)后会在根目录生成一个plugins文件夹用来存储插件(部分插件端可能有所修改,具体查看该端的开发文档)。无需客户端安装任何额外文件。
| 服务器名称 | 支持版本 | 下载地址 | 特性 |
| Spigot | 全版本(1.7+为主) | GetBukkit | 最基础的插件端核心,轻量 |
| Paper | 1.8+ | PaperMC | 基于Spigot优化,性能更强 |
| Purpur | 1.12+ | Purpur | 基于Paper进阶优化,支持更多配置 |
| Bukkit | 说法太多,不确定 | GetBukkit | 早期插件端核心 |
优点
客户端零门槛:玩家用纯原版MC客户端即可加入(部分插件需要客户端mod配合),无需安装Mod/整合包;
稳定性高:基于原版核心,崩溃概率低,版本兼容性好;相较于mod端性能需求较小
缺点
无法修改游戏核心机制(如新增方块、生物、物品),仅能扩展逻辑功能;部分高负载插件可能导致服务器卡顿。
性能需求 (AI给的,实际上更少一些,不用大量TNT炸服基本跑不满)
– CPU:中等需求,插件数量/并发玩家数影响核心占用;
– 内存:20人内需4-8GB RAM,百人服需16-32GB RAM;
– 磁盘:HDD满足基础需求,追求加载速度可选SSD; – 网络:上行带宽5-10Mbps/50人。
Ⅱ. MOD端
使用mod的服务器端,客户端需要同步安装mod,在大多数情况下,它在首次运行完成(指世界文件夹首次生成后)后会在根目录生成一个mods文件夹用来存储MOD(部分端可能有所修改,具体查看该端的开发文档)。
| 服务器名称 | 适用类型 | 下载地址 | 特性 |
| Forge | 绝大多数forge Mod(工业2、暮色森林) | Minecraft Forge | 最主流的Mod端核心,生态成熟 |
| Fabric | 绝大多数fabric Mod(工业2、暮色森林) | Minecraft Fabric | 轻量高效,适配新版本快 |
| NeoForge | 高版本Neo Mod(只有高版本xwx) | NeoForge | 基Forge的分支,适配高版本 |
优点
可完全通过mod自定义游戏内容,玩法丰富
支持深度玩法扩展(如新增维度)
核心玩家粘性高
缺点
服务器稳定性差(Mod冲突易崩溃)
性能需求高
版本更新慢,Mod适配周期长
客户端需安装对应Mod,配置有一定难度(其实我觉得不会配置客户端mod的人也别玩了,吃饭去吧)
性能需求 (AI给的,实际上更少一些,不用大量TNT炸服基本跑不满)
– CPU:高需求,科技/魔法类Mod会大幅占用资源;
– 内存:10人内需8-16GB RAM,50人服需32-64GB RAM,大型整合包需更高;
– 磁盘:最好使用SSD,适配大量Mod资源文件的高IO需求;
– 网络:上行带宽8-15Mbps/50人,Mod资源传输对带宽要求更高。
Ⅲ . 原版端服务器
原版服务器核心,只支持添加数据包。
下载链接:Minecraft 服务器下载 | Minecraft
性能需求 (AI给的,仅供参考,大量TNT炸服也会炸)
– CPU:低需求;
– 内存:10人内需2-4GB RAM,50人服需8-16GB RAM;
– 磁盘:HDD
– 网络:上行带宽3-5Mbps/50人
2.Java配置
对于不同的版本,JAVA版本也不一样,对应下表选择:
| 服务端版本 | java需求 | 下载地址 |
| 从1.12(Java版)开始 | ≥Java 8 | Java Downloads | Oracle |
| 从1.17(Java版)开始 | ≥Java 16 | Java Archive Downloads – Java SE 16 |
| 从1.18(Java版)开始 | ≥Java 17 | Java Downloads | OracleJava Archive Downloads – Java SE 17.0.12 and earlierJava Downloads | Oracle |
| 从1.20.5(22w41a)开始 | ≥Java 21,操作系统为64位 | Java Archive Downloads – Java SE 21 |
对于Windows用户,推荐使用Installer版本(.exe后缀)或者是msi Installer版本(.msi后缀)的,这样可以避免配置系统path的麻烦(想要高自定义的用户可以自行安排)。有多个java版本的可以参考文章:多个 JDK 版本(Java 8、Java 17、Java 21)下载和切换_java21下载-CSDN博客
对于Linux的用户,参考内容:Linux系统下的最简单的Java环境配置命令 – 灼光的小论坛
3.运行服务器(以purpur-1.19.2-1858.jar为例)
我们分了两种用户:Windows端和MCSM面板端(适用于Linux的mc面板)
Windows端安装
将服务器核心放入预先预留的文件夹(要求所有目录皆为纯英文)

创建一个新建文本文档.txt重命名为run.bat(注意!要用UTF-8编码格式),用记事本打开并按照以下格式编辑:
:: 模板如下
@echo off
:: [-XmxXG]最大内存XGB,[-XmsYG]最小内存YGB,不要GUI界面就在后面加一个-nogui
java -XmxXG -XmsYG -jar [你的服务器核心名称(需要包含.jar后缀)]
pause我的是这样子的
@echo off
java -Xmx6G -Xms1G -jar purpur-1.19.2-1858.jar -nogui
pause保存后双击运行,会打开一个命令行窗口
最后会出现以下内容

不过不用担心,不是报错,退出窗口回到服务器目录,你会看到以下内容
test_server
├── cache/
├── libraries/
├── logs/
├── versions/
├── eula.txt
├── purpur-1.19.2-1858.jar
├── run.bat
└── server.properties
双击打开eula.txt,这是Minecraft 最终用户许可协议 (“EULA”),访问EULA | Minecraft可以查看协议内容

修改为以下内容
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
#Sat Jan 24 16:32:01 CST 2026
#同意协议
eula=true保存后重新运行run.bat,出现以下内容就证明部署好了
Starting org.bukkit.craftbukkit.Main
System Info: Java 20 (Java HotSpot(TM) 64-Bit Server VM 20.0.2+9-78) Host: Windows 10 10.0 (amd64)
Loading libraries, please wait...
[16:54:31 INFO]: Building unoptimized datafixer
[16:54:33 INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[16:54:33 INFO]: Found new data pack file/bukkit, loading it automatically
[16:54:36 INFO]: Loaded 7 recipes
[16:54:38 INFO]: Starting minecraft server version 1.19.2
[16:54:38 INFO]: Loading properties
[16:54:38 INFO]: This server is running Purpur version git-Purpur-1858 (MC: 1.19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT) (Git: 482a83f on HEAD)
[16:54:38 INFO]: Server Ping Player Sample Count: 12
[16:54:38 INFO]: Using 4 threads for Netty based IO
[16:54:38 INFO]: [ChunkTaskScheduler] Chunk system is using 1 I/O threads, 2 worker threads, and gen parallelism of 2 threads
[16:54:40 WARN]: [Pufferfish] Will not enable SIMD! These optimizations are only safely supported on Java 17 and Java 18.
[16:54:40 INFO]: Default game type: SURVIVAL
[16:54:40 INFO]: Generating keypair
[16:54:40 INFO]: Starting Minecraft server on *:25565
[16:54:40 INFO]: Using default channel type
[16:54:40 INFO]: Paper: Using Java compression from Velocity.
[16:54:40 INFO]: Paper: Using Java cipher from Velocity.
[16:54:45 INFO]: [spark] Loading spark v1.10.165
[16:54:45 INFO]: Preparing level "world"
[16:55:07 INFO]: Preparing start region for dimension minecraft:overworld
[16:55:07 INFO]: Time elapsed: 149 ms
[16:55:07 INFO]: Preparing start region for dimension minecraft:the_nether
[16:55:07 INFO]: Time elapsed: 156 ms
[16:55:07 INFO]: Preparing start region for dimension minecraft:the_end
[16:55:07 INFO]: Time elapsed: 92 ms
[16:55:07 INFO]: [spark] Enabling spark v1.10.165
[16:55:09 INFO]: [spark] Using Paper ServerTickStartEvent for tick monitoring
[16:55:12 INFO]: [spark] Starting background profiler...
[16:55:12 INFO]: [spark] The async-profiler engine is not supported for your os/arch (windows10/amd64), so the built-in Java engine will be used instead.
[16:55:15 INFO]: Running delayed init tasks
[16:55:15 INFO]: Done (37.111s)! For help, type "help"
>注意,这时如果关闭了这个窗口,那么服务器就关了。
MCSM面板端
①安装以及初步登录
首先,访问MCSM的下载界面:MCSManager | Free, Secure, Distributed, Modern Control Panel for Minecraft and Steam Game Servers.与文档界面:快速开始 | MCSManager将MCSM部署到你的服务器上并运行。(首次运行他会提供初始账户与密码)
访问http://你的服务器地址:2333进入面板【用了反向代理的请看通过 NGINX 配置 HTTPS | MCSManager这篇文章对你的服务器进行配置,本地用户(指的是将面板部署到与访问面板相同设备上的用户)直接访问:http://localhost:2333】然后登录。登录后,你可以在子用户页面中修改名称与密码


②创建一个实例
1.进入应用市场>创建实例,这里提供了三种创建方式,这里只讲直接创建。

2.点击[选择]

3.选用节点

实例名称:必填,可以使用中文,但最好保持唯一性。
实例类型:必选,这里按需选择就行,如果不知道,就选通用控制台程序(不知道为啥,选择purpur也会显示MC Java服务器,我也是没招了)




启动命令:
Windows:
::如果你不想在服务器桌面出现GUI,可以在后面加参数”-nogui“
[你的java.exe地址,通常存在“C:\Program Files\Java\jdk-版本号\bin”文件夹中,需要包含java.exe] -XmxXG -XmsYG -jar [你的服务器核心名称(需要包含.jar后缀)]
::示例,使用绝对地址的原因是因为MCSM可能读取不到系统path里的Java配置:
"C:\Program Files\Java\jdk-17\bin\java.exe" -Xmx6G -Xms1G -jar purpur-1.19.2-1858.jar
::如果你打算在根目录创建一个如上文的run.bat,那么就只需要填入下方内容
run.batLinux:
java -jar purpur-1.19.2-1858.jar关闭实例命令:
必填,选择了实例类型后,大部分情况下会自动填写,如果没有且不清楚,就填写
^C
::直接关闭进程,可能会损坏文件,大部分形况下我的世界服务器都是”stop“指令关机服务端文件目录:
你可以通过这个自定义服务器放在哪里,这里我选择让他自行创建
我配置如下:

实例创建完成后如下(如果你和我一样,在上方选择了MC的其他服务端但是依旧显示MC-JAVA服务端,请往下翻)

修改实例类型:下翻,找到应用实例设置

打开后找到实例类型

修改保存即可


③上传服务器核心
1.在功能组中找到[文件管理],点击进入管理页面


2.点击[上传文件],上传服务器核心

④运行
1.返回项目终端,点击[开启],运行后同样会出现以下报错。

2.在[服务端配置文件]的管理界面找到eula.txt,点击编辑,修改为”是“



点击[保存],返回终端重新运行,完成部署。

4.修改 server.properties(同样以purpur-1.19.2-1858.jar为例)
以下是server.properties的详细解析,按需修改,本地直接部署的用记事本或vim编辑器打开;用MCSM面板的在[服务端配置文件]的管理界面找到server.properties点击编辑就行。
// Minecraft server properties
// Sat Jan 24 18:16:11 CST 2026
// 启用JMX监控(用于专业的服务器性能/内存监控,普通玩家无需开启)
// 配置规则:true(启用)/false(禁用),默认false
enable-jmx-monitoring=false
// RCON远程管理端口(第三方工具远程控制服务器的端口,如RCON客户端)
// 配置规则:1-65535之间的未被占用端口,默认25575
rcon.port=25575
// 世界种子(创建服务器世界的随机种子,留空则随机生成)
// 配置规则:填写数字/字符串(如123456、minecraft),留空=随机
level-seed=
// 玩家默认游戏模式
// 配置规则:survival(生存)/creative(创造)/adventure(冒险)/spectator(旁观),默认survival
gamemode=survival
// 启用命令方块(允许服务器中使用命令方块)
// 配置规则:true(启用)/false(禁用),默认false
enable-command-block=false
// 启用Query查询(服务器列表工具获取服务器信息的开关,如玩家数、版本)
// 配置规则:true(启用)/false(禁用),默认false
enable-query=false
// 世界生成器设置(自定义世界生成规则,仅适用于自定义地图/模组)
// 配置规则:JSON格式字符串(如自定义生物群系),默认{}(使用默认规则)
generator-settings={}
// 强制启用安全配置文件(限制旧版客户端/不安全登录方式,提升服务器安全)
// 配置规则:true(强制启用)/false(禁用),默认true
enforce-secure-profile=true
// 服务器世界文件夹名称(保存世界数据的文件夹名)
// 配置规则:自定义字符串(如myworld),默认world
level-name=world
// 服务器MOTD(服务器列表中显示的描述文字,支持颜色代码)
// 配置规则:自定义字符串(如"§a我的MC服务器§r",§a=绿色),默认"A Minecraft Server"
motd=A Minecraft Server
// Query查询端口(与enable-query配合使用,需和server-port区分)
// 配置规则:1-65535之间的未被占用端口,默认25565
query.port=25565
// 启用PVP(玩家之间可互相攻击)
// 配置规则:true(启用)/false(禁用),默认true
pvp=true
// 生成自然结构(如村庄、地牢、要塞等)
// 配置规则:true(生成)/false(不生成),默认true
generate-structures=true
// 最大连锁邻居更新次数(性能相关,限制区块更新连锁次数,防止卡顿)
// 配置规则:数字(建议默认1000000,数值过大会导致服务器卡顿)
max-chained-neighbor-updates=1000000
// 服务器难度
// 配置规则:peaceful(和平)/easy(简单)/normal(普通)/hard(困难),默认easy
difficulty=easy
// 网络压缩阈值(小于该大小的数据包不压缩,提升网络性能)
// 配置规则:数字(字节数,0=全部压缩,-1=禁用压缩),默认256
network-compression-threshold=256
// 最大tick时间(服务器单tick允许的最长时间,超时强制关闭防止卡死)
// 配置规则:数字(毫秒,0=禁用超时检测),默认60000(60秒)
max-tick-time=60000
// 强制要求玩家加载资源包(玩家必须下载指定资源包才能进入)
// 配置规则:true(强制)/false(可选),默认false
require-resource-pack=false
// 使用原生传输(Linux系统原生网络传输,提升性能)
// 配置规则:true(启用)/false(禁用),默认true(仅Linux有效)
use-native-transport=true
// 服务器最大在线玩家数
// 配置规则:数字(根据服务器性能调整,如10/20/50),默认20
max-players=20
// 启用正版验证(仅正版Minecraft账号可进入)
// 配置规则:true(正版验证)/false(离线模式,盗版也可进),默认true
online-mode=true
// 启用服务器状态(服务器列表中显示在线状态、玩家数等)
// 配置规则:true(启用)/false(禁用,列表显示"离线"),默认true
enable-status=true
// 允许玩家飞行(生存模式下也允许飞行)
// 配置规则:true(允许)/false(禁止),默认false
allow-flight=false
// 向管理员广播RCON命令(RCON执行的命令在OP聊天框显示)
// 配置规则:true(广播)/false(不广播),默认true
broadcast-rcon-to-ops=true
// 视野距离(玩家可见区块范围,影响服务器性能)
// 配置规则:数字(3-32,数值越大越吃性能),默认10
view-distance=10
// 服务器绑定的IP地址(留空绑定所有网卡,多IP服务器需指定)
// 配置规则:填写服务器IP(如192.168.1.100),留空=绑定所有IP
server-ip=
// 资源包提示语(玩家进入时的资源包下载提示)
// 配置规则:自定义字符串(如"请下载专属资源包!"),留空=默认提示
resource-pack-prompt=
// 允许进入下界(玩家可通过下界门进入下界维度)
// 配置规则:true(允许)/false(禁止),默认true
allow-nether=true
// 服务器端口(玩家连接服务器的端口)
// 配置规则:1-65535之间的未被占用端口,默认25565
server-port=25565
// 启用RCON远程管理(允许RCON工具远程执行服务器命令)
// 配置规则:true(启用)/false(禁用),默认false
enable-rcon=false
// 同步区块写入(实时写入区块数据到硬盘,防止崩溃丢失数据)
// 配置规则:true(同步)/false(异步,性能高但有数据丢失风险),默认true
sync-chunk-writes=true
// 服务器名称(仅内部标识,无实际显示效果)
// 配置规则:自定义字符串,默认Unknown Server
server-name=Unknown Server
// 管理员(OP)的权限等级
// 配置规则:数字(1=普通指令/2=作弊指令/3=服务器管理/4=最高权限),默认4
op-permission-level=4
// 防止代理连接(检测并阻止代理/VPN玩家进入,防外挂/多开)
// 配置规则:true(检测)/false(不检测),默认false
prevent-proxy-connections=false
// 隐藏在线玩家(服务器列表中不显示在线玩家数,显示0/最大人数)
// 配置规则:true(隐藏)/false(显示),默认false
hide-online-players=false
// 服务器资源包URL(玩家自动下载的资源包直链)
// 配置规则:填写HTTP/HTTPS直链(如https://xxx.com/resource.zip),留空=无
resource-pack=
// 实体广播范围百分比(调整实体可见范围,影响性能)
// 配置规则:数字(0-100,100=默认范围),默认100
entity-broadcast-range-percentage=100
// 模拟距离(服务器加载实体/区块模拟的范围,比视野距离更影响性能)
// 配置规则:数字(3-32,建议≤view-distance),默认10
simulation-distance=10
// RCON密码(启用RCON时的登录密码,需设置复杂密码)
// 配置规则:自定义字符串(如123456Abc!),留空=无密码(不建议)
rcon.password=
// 玩家闲置超时时间(闲置超时被踢出,0=禁用)
// 配置规则:数字(秒,如300=5分钟),默认0
player-idle-timeout=0
// 启用调试模式(输出详细调试日志,排查问题用)
// 配置规则:true(启用)/false(禁用),默认false
debug=false
// 强制使用默认游戏模式(覆盖玩家上次登录的游戏模式)
// 配置规则:true(强制)/false(保留上次模式),默认false
force-gamemode=false
// 玩家聊天速率限制(限制发消息频率,防刷屏)
// 配置规则:数字(毫秒,0=禁用限制),默认0
rate-limit=0
// 硬核模式(玩家死亡后永久删除存档,无法复活)
// 配置规则:true(启用)/false(禁用),默认false
hardcore=false
// 启用白名单(仅白名单玩家可进入)
// 配置规则:true(启用)/false(禁用),默认false
white-list=false
// 向管理员广播控制台信息(控制台输出在OP聊天框显示)
// 配置规则:true(广播)/false(不广播),默认true
broadcast-console-to-ops=true
// 生成NPC(村民、流浪商人等非玩家角色)
// 配置规则:true(生成)/false(不生成),默认true
spawn-npcs=true
// 预览聊天功能(适配新版MC聊天过滤/验证,无需修改)
// 配置规则:true(启用)/false(禁用),默认false
previews-chat=false
// 生成动物(牛、羊、鸡等被动型生物)
// 配置规则:true(生成)/false(不生成),默认true
spawn-animals=true
// 函数权限等级(执行自定义函数的最低权限等级)
// 配置规则:数字(1-4,对应op-permission-level),默认2
function-permission-level=2
// 世界类型(服务器世界的生成类型)
// 配置规则:minecraft:normal(普通)/minecraft:flat(超平坦)/minecraft:large_biomes(巨型生物群系),默认normal
level-type=minecraft:normal
// 文本过滤配置(新版MC聊天过滤规则文件路径,无需修改)
// 配置规则:填写配置文件路径,留空=使用默认规则
text-filtering-config=
// 生成怪物(僵尸、骷髅、苦力怕等敌对型生物)
// 配置规则:true(生成)/false(不生成),默认true
spawn-monsters=true
// 强制启用白名单(白名单为空时也拒绝所有非白名单玩家)
// 配置规则:true(强制)/false(仅白名单启用时生效),默认false
enforce-whitelist=false
// 出生点保护范围(出生点周围禁止非OP破坏方块的范围)
// 配置规则:数字(0=禁用保护,16=默认范围),默认16
spawn-protection=16
// 资源包SHA1校验值(验证资源包完整性,防止篡改)
// 配置规则:填写资源包的SHA1哈希值,留空=不校验
resource-pack-sha1=
// 最大世界大小(服务器世界的最大半径,单位:区块)
// 配置规则:数字(最大29999984,无需修改),默认29999984
max-world-size=29999984