游客发表
服务器里突然打不了怪,界攻击这事我碰到过三次。办电最近一次是脑服上周,朋友开的界攻击1.20.1生存服,我在下界要塞砍烈焰人,办电剑挥出去没伤害,脑服怪物红了一下又恢复原样。界攻击当时第一反应是办电网络卡了,但方块能正常挖,脑服箱子能开,界攻击就是办电攻击判定完全失效。
先说一个最容易被忽略的脑服原因:服务器开了PVP保护或者区域保护插件。很多腐竹会装WorldGuard、界攻击GriefPrevention这类插件,办电默认给出生点或领地加保护。脑服你站在保护区内,攻击其他玩家和生物都会被拦截。判断方法很简单——走出出生点几百格再试,如果恢复正常,那就是区域保护的问题。我那次就是,朋友把主城保护范围设成了以出生点为中心半径500格,我在要塞正好卡在边缘。
另一个高频原因是服务器的difficulty设置成了peaceful。和平模式下,所有敌对生物会消失,你攻击它们自然没反应——因为压根没有敌对生物给你打。但这里有个坑:有些服务端核心(比如Paper)在和平模式下,怪物不生成,但已经存在的怪物不会立即消失,你打它它会掉血但不会反击,看起来就像“攻击无效”。检查server.properties里的difficulty值,改成easy或normal就行。改完记得重启服务器,reload有时候不生效。
如果是装了自定义攻击冷却或战斗机制插件,那问题更隐蔽。比如OldCombatMechanics这个插件,它把1.9之后的攻击冷却改回1.8模式,但配置写错的话,攻击间隔会变成无限大。我见过一个服主把attackCooldown设成了200ticks,相当于10秒才能打一次,玩家以为攻击失效了。去plugins文件夹里翻翻有没有这类插件,或者直接看服务器后台有没有报错——插件加载失败时,控制台会刷红字。
还有种情况是客户端和服务端版本不匹配。比如你用1.20.4的客户端连1.20.1的服务器,方块交互正常,但实体攻击的封包格式变了,服务端直接忽略你的攻击请求。这种问题在ViaVersion这类跨版本插件没装好的时候特别常见。我建议先用自己的客户端连一下其他公开服,如果那边能打怪,那就是这个服的问题;如果都不能打,检查自己的游戏文件是不是被模组改了。
最后说个冷门的:服务器tick卡死。当TPS掉到个位数时,攻击判定会延迟甚至丢失。你看到怪物在原地,其实服务端已经卡住了。按Tab看延迟没用,那个只显示网络ping。让腐竹在后台敲/tps,如果15m那个数值低于10,就是服务器性能问题。我遇到过因为某个红石机器疯狂刷实体,把tick拖垮了,重启后正常,但过十分钟又卡。这种得找到罪魁祸首,用/spark profiler或者肉眼排查。
实在找不到原因,试试笨办法:把服务器存档备份后,删掉plugins文件夹里所有插件,只留核心,开个纯净服测试。如果攻击恢复正常,再一个个加回插件,加到哪个出问题就是哪个。这方法费时间,但比瞎猜靠谱。我上次帮人排查,最后发现是个叫“NoAttackCooldown”的插件和Paper核心冲突,删掉就好了——那插件作者两年没更新了。
友情链接