Minecraft服务器清怪指令的核心答案是:使用/kill @e[type=!player],这条指令可以清除服务器中除玩家外的所有实体,是清理怪物最直接高效的方法。
对于服务器管理员来说,怪物堆积不仅会造成卡顿(尤其是物品实体过多时),还会影响玩家正常游戏体验,下面我梳理了不同场景下的清怪指令用法、常见误区和操作注意事项,供你参考。
清怪指令的基础用法与适用场景
单次全图清怪:/kill @e[type=!player]
这条指令会杀死服务器内所有非玩家实体,包括怪物、动物、掉落物、经验球、矿车、船等,执行后服务器会瞬间安静下来,适合在玩家反馈卡顿时应急使用。
需要注意的是,@e选择器会同时清除掉落物和经验球,如果玩家刚击杀Boss还没来得及拾取战利品,这一指令难免误伤,建议结合TP(传送)权限在公共频道广播一声,让玩家有心理准备。
只清怪物保留动物:/kill @e[type=!player,type=!minecraft:cow]
很多纯净生存服希望保留动物,避免玩家牧场清零,此时可以排除特定生物类型,格式为:
/kill @e[type=!player,type=!minecraft:cow,type=!minecraft:sheep,type=!minecraft:pig]
如果你用的是较老的1.12及以下版本,实体ID不需要带minecraft:前缀,直接写/kill @e[type=!player,type=!Cow]即可。版本差异是很多服主在网上搜到指令却报错的主要原因。
按距离范围精准清理:/kill @e[type=!player,distance=..50]
许多服务器主城有大量玩家聚集,但怪物生成区域距离玩家24格以外,此时用这个指令只清理以执行者为中心半径50格内的实体,配合常用传送点坐标使用,效果立竿见影。
如果你不想站在目标位置,可以先执行/tp过去再输入指令,或者使用:
/kill @e[type=!player,x=坐标,y=坐标,z=坐标,distance=..30]
这种带坐标的写法适合清理特定区域,比如刷怪塔附近或活动场地。

不同服务端和版本下的清怪指令差异
原版Java版服务端
原版服务端直接支持上述指令,前提是玩家拥有管理员权限(OP)或者开启了命令方块,在服务器控制台输入与游戏内输入效果相同。
Java版1.13版本是一个关键分水岭,1.13之前实体ID如Zombie、Creeper,1.13及之后改为minecraft:zombie、minecraft:creeper,如果你在1.20服务器上使用旧版指令,会提示“无效的实体选择器”。
基岩版/手机版服务器
基岩版的/kill指令同样可用,但实体ID写法略有区别,基岩版中直接写/kill @e[type=zombie]即可,不需要加命名空间前缀。基岩版至今不支持完整的type=!player排除语法,这一点许多跨版本玩家容易踩坑。
插件服与模组服的特殊情况
- Paper/Spigot服务器:原版
/kill指令保留,同时支持EssentialsX插件的/killall,该指令可按类型清除(如/killall monsters),且有清理掉落物的独立选项。 - 模组服:如果装了暮色森林、虚无世界等大型模组,原版
@e选择器同样生效,但模组自身添加的怪物实体ID可能需要额外排除,否则清除后立刻刷新。
| 服务端类型 | 推荐指令 | 备注 |
|---|---|---|
| 原版Java服 | /kill @e[type=!player] |
13+全版本适用 |
| 基岩版 | /kill @e[type=zombie(分类型执行) |
无法一条指令全排除 |
| Paper服 | /killall |
Ess自带,可指定怪物/动物/掉落物 |
| 模组服 | /kill @e[type=!player] |
模组生物也生效 |
命令方块实现定时自动清怪的配置方法
如果你不想每次都手动输入指令,可以用命令方块搭建一个简单清怪系统。

高频脉冲式清理
放置一个循环命令方块,输入:
/kill @e[type=!player,distance=..32]
再把命令方块设为“循环”模式,勾选“需要红石”为关闭状态,设置延迟为20(即1秒间隔),这样服务器会每秒钟清理玩家周围32格内的非玩家实体,适合刷怪塔区域防止怪物囤积。
延迟循环式整图清理
用两个命令方块配合红石循环时钟,执行/kill @e[type=!player],设置每5分钟清理一次,操作路径为:
- 放置循环命令方块,写入清怪指令。
- 旁边放置红石中继器构成1秒脉冲时钟。
- 命令方块延迟调至
6000(5分钟×20刻)。
这种方案对公共服务器尤其适用。定时清理能显著降低服务器因为实体堆积产生的TPS(每秒事务处理数)下降,很多大型服务器都会配置每分钟清理一次掉落物的独立系统。
清怪指令的常见报错与解决方法
提示“Unknown entity selector”
大概率是版本兼容问题。 如果你在1.12服务器输入带minecraft:前缀的指令,会直接报错,反之,1.13以上版本用旧版实体名同样无效,建议先输入/version查看服务端版本,再确定对应指令格式。
提示“No entity was found”
如果服务器当前没有任何非玩家实体(刚清理过),系统会给出这个提示,这属于正常反馈,无需处理。
指令执行了但怪物没有消失
- 检查是否有插件阻止实体消失(如某些领地插件保护范围内的生物)。
- 检查是否使用了
@e[type=!player],注意player在Java版是小写,基岩版是Player(首字母大写)。 - 如果服务器有EssentialsX,部分版本存在
/kill指令被插件覆盖的情况,此时改用/minecraft:kill强制走原版指令。
执行清怪指令前建议先备份玩家背包或开启死亡不掉落,因为/kill直接判定实体死亡,会触发玩家掉经验、掉物品(取决于服务器规则),也可使用

/gamerule keepInventory true临时保护玩家背包。
高效的清怪习惯与服务器维护建议
配合刷怪塔开关使用
很多伺服器有高频刷怪塔,清怪指令用多了反而影响生产效率,行业共识认为,刷怪塔区域建议只清理指定范围,不要全图无差别清除。
监控服务器TPS定期清理
当服务器TPS低于15时,玩家会明显感觉卡顿,此时如果实体数量是主因,执行一次全图清怪能立刻提升流畅度,据统计,较大比例的公共服务器卡顿案例都是因为掉落物堆积,而不是怪物本身。
清怪与备份结合
在执行大规模清怪前,尤其是开服初期或者活动前,先运行/save-all保存世界数据,再执行清怪,避免意外崩溃导致回档。
特殊场景下的替代方案
如果你不希望怪物“死亡”,而只想将其转移,可以使用:
/execute at @e[type=minecraft:creeper] run tp @e[type=minecraft:creeper] 0 -100 0
将苦力怕集中传送到虚空坐标,这算是一种巧妙的“伪清除”,适合某些不允许杀戮的和平服务器,在Minecraft服务器中,清怪指令的核心逻辑始终围绕/kill和@e选择器展开,熟练组合参数就能应对大多数清怪需求。第一步确认版本,第二步确认类型排除列表,第三步执行前记得广播通知玩家。
关于清怪指令的常见疑问解答
问:/kill @e会把玩家也杀掉吗?
不会。@e包含玩家,但/kill @e[type=!player]明确排除了玩家,所以安全,如果你直接输入/kill @e,则会杀死包括自己在内的所有玩家。@e[type=!player]中英文感叹号表示“排除”该类型。
问:清怪指令对Boss类怪物有效吗?
有效。/kill对凋灵、末影龙同样生效,个别模组Boss可能因为设置了无敌属性而免疫,但原版Boss都可以直接清除,不用额外加参数。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/816101.html


评论列表(2条)
读了这篇文章,我深有感触。作者对原版的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
@雨雨2022:读了这篇文章,我深有感触。作者对原版的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!