Cannot claim a second room after losing previous second to decay



  • Title is more or less self explanatory.

    I have exhausted all possible tests that I can see. Claim,upgrade, unclaim. Before and after losing room to decay. Three different rooms, one being the one lost.

    So I have GCL 2 and can only control one room now. Server is standalone private Steam version.

    Solutions?



  • Do you get ERR_GCL_NOT_ENOUGH when trying to creep.claimController?? Or a different error?

    To that end, how many results do you get when you iterate through Game.rooms and count game.rooms.controller.my ??



  • @mashee
    [9:56:06 AM]Room: E8N7 Controller: undefined
    [9:56:06 AM]Room: E9N7 Controller: false
    [9:56:06 AM]Room: E8N6 Controller: true
    [9:56:06 AM]Room: E9N6 Controller: undefined

    Undefined? What is this shit?


  • Dev Team

    Please execute the following in your server CLI and post the results here:

    storage.db['users'].find({username: /* insert your username here */});
    storage.db['rooms.objects'].find({type: 'controller'});
    


  • Very interesting. I ran into the same exact problem just now. I'll try the command artch suggested and edit.

    Edit: Results

    storage.db['users'].find({username: 'Rajanti'}); [ { steam: { id: '76561198004263916' }, cpu: 100, cpuAvailable: 10000, registeredDate: '2017-10-04T19:50:45.259Z', credits: 0, gcl: 5057495, _id: 'c6348f0bf0b7031', meta: { revision: 1116172, created: 1507146645260, version: 0, updated: 1507431718744 }, '$loki': 7, active: 10000, username: 'Rajanti', usernameLower: 'rajanti', badge: { type: 8, color1: '#ebadd4', color2: '#0d1a26', color3: '#0d1a26', param: -28, flip: true }, lastUsedCpu: 14, lastUsedDirtyTime: 77, rooms: [ 'W8N3', 'W8N2' ], lastNotifyDate: 1507431655069 } ]

    These are the 2 rooms I'm trying to claim now. I claimed W8N2 yesterday and let it decay to level 0.

    { room: 'W8N2', type: 'controller', x: 36, y: 26, level: 0, _id: '7f3b077240eef72', meta: { revision: 2620, created: 1477476557838, version: 0, updated: 1507431740570 }, '$loki': 44, user: null, progress: 0, downgradeTime: null, reservation: { user: 'c6348f0bf0b7031', endTime: 538240 }, upgradeBlocked: null, safeMode: null, safeModeCooldown: 486720, safeModeAvailable: 0 },

    { room: 'W7N3', type: 'controller', x: 36, y: 18, level: 0, _id: 'a2db077296e87b8', meta: { revision: 2585, created: 1477476559214, version: 0, updated: 1507431763595 }, '$loki': 66, reservation: { user: 'c6348f0bf0b7031', endTime: 538211 } },

    Notice how the first command result shows that I control room W8N2. What's going on here?



  • @rajanti @artch

    Getting equivalent data for my situation - and in my case both rooms have decayed as I have not bothered with it since I ran into this for the fourth time. 🙂

    storage.db['users'].find({username: 'GB_Bomben'});
    

    [ { steam: { id: '76561197964364486' }, cpu: 100, cpuAvailable: 10000, registeredDate: '2017-09-26T10:11:52.350Z', credits: 0, gcl: 3545222, _id: 'c9a1dabe39f894d', meta: { revision: 2062870, created: 1506420712351, version: 0, updated: 1507625827119 }, '$loki': 8, active: 10000, username: 'GB_Bomben', usernameLower: 'gb_bomben', email: 'something@else.dk', badge: { type: 19, color1: '#ffffff', color2: '#000000', color3: '#ff0000', param: 0, flip: false }, lastUsedCpu: 3, lastUsedDirtyTime: 132, rooms: [ 'E8N6', 'E9N7' ], lastNotifyDate: 1507621234815 } ]

    storage.db['rooms.objects'].find({type: 'controller', room: 'E8N6'});
    

    [ { room: 'E8N6', type: 'controller', x: 38, y: 16, level: 0, _id: 'f0ce449187bd82c', meta: { revision: 103622, created: 1506531678331, version: 0, updated: 1507621197080 }, '$loki': 25393, user: null, progress: 0, downgradeTime: null, safeMode: null, safeModeAvailable: 0, safeModeCooldown: 823362, upgradeBlocked: null } ]

    storage.db['rooms.objects'].find({type: 'controller', room: 'E9N7'});
    

    [ { room: 'E9N7', type: 'controller', x: 37, y: 22, level: 0, _id: '52f4449184481d6', meta: { revision: 277, created: 1506531678276, version: 0, updated: 1507320624135 }, '$loki': 25360, user: null, progress: 0, downgradeTime: null, reservation: null, safeMode: null, safeModeAvailable: 0, safeModeCooldown: 696359 } ]



  • Just came across the same problem. As mentioned before, the owner of the room is cleared correctly, however on user.rooms the room is still listed.

    After manually removing the entry I could recapture the room just fine.



  • I have this problem too. I claimed second room. Unclaim from game menu.

    After this action: in game I can see when room is empty. Owner: none.

    But If I try claim again, I got error ERR_GCL_NOT_ENOUGH.

    I check DB:

    storage.db['users'].find({username: 'Ufo'});
    [
        {
            steam: { id: '76561198335008629' },
            cpu: 100,
            cpuAvailable: 10000,
            registeredDate: '2019-06-15T13:01:48.873Z',
            credits: 0,
            gcl: 2952517,
            _id: 'aae5b3acdcaa3e6',
            meta: {
            revision: 1652367,
            created: 1560603708874,
            version: 0,
            updated: 1560870813412
            },
            '$loki': 8,
            active: 10000,
            username: 'Ufo',
            usernameLower: 'ufo',
            badge: {
            type: 12,
            color1: '#ebade7',
            color2: '#d9cf26',
            color3: '#808080',
            param: 24,
            flip: false
            },
            rooms: [ 'W8N3', 'W7N3' ],
            lastUsedCpu: 2,
            lastUsedDirtyTime: 4,
            lastNotifyDate: 1560870034799
        }
    ]
    

    and second query:

    storage.db['rooms.objects'].find({type: 'controller'});
    {
        room: 'W8N3',
        type: 'controller',
        x: 23,
        y: 42,
        level: 6,
        _id: '1bc30772347c388',
        meta: {
        revision: 608019,
        created: 1477476557639,
        version: 0,
        updated: 1560871483268
        },
        '$loki': 42,
        user: 'aae5b3acdcaa3e6',
        progress: 1174475,
        downgradeTime: 1005116,
        safeMode: 20146,
        safeModeAvailable: 5
    },
    
    {
        room: 'W7N3',
        type: 'controller',
        x: 36,
        y: 18,
        level: 0,
        _id: 'a2db077296e87b8',
        meta: {
        revision: 2,
        created: 1477476559214,
        version: 0,
        updated: 1560865943559
        },
        '$loki': 66,
        user: null,
        progress: 0,
        downgradeTime: null,
        reservation: null,
        safeMode: null,
        safeModeAvailable: 0,
        safeModeCooldown: 907427,
        isPowerEnabled: false
    },
    // many records cut's
    

    How to fix this ?



  • Hey everyone, korda_machala was having this issue too, and they found the solution:

    storage.db['users'].update({username: 'korda'},{ $set: { rooms: ['W3N4'] } });

    This command, when entered into the screeps CLI, changed the rooms registered to her account. This does seem like a persistent bug, and should be addressed by the developers.

    👍


  • Hi everyone, just wanted to say that I am having the exact same issue.

    Claimed a room, let it degrade, after degrade can't claim it again.

    I was also able to solve it with the command @Ratstail91 provided.

    Thanks for that!


  • Dev Team

    This was fixed in version 3.4.4.

    👍