Changelog 2020-03-24

  • Dev Team


    This is a minor update containing the following features and improvements:

    • ✨ Added new method StructureLab.reverseReaction to "break down" boosts to their components
    • ✨ Added new method to determine if the room located in Novice or Respawn Area.
    • 🗑 is deprecated now.
    • 🔥 has been removed since it's been deprecated a long time ago.
    • ✨ Implemented system.getTickDuration and system.setTickDuration CLI commands for community servers.
    • ✨ Added UI option to hide the link to Steam profile
    • ⏪ Default tick duration for community servers has been reverted back to 1000 ms.
    • ♻ Changed StructureController.activateSafeMode so it does not work at the same tick with Creep.attackController.
    • ♻ Changed error codes of StructureNuker.launchNuke: now it returns ERR_INVALID_TARGET if either source room or target room is in a Novice or Respawn Area
    • ♻ Changed error codes of Room.createConstructionSite: now it returns ERR_NOT_OWNER if the room is owned or reserved by another player.
    • ♻ Changed Creep.upgradeController so that controller level-up happens on the same tick when StructureController.ticksToDowngrade becomes full.
    • ♻ Changed pathfinding default value of heuristicWeight from 1 to 1.2 for better performance. This affects, Room.findPath, RoomPosition.findPathTo, Creep.moveTo, PowerCreep.moveTo.
    • ♻ property is now immutable.
    • ♻ Changed behavior or NPC invaders, now they shouldn't attack structures which are not on their way.
    • ♻ Added details to the EVENT_BUILD room event.
    • ♻ Engine and driver internals have been significantly reworked to make them more reliable and secure.
    • 🐛 Fixed structure of the EVENT_OBJECT_DESTROYED room event.
    • 🐛 Fixed some edge case inconsistencies in Store methods.
    • 🐛 Fixed respawn areas for community servers.

    UPD: This update is supported in private server version 4.1.1.


  • Seems that system.setTickDuration and getTickDuration are not working. My private server is running at a million miles a minute, the screeps-admin-utils turned off setTickRate and suggested system.setTickRate which also is not a function.

    I've deleted the server folder and verified the install (from Steam). No dice.

    😄 halp

  • Culture

    So, two things on this one, first, it looks like the screeps backend-local module hasn't been merged to master and published yet, so system.setTickDuration doesn't exist in the CLI. Second, screepsmod-admin-utils has the wrong help text in it, I'll poke at it tomorrow and fix that text.

    As a workaround, for now, you can force an older version of screepsmod-admin-utils to get the tick rate function back.

    if using screeps-launcher just add this to your config.yml (keep it in the mods list too)

      screepsmod-admin-utils: '^1.13.0'

    or if using npm directly: npm install --save screepsmod-admin-utils@^1.13.0

  • It seems that spawnCreep is not working in the simulator and the tutorial after the update. Executing the command "Game.spawns['Spawn1'].spawnCreep( [WORK, CARRY, MOVE], 'Harvester1' );" in the tutorial don't return anything, does not spawn the creep and anything else does no work after that.

  • Tried again and it is working now!