PTR Changelog 2017-06-23



  • Awesome! I love tech experiments. Let the stress testing commence.


    I activated my CPU and let my AI go all in. I've modified no code since my last run, and things were to my knowledge stable. So far my code itself seems to be running, but at time of writing this, E59S39 on PTR is froze up entirely, excluding [room]visuals. Creep TTL seems to be decreasing but intents don't seem to be processing? Other rooms are intermittently freezing as well.

    Container and rampart decay went into the negative in both rooms (attempting to remove containers didn't work either). Seems to have a loose correlation with the pauses at least. Is it possible the rooms aren't considered "active"? My code runs in stages with rooms, creeps, and structures as separate main-level loops, so I can guarantee something is trying to act on the world. 


    Something appears to be wiping out the terminal store entirely. No energy value, nothing. Inspection of a terminal shows the property 'store' is there, but as an empty object. The GUI still shows the resources.

    Transfer behavior appears to be a little bugged. Getting invalid target on some previously valid transfer targets such as towers and extensions. Not yet sure why this might be. Mostly occuring in the the frozen room E59S39.

     



  • I spent awhile trying to track down an issue, and it turned out to be that Game.getObjectById(undefined) is returning a seemingly random object in one of my rooms (it changes), but with the id field undefined.

    I have many calls in my code that will call Game.getObjectById(undefined) and expect to get null back, and that has never caused problems on the main server. No idea if this issue is related in any way to having a different DB.


  • Dev Team

    @WarInternal has it happened right after you activated your account on the PTR, or kept happening after that? I can see now that E59S39 is active, is something wrong with it right now?

    @stuy486 Could you please show an exact snippet of code and the result of it? What is the object with id field undefined?



  • Code in my main loop:


    module.exports.loop = function () {
    console.log(JSON.stringify(Game.getObjectById(undefined)));
    return;

     

    Output on the console:

    {"room":{"name":"E7S64","mode":"world","energyAvailable":0,"energyCapacityAvailable":0,"visual":{"roomName":"E7S64"}},"pos":{"x":23,"y":46,"roomName":"E7S64"},"id":"undefined","ticksToDecay":828,"hits":4700,"hitsMax":5000,"structureType":"road"}

     

    Now that I'm typing this up, I've gone and looked at that room and there's actually two roads at that spot, one with an ID and one without.

    So, I suppose it's possible Game.getObjectById() is functioning properly, and the real problem is that there are structures without IDs in various places in my rooms.



  • @Artem It's ongoing. 

    Found a bug. Everything in my `Game.structures` is reporting the property structureType as road. Explains all (or most of) the problems I'm having actually.


  • Dev Team

    Undefined objects and invalid structureTypes must be fixed now, please confirm.



  • structureType fix confirmed, thank you.



  • Drop-harvest mining (work parts without carry) without container appears to create a resource pile if none exists, but does not add to an existing pile, so energy is lost until the previous pile decays. 


  • YP

    I respawned on the ptr and noticed that my MOVE,MOVE,CARRY,WORK creep gets fatigue when running over plain terrain:

     2 when empty, 4 when full

    https://screeps.com/ptr/#!/room/E83S84


  • Dev Team

    New fixes arrived, please confirm.



  • Cool. I'm completely out of energy from some of the last bugs. If you inject some energy into my storage and/or terminals I'll be able to test a lot faster.


  • Culture

    I got the same issue, I'm completely out of energy.


  • Dev Team

    OK, PTR data has been re-deployed from the main server.



  • Nice!

    Possible bug to report: I nuked myself in E28N61. At the time the nuke dropped, my 3 spawns had creeps spawning with 30 - 150 ticks remaining each. When the spawn animation completed, none of the creeps came out. I think they're still supposed to spawn, but I don't have a lot of experience with nukes, so I may just be misinformed.


  • Culture

    All creeps should be killed regardless of spawn time when a nuke lands 😄 I do agree that the spawn should stop spawning after a nuke hits. But that's a different topic.



  • Ah, interesting, didn't realize that. Thanks!



  • I just claimed two rooms and they don't appear to be listed in overview

    and Game.time froze around tick 19915153, everything stopped updating. I think we broke something.

    (Edit: Appears to be ticking again)


  • YP

    BUG: I respawned... it not only removed all my objects from the room.. it also removed the controllers 😉

     example: https://screeps.com/ptr/#!/room/W15S69

     


  • Dev Team

    BUG: I respawned… it not only removed all my objects from the room.. it also removed the controllers 😉

    Fixed.

    I just claimed two rooms and they don’t appear to be listed in overview and Game.time froze around tick 19915153, everything stopped updating. I think we broke something.

    Do I get this right that ticks had stopped running right after rooms have been claimed?



  • Sorry, that was poorly worded. That was two separate things. And checking my memory, the freeze occurred 80 to 116 ticks after room claims, so likely unrelated.