KNOWLEDGE MODULE 08

工程配置与运行诊断

使用 Flag、CPU 指标、自动降载、通知、事件日志和房间级异常隔离观察系统,把配置、性能保护和故障恢复从具体业务动作中分离出来。

6 篇文章3 个学习阶段8 / 8 模块

WHO IT IS FOR

适合谁学习

代码已经开始变长,希望知道系统为什么变慢、报错或停止工作,并在 CPU 储备恶化或单个房间异常时保住关键任务的玩家。

LEARNING GOAL

完成后能解决什么

建立配置、CPU 测量、任务降载、通知、事件观察和异常隔离能力,把运行指标与错误记录转成可恢复的执行策略。

SYSTEM MAP

运行诊断与恢复闭环

先测量和记录,再隔离故障;当 CPU 或房间状态恶化时降低非关键工作,恢复后再逐步放开。

  1. 01Measure

    CPU、bucket、状态指标

  2. 02Observe

    日志、notify、Event Log

  3. 03Isolate

    房间或模块错误边界

  4. 04Degrade

    降低非关键任务

  5. 05Recover

    冷却、重试并验证恢复

01

LEARNING STAGE

配置与性能保护

先使用 Flag 配置,观察 CPU 和 bucket,再按任务等级自动降载与恢复。

  1. 01Screeps Flag 怎么作为可验证的房间配置入口Screeps 基础工程 · 8 分钟阅读

    从Game.flags和Flag.memory读取带版本的任务配置,校验Creep名称、任务类型和目标范围,并处理跨房间视野、moveTo返回值与过期Memory。

  2. 02Game.cpu.getUsed() 和 bucket 怎么监控 CPUScreeps 基础工程 · 9 分钟阅读

    区分 Game.cpu.limit、tickLimit 与 bucket,用前后差值测量代码段CPU,并通过固定样本窗口观察平均值、峰值和可选任务执行条件。

  3. 03Screeps CPU Bucket 一直下降怎么办:任务分级、降载与自动恢复Screeps 进阶开发 · 18 分钟阅读

    当 Game.cpu.bucket 持续下降时,用带迟滞的 NORMAL、CONSERVE、EMERGENCY 与 RECOVERY 状态机保护 Spawn、采集、Controller 和防御,逐级暂停高成本任务,并在恢复后分阶段重新启用。

02

LEARNING STAGE

通知与事件

继续使用 Game.notify() 和 Room Event Log。

  1. 04Game.notify() 怎么发送可靠的限频提醒Screeps 基础工程 · 8 分钟阅读

    解释 Game.notify() 的1000字符、每tick 20条和 groupInterval 分钟规则,并用状态变化、Memory与重复间隔避免 Controller 风险提醒刷屏。

  2. 05Room.getEventLog() 怎么读取上一 tick 的房间事件Screeps 进阶开发 · 8 分钟阅读

    解释 Room.getEventLog() 返回上一 tick 事件的时序、raw 参数和不同 event.data 结构,并提供己方目标受击筛选、事件汇总与长期记录边界。

03

LEARNING STAGE

异常隔离与恢复

最后为房间和独立模块建立错误边界、限频日志、冷却和自动重试。

  1. 06Screeps 一个房间报错导致其他房间停摆怎么办:异常隔离、限频日志与自动恢复Screeps 错误排查 · 13 分钟阅读

    当某个Screeps房间或模块抛出JavaScript异常时,用房间级错误边界、限频日志、连续错误暂停和冷却重试,让其他房间继续执行,并区分异常、API返回码与CPU截止。