#Screeps Sandbox

1 messages · Page 2 of 1

rotund olive
scarlet fossil
#

Funnily, it means you could give yourself 500 CPU and still have the rest of the players go through the GCL-to-CPU ruleset by setting your active to anything else than 0 or 10000

rotund olive
#

very silly

#

very very silly

#

is this a mod or a server thing?

#

oh, sounds like admin utils

scarlet fossil
#

Yeah, that's part of adminutils, but it checks for that specific 10000 value the game set by default when updating the CPU calc (what caused sleep's CPU to reset, since that happens every 10 ticks)

rotund olive
#

understood

scarlet fossil
#

Lots of weird things I haven't tried, like what happens if you block out a room you're running in (like o4 does when there's a player under investigation)

bitter lava
#

set it to -1

scarlet fossil
#

Wouldn't work either

placid idol
#

Time for someone to add utils.banUser() to admin-utils

scarlet fossil
#

Yeah, was thinking about that lol

placid idol
#

Then we can make it an instant process that deletes all their objects, memory, disables user account, etc. Yeet

latent forum
#

utils.yeet()

scarlet fossil
#
/**
 * utils.yeetUser() - Ban/disable/perform unholy acts on a misbehaving user account
 …
 *   nukePiñata: set to true to spawn a nuke that will land instantly on all their structures.
 *     Pass a number to have them land in this many ticks.
 */
placid idol
#

In the meantime, this seems to stop the server from executing the user's code: @rotund olive
storage.db.users.update({ username: 'USERNAME' },{ $set: { active: 0 } })

#

(the normal value is active: 10000)

rotund olive
#

I'm aware, thanks

placid idol
#

My bad, I should read

heady oracle
sullen condor
#

Are they doing well? I hope so

oak elk
#

well this is kinda scary👀

bitter lava
heady oracle
#

im aware

#

i mean, a quad vs an rcl 4 room what did you expect

pallid totem
#

I decided to join 😉

#

(That was fully automatic BTW)

#

Now all we need is someone to take E5N3 and we have a nice square

#

IIRC this is HK's original room, so its going to be hard to move in here lol

cold zephyr
#

Well my autoexpand does not factor in other players😅

pallid totem
#

Same here lol

cold zephyr
#

next expansion will also be close to HKquiet. lets see if my defencecode gets tested sometime soon

oak elk
#

well im kinda peaceful so i guess you wont get your defensecode tested lol
unless there's some pathfinding bugs in my squad's code💀

heady oracle
#

rip trump

scarlet fossil
#

Didn't even build a wall shakes head

rotund olive
#

Historically accurate :p

bitter lava
oak elk
#

ah finally decided to implement safe ramparts and some tower placement
i didn't want to use my time on it before
but now i do so
because of fear💀

heady oracle
#

oops *was at 40ms

kind trench
#

must say i like the progress of my refactor

verbal moth
#

damn, i'm really missing having a working grafana instance

#

i take it within that creep logic most is intent cost?

kind trench
#

should be

#

also @rotund olive @radiant lily looks like server got hiccup just steam doing update

#

trafficManager + logic is ~6.5 + 6.3, intents are ~11.4cpu

sullen condor
#

@wild delta It seems that we're getting remote conflict!

wild delta
#

Weird, because my code for this server is a single file of 3.5k JS I wrote a couple of months ago. I think it'll just spawn up to 5 RA or M dudes lol

#

Yeah, you're causing Friendlies to spawn

#

Meanwhile you have an RCL3-tier quad 😂

#

My bot blindly reserves all its adjacent rooms, so it will fight for E2S14 forever Harabi

sullen condor
#

Yeah. It's cool since I want to improve my field combat

sullen condor
wild delta
#

Creeps that work together in a 2x2 square? 😉

bitter lava
cold zephyr
#

getting quite cozy here

sullen condor
#

I want to join you

#

Does this server generally use less cpu then mmo?

kind trench
#

should not

rotund olive
scarlet fossil
#

I'd say less. Pretty sure MMO runs on a whole cluster of machines. This is only one, for like… 10 of us on an 8x8 map

kind trench
#

that's not the question here

#

it's more about computing power

#

if 1cpu on commieland server is more or less than 1cpu on mmo

scarlet fossil
#

Still less. It's one machine vs. a (admittedly unknown) bunch of them

kind trench
#

that's not how it works

pallid totem
#

Bc my bot is running out of CPU lol

sullen condor
#

Cannot compare with mmo since I'm running different bots. But cpu usage is strangely low. I expect my bot to use about 0.3 for each creep. But not it's about 0.2~0.25 for each creep. Curious if server is faster, or some of my creeps are doing nothing

oak elk
oak elk
cold zephyr
#

Hmm I did not do anything manual there...Thx for the link. Need to look at it after work. But i dont think an automatic roomattack should have triggert already.. is my adjacent room already rcl6? If not then there is a Bug with my attackrange. Should only be range 2 of rcl 6 rooms.

oak elk
#

well from my observation, those roomAttacker was sent from this room
and attacked two rooms that i don't think it's range 2 on map..?

cold zephyr
pallid totem
#

I moved

#

CPU usage is too high on this server

#

I cant handle 4 developing rooms

bitter lava
#

i have this much territory and average around 80-90 CPU

sullen condor
#

5 rooms, with much remotes. That's not bad. Is it your bot?

bitter lava
bitter lava
#

will check later

#

maybe 90-100 at best?

wild delta
#

not_bad how much of your CPU is intents vs other things?

#

GL in arena

scarlet fossil
#

Am I the only one bothered by the market being 💩?

wild delta
#

You use the market?

scarlet fossil
#

A little bit. I had it forcibly disabled, but then reenabled it because I don't have an energy sink otherwise

#

But I don't see the point of having… that enabled. You have the NPC terminals completely distorting whatever sort of market forces you could have

#

To be fair I think it's only @normal tendon, @haughty cloak and me doing market stuff. Haven't seen much of anyone else, but most of what's available is being traded, for some reason or another

wild delta
#

Yeah, for sure it's a small market. 🙇

scarlet fossil
#

I think I just don't like the static market mod. It's just… not interesting as a market

sullen condor
#

Somehow my v3 is much better than v2 bot cpuwise

wild delta
#

0.27 CPU/creep...

🤯 🤯 🤯

sullen condor
#

This is v2 in MMO

#

Maybe because it's not doing Power bank mining, Deposit mining, Harassing.

#

But fighting around some remotes and doing some mineral minings from SK/center rooms

polar path
#

It might not be apples-to-apples on different server environments.

sullen condor
#

Yeah. I guess jaysee is faster than MMO

wild delta
#

Oh, right! There are some good numbers about CPU having a 1.3x multiplier on MMO... would need some digging to find that...

bitter lava
kind trench
#

so you say an optimized state was reached

wild delta
#

He's talking about e=mc2, too much energy was converted into mass and now thing's aren't working quite right

bitter lava
#

i fixed it now, i'll give it a day and then count creep count

wild delta
#

Creep count should be fine after 1,500 ticks ish ?

kind trench
bitter lava
bitter lava
haughty cloak
latent forum
#

could just send() the excess as a gift to a random lucky person with a terminal 😉

bitter lava
#

people are using the jaysee market?

rotund olive
#

Hmm maybe if I add some terminals it will work better

bitter lava
#

i wish someone put buying orders up

cold zephyr
bitter lava
#

living on 80 CPU troll

pallid totem
#

My remote intents are expensive, and my hauler count needs a bit of balancing

bitter lava
#

@pallid totem do you want me to test your defense

pallid totem
#

What RCL is it at

bitter lava
#

i got new quad code to test

bitter lava
pallid totem
#

I respawned

bitter lava
bitter lava
#

i think i can reach you though

pallid totem
#

I have only one room?

bitter lava
pallid totem
#

I mean, my room

#

What RCL is my room

bitter lava
#

vs an RCL 8 quad

pallid totem
#

Oof, not good

#

It should be at least 6

#

That's brutal, how much energy is in storage?

bitter lava
pallid totem
#

I'm waiting

#

Lol

bitter lava
#

i had to edit the message

#

anyways i think your room could survive

#

you do have auto safe mode, right?

pallid totem
#

Not yet

#

Was gonna write that in with the new BP

bitter lava
#

oh

pallid totem
#

How much energy is in my rooms storage?

bitter lava
#

do you want a quad in your room?

#

lemme check

#

234K

#

@pallid totem you are dealing with a quad that has Heal 624/T Ranged attack 420/T

pallid totem
#

No

#

No

#

Ni

pallid totem
#

Tf

#

Oh, my bots having issues with upgrader spawniong again

bitter lava
#

yeah they dead

#

thanks for wasting 24K of my energy

#

that doesn't seem right

#

screeps body calculator is wrong

polar path
bitter lava
#

you summoned the invader base

pallid totem
bitter lava
#

please delay upgrading until the invader core disappears

#

4895 ticks of delay

polar path
#

lmao

bitter lava
#

if someone expanded around this area then i could test a quad on them

#

close enough

pallid totem
bitter lava
#

if you want, i will give you a const

polar path
#

You could test a quad on my room if it's in range, it served its purpose. Won't be much of a test either, though. :P

bitter lava
#

const controllerDelay = 4895

bitter lava
#

3 towers 😦

polar path
#

It has really dumb towers and you're RCL8, you should definitely be able to kill it. Also there's no ramparts even. XD

polar path
#

Just boost then 4head

bitter lava
#

and no boosting logic

#

actually there is some

pallid totem
#

Dude cant even make boosts with an OS bot 😆

bitter lava
#

and mineral haulers are being dumb so no minerals

pallid totem
#

You have dedicated mineral haulers?

bitter lava
#

code is weird

bitter lava
pallid totem
#

You dont have normal haulers do it?

bitter lava
#

every bot has dedicated mineral haulers?

pallid totem
#

No

#

I have seen like, 3 bots with mineral haulers

#

Most people just have it built into their hauler network by default

bitter lava
polar path
bitter lava
#

do you?

polar path
#

No

#

Well, in Ourobot V1 SK minerals have dedicated haulers. Not in-room minerals, though. And in Ourobot V2, SK minerals will be mission haulers, not specifically SK mineral haulers.

bitter lava
#

kasamibot handles poaching rooms (SK mineral rooms) by making dedicated units for it

#

miners, haulers and guards (obviously)

pallid totem
#

I just plan to make my miners and haulers check if its in a SK room, then add some logic, but otherwise it should be easy to do

#

I might do SK mining soon

bitter lava
#

worth every mineral

polar path
#

SK mining is on my list to prepare for the season.

pallid totem
#

Speaking of, I just love bugs

#

Found a bug where my hauler priority was insane, because I was checking the count of the wrong role lol

bitter lava
polar path
#

Mine is currently:

bitter lava
#

get to do defense stuff

pallid totem
bitter lava
pallid totem
#

hey @polar path Want to team up this season?

bitter lava
#

+distribution with terminals

bitter lava
heady oracle
#

lol, infinity moved right on in with me

polar path
#

Generally it's frowned upon to have pre-formed alliances in seasons. Alliances that advantage both parties within the season are fair game, though.

heady oracle
#

im certain no-one would bat an eye at a truce though

bitter lava
#

well if us 3 team up, we could do what (i think last season) viking and tigga shared resources 1:1 by opening ramparts

bitter lava
#

i thought viking did it aswell

polar path
#

v1king wasn't in last season. Maybe in Season 5 there was something like that.

normal tendon
sullen condor
#

@scarlet fossil would you mind if I use your bot in sandbox as quad test opponent?

scarlet fossil
#

It's possible that it will just fall over and let itself be destroyed if it looks too powerful

#

Would give me an incentive to poke at the combat/defense code

sullen condor
sullen condor
#

I'll notice you when I start some attack.

scarlet fossil
#

Sounds good

#

I'm hyped, actually. I have a lot of little issues that's gonna cause I'm going to have to fix

heady oracle
#

huh, now im wondering if my defence code is even awake

sullen condor
heady oracle
heady oracle
#

whats going on over here

scarlet fossil
#

@rotund olive Almost RCL3 🎉. Almost

#

That poor bot is so painful to watch 😅

rotund olive
#

up and harv, slaving away in the mines

#

every time they die they get brought back to life

bitter lava
scarlet fossil
#

I'm getting harassed, and oddly enough that made it pop a safemode. I really need to have a look at defense code

#

Just reworked a bit of the harassing code, but I'm not sure it's gonna run anything close to satisfying

bitter lava
#

@scarlet fossil managed to pop one of your safemodes with a harassar

sullen condor
#

@scarlet fossil Sending first quad... I'm almost certain it will be broken

sullen condor
#

Insta-killed lol

#

healing logic was too bad

placid idol
#

I finally got around to implementing energy relaying

#

I haven't changed my hauler bodies or anything to optimize it yet but I at least have the feature working

sullen condor
#

Cool

#

Everyone has relaying but me!!

placid idol
#

I had a bit of an ah-ha moment yesterday thinking about it

sullen condor
#

Can you share it

placid idol
#

Yeah, the idea I had was to use floodfill algo and create a map of the room with the Storage (or whatever the hauler target is) as the starting point. And then every position in the room is marked on a CM is a distance to that position

#

Remote rooms create a similar map, but they use the travel path intersecting an exit back home as the starting point for the floodfill

#

Same exact floodfill that I use for base planning. I guess it has more applications than I had considered

#

Another idea was to sort haulers before running them, so that all of the haulers with energy in Delivering state will run first. By having all the other haulers that are in PickupEnergy state run secondly, it makes sure they move correctly in opposing directions after doing a relay handoff

kind trench
#

my cr should be fixed @placid idol

placid idol
#

I should also mention that my haulers don't use the same cache paths as remote roads. I want to add that eventually but right now haulers do their own pathfinding and then cache their own path. However, if the haulers follow the cached road paths back and forth, the relaying system could probably use path positions instead of the floodfill. Either way I'm happy to have something working for now

polar path
#

That sounds very different from my implementation. I do it as a step in my movement code, effectively.

#

Basically, if empty and full haulers would collide during movement - relay instead.

placid idol
#

That sounds nice and minimal. I had tried some simpler implementations previously but always hit snags with haulers stuck dancing and passing the energy back and forth like a sad game of hot potato

#

Its one of those things that if done incorrectly it's just better to not do it at all 🙈

polar path
#

Yeah, you gotta track a decent number of things (and accurately) to make sure they don't try to do invalid things.

#

Like, if a hauler already did an transfer intent or it just got the energy this tick or the receiving one just got emptied this tick, you don't want them to try relaying.

#

My implementation does miss some potential relaying opportunities, but it gets most of them and I think the CPU cost is quite minimal.

#

Of course, the CPU cost of scaling down haulers for it is high, but that can be controlled based on CPU so they're scaled back up if CPU is short.

placid idol
#

That's the part I want to add next. Spawning more small haulers based on available CPU

polar path
#

One thing to keep in mind when doing that is that you also need them to be big enough that your throughput is okay.

#

If they're too small you just get a traffic jam

scarlet fossil
#

I have the evacuation directive dropped lol

#

…which somehow didn't exactly result in emptying the stuff :/

sullen condor
#

Why ramparts so low?

scarlet fossil
# bitter lava

Oh, this is you. Yeah, I noticed but didn't see it happen, was in the process of making harass-mode actually work. It's been active since yesterday, but unless you tell me you saw one, I'm pretty sure it's not working properly

scarlet fossil
#

Ah, right, I made power-processing priority on MMO, and that's not exactly right here

sullen condor
#

So can you build up some ramparts?

sullen condor
bitter lava
#

saw 2 blinkies travel across the highway in my direction. probably went into my RCL 8 room. likely insta-killed though

scarlet fossil
# sullen condor So can you build up some ramparts?

Quick, spot the bug ```ts
Object.defineProperty(Room.prototype, "barriers", {
get(this: Room) {
if (!this._barriers) {
const barriers = [] as (StructureRampart | StructureWall)[];
barriers.concat(this.ramparts, this.constructedWalls);
this._barriers = barriers;
}
return this._barriers;
},
configurable: true,
});

#

I can't believe I messed that up

#

Suddenly, 8 workers requested

#

I guess that's a nice way to sink excess energy

kind trench
#

aw ffs i need to tweak my upgrade logic still

heady oracle
#

on a side note, worker convoy op

bitter lava
kind trench
#

virtually nothing

#

because same data is used by logic on-tick and just stored in heap

#

the paths sometimes get pricy for remotes, but that's other debug level

scarlet fossil
bitter lava
#

@scarlet fossil your harassars are working

#

you got one of my RCL 6 rooms to spawn 3 rampart defenders and with a couple more of them destroyed the room 😛

#

but now my destruction manager is gonna catch onto you

scarlet fossil
#

I destroyed a room?

bitter lava
#

i said with around 3-4 you may have

scarlet fossil
#

Oh, I got a bit scared there. The plan was only to check what the heck is OM's harrasing code about, since that's pretty much manual. And… I'm sort-of reacting to your own creeps popping up my own miners

bitter lava
#

harass manager sent harassars to your remotes

#

because of the threat you had acquired

scarlet fossil
#

Did I? Weird, 'cause nothing in OM is overtly hostile, it's all pretty much manual still

bitter lava
#

maybe a scout or such gained enough threat for harassers to come to you

#

then your harasser response allowed more harassers to come to you

scarlet fossil
#

Good ol' escalation, I guess

bitter lava
#

it also seems scouts are surveying your rooms/remotes alot more than usual rooms

#

likely because of destruction manager/harass manager

scarlet fossil
#

I don't even have threat management, nor even any sort of "where do I go to find $player" system

scarlet fossil
#

Look at me, doing damage lol

bitter lava
#

random harasser ruined my remotes

#

woah

#

loads of harassars are coming into my remotes

scarlet fossil
#

Tbh I don't even know what the low-level harassing code does. I only fixed the remote-detection system to properly detect your rooms as remotes

bitter lava
scarlet fossil
#

So it might be spawning a lot? I haven't poked at that code yet

bitter lava
bitter lava
#

every remote you harass adds quite alot to the player threat

scarlet fossil
#

Oh, hey, there's one currently in. First time I see one actually come to the selected room

bitter lava
scarlet fossil
#

It's targeting W4N1

bitter lava
#

oh

scarlet fossil
#

So most likely doing rounds. I have no idea what makes it switch targets, but that feels… broken

#

Since a lot of the time, the creep doesn't even get close to the target before it switches

bitter lava
scarlet fossil
#

Again, only fixed the code to not be a CPU hog, to use observers to gather intel and use the fact that there's a WORK-bearing creep next to sources instead of room reservation, which most of your remotes didn't seem to have when I worked on that

scarlet fossil
#

Switched again, W2N3 :/

bitter lava
scarlet fossil
#

I might be misremembering. I just wanted a bit more than "is it reserved" as a check, and checking for miners sounded like good enough

#

AFAIK the only issue it has right now is that knowing which remote belongs to which room is… pretty messy, so I'm just doing a depth-3 room exit search and tickClock ing until I looked at all candidates

#

And ded. I got caught up by your defense force

bitter lava
#

if you had a larger force it would take around 100-200 ticks more to get the other 2 defenders to attack you

scarlet fossil
#

Yeah, I was wondering how you did that. Do you have a few of them handy and make them patrol or something else?

#

Just wondering. OM's code pretty much very reactive only, the "idle creep" system is pretty much broken, so generally any sort of hostility will result in a whole spawn cycle delay, hoping there's not something more important to spawn first (though I think defense is pretty high)

bitter lava
#

i can tell

#

i dont think this was the case, but an outpost defender may have been spawned to an invader in another remote, then the code got that defender to attack yours once it finished with the invader

scarlet fossil
#

Possible? I honestly missed the issue, I just came back to two outpost defense directives being active, with one currently tracking an hostile, which was a single creep of yours

bitter lava
#

but anyways with large remote harassing/unknown attack force in the remote, the code will get the intensity of the attack, and respond as follows

bitter lava
scarlet fossil
#

No, IIRC your creep just died of old age after bashing one miner

bitter lava
#

oh

#

lol

scarlet fossil
#

I should have noted the tick, I'd have no luck trying to find it back into the history :/

#

But yeah, improving OM's combat tracking has been something I wanted to look at. Heck, even combat ability itself. I taught it a few tricks already, trying to estimate the strenght required to take out a stronghold, but that's the most I did with it

bitter lava
scarlet fossil
#

I'm more economy-oriented in general, and there's been a lot to fix in that domain already 😅

bitter lava
#

or is it just harassers?

scarlet fossil
#

Depends on what I ask it to do. Harassing just spawns a couple ranged/melee in a trickle

scarlet fossil
#

No, I drop a colored flag, since there's nothing to automate that in OM, being an OS bot

#

I mean, maybe Muon had code like that, but I'm tempted to say no

bitter lava
#

i though OM used flags for nearly everything?

scarlet fossil
#

It does

bitter lava
#

then how come its manual?

scarlet fossil
#

But in a lot of cases it automatically drops the correct flag itself and let its processing handle the low-level details

bitter lava
#

oh

scarlet fossil
#

But there's nothing about being hostile

#

So I could send quads over to you, but that would have either be me manually dropping the flag, or having dropped so much more code to have it automatically do it

scarlet fossil
#

Because again, my intel's not great, I have no idea how hostile you'd be relative to anyone else. OM pretty much sees anything that's not an ally as a menace

bitter lava
#

i will nuke you + send quads + call all attack creeps to a room

scarlet fossil
#

Woopsie~

bitter lava
#

can i see one of your quads though?

#

at W4S4?

scarlet fossil
#

I removed the harass directive, not sure I wanna get into a all out-war with you, I feel like it's not gonna go well for me

#

Sure, if you want, let me find the correct flag color

scarlet fossil
#

Then we'll bask into the glory of OM's combat code

bitter lava
#

unless though...

bitter lava
#

is that obfuscated code? (as in it was obfuscated with the full OS version)

scarlet fossil
#

Nope, but it's not the simplest thing

#

Check Swarm.ts in the repo, if you wanna see the low-level the managment code

bitter lava
#

i dont read ts very well 😦

scarlet fossil
#

Ah, what's obfuscated is the Overmind.ts/Assimilation.ts — the high-level processing, ie, what defines the run phases, intel managment to enforce the detectability as an Overmind, and the assimilation (which is pretty much dead code at that point)

scarlet fossil
#

Yeah, that's the one I just dropped

bitter lava
#

oh

#

what room is gonna spawn them?

scarlet fossil
#

Might not stay for long, since W3S4 is not a controller room

#

All of them?

bitter lava
#

yeah

scarlet fossil
#

The combat-related directives pick out any (compatible) colony in range to ask for creeps

bitter lava
#

oh

#

does it send broodlings?

#

i saw them being spawned in a room

scarlet fossil
#

Oh, it's gonna work, the SKs will keep the directive actine until they're gone

bitter lava
#

hope thats not placed on me then

scarlet fossil
#

zerglings and… healers. Transfusers

bitter lava
#

oh

scarlet fossil
#

Broodlings are the outpost defense creeps. Like, actual "this is a player" defense. Otherwise it's just zerglings

#

You have… lurkers for bunker defense

#

Never saw those spawn, tbf

bitter lava
#

the overmind NPC we are fighting doesn't spawn lurkers

#

or did you make them

scarlet fossil
#

I mean, the role is there, but I don't think it's wired in a way that's useful

#

Anything combat-related is generally a mine-field of TODOs, broken, or unoptimized code

bitter lava
#

ah

#

W3S2 is making the quad creeps

scarlet fossil
#

Maybe that's not lurkers, actually

scarlet fossil
#

Lurkers might be the dismantlers

bitter lava
#

repairer/defender

bitter lava
scarlet fossil
#

Ravagers maxParts: { attack: 50, tough: 10, heal: 2 },

bitter lava
#

move though?

bitter lava
scarlet fossil
#

It's just autogenerated

bitter lava
scarlet fossil
#

The creep setup system will just adapt the move parts to a set move speed you want

scarlet fossil
bitter lava
#

ok

#

simple enough

#

quad is going

#

how come they don't snek?

scarlet fossil
#

OM things

bitter lava
#

oh

scarlet fossil
#

The fallback point was in the colony room. They assembled there, and once assembled pretty much stay that way

bitter lava
#

i might send a quad to W4S4 myself

scarlet fossil
#

…which means they're mostly gonna stay stuck in that swamp lol

#

Ah, OM~

bitter lava
#

useless

scarlet fossil
#

They're trying, but now that they're pathing as a 2x2, well… they fat

bitter lava
scarlet fossil
#

manually tasked the leader to go to W4S3

bitter lava
#

oh

scarlet fossil
#

I guess that goes into the TODO list 😅

#

That path should have been pathable, too

#

They dancing, it's so pretty

#

Entering W4S4

#

Lol, they're obeying the SK area

#

Sighs it never ends

bitter lava
scarlet fossil
#

I don't know, they did a weird shuffle to reassemble

#

They're still doing one right now, but different

#

Okay, found the SK toggle. And now they're stuck healing…

#

Frustration increases

bitter lava
#

my quad will come hopefully

#

although they might target your quad.

#

my quad have no mercy

#

so they can attack allies aswell

#

will your quad move at all?

scarlet fossil
#

It's just gonna die out

#

I have no idea why it's just… stuck. Problem in the pathing code somewhere :/

#

It's going "oh hey, I should approach that target, let's do nothing"

scarlet fossil
#

So yeah, you're not exactly in danger 😅

#

Still need to add more debug statements to understand the lack of moving around

#

I love Muon's commit messages. big commit with lots of changes and a descriptive message

#

Yeah, no

scarlet fossil
polar path
sullen condor
#

@scarlet fossil W7S11 spawning quad for W8S8

#

It must be better than before!

#

Launched!

scarlet fossil
#

Yep, it's coming~

sullen condor
#

It has very basic logic

#

Just spam RMA, never use RA

scarlet fossil
#

too much firepower needed to fight: {"attackCount":1,"rangedCount":17,"healerCount":12}

#

😅

sullen condor
#

This test is for not dying

scarlet fossil
#

That was enough to make it nope out lol

polar path
#

"Guess I'll die" - Overmind

sullen condor
#

No defense?

scarlet fossil
#

Took it waaay to long to notice

#

It dropped the defense directive you were already banging on that wall

sullen condor
#

Mock attack!

#

In what criteria they shoot towers?

scarlet fossil
#
4 hostiles detected!
    Potential creep damage: 0
    Maximum tower damage: 3240
    Enemy healing power: 1200
    Targets: 
#

not the correct ones

sullen condor
#

With that result, they have to shoot, isn't it?

#

This is my estimate

scarlet fossil
#

My number feels way too low

sullen condor
#

How about change to melee defender

#

Oh, mock attack killed my creep

#

blocked by normal creep

scarlet fossil
#

I have no idea what happened there…

sullen condor
#

Yeah I have to improve retreat logic

scarlet fossil
#
4 hostiles detected!
    Potential creep damage: 950
    Maximum tower damage: 3240
    Enemy healing power: 1188
    Targets: [creep q_cup9k8ff],[creep q_cup9k8hz]
#

Something caused a drop in the "healing power", and it went "wait I take take that out" and 💥

sullen condor
#

When calculating retreat path, I should consider possible dangers

scarlet fossil
#

And yet two ticks later ```
3 hostiles detected!
Potential creep damage: 950
Maximum tower damage: 3060
Enemy healing power: 1280
Targets:

sullen condor
#

At this very moment, my quad should have retreated to the south, but it chose west

#

And this creep blocked the path, So heal potential got significantly low

scarlet fossil
#

Stalemate, I guess. There's no way I'll be able to over-damage you, and the silly defense fleet pushed you too far away for the towers to do anything

#

Ahah, silly miner getting in the way saved muh walls

sullen condor
#

No. That's not because your defense creeps. My quad knows where it cannot step

#

Red alarm emojis shows that

scarlet fossil
#

Ah, that's what those mean

#

You're still sucking that whole damage output, I'm impressed

heady oracle
sullen condor
#

At this moment, quad should have retreated to the straight south, while it chose bad red path

scarlet fossil
#

Yeah, it might have liked the nicely paved road

sullen condor
#

retreat pathing sucks now

scarlet fossil
#

I'm also pretty sure you could do a bunch of damage if you fired back?

sullen condor
#

I skipped lines of code v2 bot had while rewriting. It's the consequence

#

Again, I can see the bad pathing

#

retreat pathing to your defense creeps

#

This test was so valuable

scarlet fossil
#

17 defenders

#

Sheesh, that must have been a big hit

sullen condor
#

I know the cause now, I think I can fix it

#

Next time my quad will never die!

scarlet fossil
#

Most likely to happen, yeah

sullen condor
#

Last quad member

#

Doing its best

scarlet fossil
#

It's nice seeing all the silly things this code does

#

They're now all going to head to keep the controller warm, for some reason

sullen condor
#

Haha

#

I'll be back in... 10~11hours

scarlet fossil
#

Well, I'll have a hot controller waiting for ya then 😅

#

Not sure if I'm gonna be able to fix the defense that quickly…

#

TODO record baddies needs to be redone in a more systemic fashion. But here for the :popcorn:

#

Nice comment

#

discovers a bare-bones system to track creep expenditure

sullen condor
scarlet fossil
#

Yeah, the melee defenders are there, but locked by a condcheck for melee being present

polar path
sullen condor
#

What I want to recommend for me

  1. Consider enemy creeps and incoming damage while pathing retreat path
  2. Implement smarter RA/RMA
  3. Respect v2 bot code
scarlet fossil
#

That's pretty much wrong, and I realized that watching the fight

#

Also, that comment is why I'm getting the lurker role wrong, I think

sullen condor
#

Now quad is working

#

Correctly, it seems

#

NOOO

#

Swamp lol

#

Ok, this is chanllenging and fun

rotund olive
#

#screepsplus message Please ping me immediately if this happens on SS

sullen condor
#

@scarlet fossil Test quad launched (again)

scarlet fossil
sullen condor
#

Cool

#

Let's see! It's interesting

scarlet fossil
#

No idea wtf it's doing tho, it's idle most of the ticks

polar path
#

What's a ravager?

sullen condor
#

Super smart, huh?

polar path
#

In screeps, I mean. XD

scarlet fossil
#

But that was enough to convince the turret code that there was enough power to fire at you consistently

#

So… yay I guess?

sullen condor
scarlet fossil
#

It's OM's melee bunker defender

#

Not sure you'd get to see it normally, the activation condition for that was… weird…

polar path
#

Ravagers are ranged in starcraft though. XD

#

That's a lot of move on it

sullen condor
#

it knows it will die if it move close to ravager

polar path
#

Especially for a road-only creep

scarlet fossil
#

Found a few bugs in the combat code where there would be a few ATTACK_POWER multiples

polar path
#

That RMA only really hurts the quad when it's kited back like that

sullen condor
#

Yeah. I didn't implemented attack code. Just RMAing

#

If it can keep my quad one tile away, that's pretty enough defense

scarlet fossil
#

I need to look at what I could do to handle emergency repairs. Not sure anyone picked up on that rampart being eaten

polar path
#

I pushed my latest code to jayseegames as well so my room should be a bit less dead now. Still no remote defense yet though

sullen condor
#

It seems that my quad is pretty good at surviving now

polar path
#

soonTM

scarlet fossil
#

Mhm, it does seem so, yeah

sullen condor
#

I'll write a post about it

scarlet fossil
#

And yeah, that's a chonky boi with a tad too much MOVE

sullen condor
#

Problem is it's using tons of CPU

scarlet fossil
#

You should see mine lol

#

I'm 4000 CPU down in the bucket

polar path
#

Lurker would make much more sense.

sullen condor
#

I'm under 2000 now

polar path
#

And a 2:1 ratio in favor of more attack than move.

scarlet fossil
#

Oh wow

#

Now you're hitting the hydralisks too

#

…what a bloodbath lol

sullen condor
#

The problem is

  1. usually my bot cache path through your spawns/towers/etc, considering rampart hits
  2. your bot making my quad run awway, So I can't use the cached result
  3. pathing through ramparts eats tons of cpu
#

Maybe I should use something like flowField

scarlet fossil
#

So many small issues I see…

sullen condor
#

I think I can do that

sullen condor
scarlet fossil
#

Yeah, definitely ^^

polar path
sullen condor
#

I think I'm done with my logic. cpu efficiency should be improved though. Tell me anytime you want to test your defense

scarlet fossil
#

That was for that hydralisk kiting forward, getting bonked hard, and fleeing into a swamp, which it didn't have the move power to get out of

polar path
#

Like, the fact that hydralisks are used for that at all. It's a huge expense for not much effect

sullen condor
#

My quads are dying because of empty bucket

#

Bye bye

scarlet fossil
sullen condor
#

I need better cpu efficiency

#

One quad used total bucket lol

scarlet fossil
#

I mean, I could switch those to something else… Not sure what else OM has in its setup toolkit

polar path
#

Probably polishing up those lurkers and making it use those plus repair would be a good step.

scarlet fossil
#

But honestly, the issue right now is the missing tracking. So apart from that one ravager that spawned late, it's gonna estimate the number of ranged defender on its own, not accounting for what the other overlords might also request. So I end up with like 15 hydralisks requested for 4 creeps

scarlet fossil
#

I mean, what would be the true strat in that case? Just plop out a few melee, have them track closely, and tank the shots by repairing?

sullen condor
#

Yeah

scarlet fossil
#

I guess that makes sense. No need to have a flurry of things that would just get sniped and die, especially such a fleet of them

polar path
#

Melee + repair is generally the defense meta. It keeps the defense cost down.

sullen condor
#

Thanks to bunker (high tower damage) It will be enough to have 1~2 melee defender.

scarlet fossil
#

I'll switch to doing that then, see how it goes

sullen condor
#

5~6 hydralisks would be enough

polar path
#

Praise the controller!

sullen condor
#

Try hydra first. If enemy is smart enough, go for lurker

scarlet fossil
#

Yeah, but I'd want to add some tracking of that sort of skirmish, like "at tick n, this and this and this creep showed up. I spawned that and that, and I'm holding off. At tick m, another batch showed up, and I can't sustain that, so I'm gonna ask for help around for a squad of 5 these"

#

That sort of thing

polar path
#

I would rather first assume the enemy is competent and defend accordingly, and only after that try lower percentage plays.

scarlet fossil
#

which I could also use to track the resource expenditure and just give up if it's hopeless

scarlet fossil
#

You should see the mess one stronghold can do to OM 😅. Took me a bit of work to wire up suspension so it would just stop ticking a room until the thing vanishes somehow

scarlet fossil
#

📉

#

It's just brutal lol

polar path
#

Witnessed it in one of the OMs I fought on s0

scarlet fossil
#

Yep, back then it was obvious on my Grafana charts that it was happening

#

Now it's a bit less, the only issue that remains is the transporters not canceling tasks when that happens, so they bunch up at the exits and get sniped out

#

So loss of economy throughput until they die off and the suspension actually kicks in, and loss of resources because sometimes there's like 6 of them dancing around and getting killed

#

the issue being that the locations are filtered when they get picked, and once they're set it's a succeed or die situation

#

The retirement train has started

polar path
#

If you do overhaul overmind's defense it would be interesting to see what it looks like to have an overmind bunker be competently defended. XD

#

I think the base design has some inherent flaws either way, but it could certainly do much better if there was better defense code.

bitter lava
#

idk what happened

#

but it doesn't look good

sullen condor
#

@scarlet fossil Improved cpu efficiency. Spawned a quad to test!

sullen condor
#

Optimization worked pretty well. Now it's using around 2 CPU(not retreating) and around 5~8 CPU (while retreating)

scarlet fossil
sullen condor
#

Tell me when you need me

heady oracle
bitter lava
#

@rotund olive second NCP invasion

polar path
#

He even has a villain name to match. :P

bitter lava
#

man this happened on newbie land aswell

sullen condor
#
  1. It seems that your bot do not spawn defenders until ramparts get damaged? Which I don't think optimal
  2. There are some traffic issues about your defenders. (haulers block defenders, melee defenders get blocked by ranged ones)
  3. Ranged defenders get out of ramparts when it cannot kill enemy
  4. No repairers
    These are what I saw
heady oracle
#

hrmm, almost 300 creeps on 85 cpu

pallid totem
#

That really is scary

sullen condor
#

Much easier than first time. It took several months for me, writing code about quads

rotund olive
#

ussually rewrite is used to mean from scratch

#

it's hard to tell how much you transfered over, or if you're just refactoring?

sullen condor
rotund olive
#

yeah, divine beings tend to have that

pallid totem
rotund olive
#

only satanic beings think I'm not a divine being

#

scurry back to hell silly demon

sullen condor
#
  1. I used leader based system, now I don't. It made my quad to move much smoother
  2. Using new pathFinding system to find bulldozing path(Not using PathFinder.search inside of enemy room)
  3. Using another new pathFinding system to find retreating path
  4. healing logic is almost the same
rotund olive
#

so like, did you create a new folder and such for your "rewrite"? or did you change stuff in the existing bot's folder

sullen condor
#

Is it rewrite or refactoring? I don't know. It's middle of them

#

No. Whole new folder

#

Logic is similar, code is much different since I don't use prototyping anymore

#

V2 bot was all about prototyping

#

Cannot copy-paste since structure has been changed so much

#

But it's possible to copy-paste the idea, not actual code

rotund olive
#

gotcha

sullen condor
#

It seems that server is hiccuping?

rotund olive
#

uh oh

#

someone scare it, quickly

heady oracle
#

my bot is bleeding bucket now

scarlet fossil
# sullen condor 1. It seems that your bot do not spawn defenders until ramparts get damaged? Whi...

Oh, nice, thanks! Sorry, didn't get to look at that earlier.

  1. I'd have to have a closer look, but it's likely the delay between entering the room, detecting an attack and dropping the defense directive (which sadly can't be seen on the replay). I didn't look at that part at all, but yeah, it feels a bit slow… On the other hand, if I make it faster, then it's gonna make a mess of potentially useless creeps if it's just a bait 🤔
  2. yeah, traffic can be wonky in OM. Not sure how easily I can fix that though. Those poor workers are getting scared of the quad even though they're safe under ramparts :/
  3. actually, I still haven't pushed the code with the changes I was working on: trying to have 4 melee hugging the rampart and tracking, and only add ranged on some condition I haven't thought about yet. Right now it's mostly if it's a lot of damage, also add those to the pile.
  4. yep, haven't had the time to look at that. I think I'd want to reuse the workers for that, but (as per point 2), they're just freaking out, and as soon as the room's defcon level raises, anything civilian is stopped so spawning focuses on defending quickly. Again, more thought (and code-writing) required.
#

I didn't actually expect it to hold up that well though (for some definition of "well" where I have infinite resources, 'cause the creep count is definitely impressive). But I'll need to make changes to have a better system, since right now, I'm planning 4 melee creeps + a bunch of ranged defender, and I have no place to track the complete defense force (only the ranged defender overlord does that)

#

Maybe beefier melee creeps as well, those are just not boosted because the blueprint is static, and there's nothing to make it dynamic yet

sullen condor
scarlet fossil
#

RMA is range 2, right?

heady oracle
#

RMA has a range of 3 doing 10/4/1 damage

scarlet fossil
#

Range 1 is actually sort-of working, I think, if the single melee creep I had is close, your quad was staying out of that

sullen condor
#

Yeah. Keeping them at range 2 is enough most of the times

scarlet fossil
#

I love the damage stalemate at 1250338

sullen condor
#

Make them stay away + repairers

scarlet fossil
#

No movement, just shots flying

#

But yeah, the pathing is definitely… something else

#

I have no idea what the melee creep is thinking during that

#

That one is rampart-locked (to the point I'm positive I'd have a problem with the pre-bunker defenses). Not the ranged ones. I need more data lol

sullen condor
#

I'd willing to do more tests. So ping me freely

#

I'm pretty happy with current movement & healing logic

#

OM's defense is not effective(use too much resource), but certainly hard to attack against(because it uses much resource!)

rotund olive
#

@scarlet fossil can you consider changing your sign on Screeps Sandbox to explain that you are a heavily modified Overmind?

rotund olive
#

Voldemort

#

er wait, he who shall not be named

sullen condor
#

Nah. I can test with Traxus

rotund olive
#

voldemort is no more

#

the death eaters just got eaten or whatever

latent forum
#

nom nom

heady oracle
sullen condor
#

rich

heady oracle
#

ah, the terminal got stuck trying to transfer 0.9178 units of a resource

scarlet fossil
bitter lava
#

i added a costmatrix to my quad, need to test

rotund olive
#

No they are banned

heady oracle
#

can you give the bot like 30 cpu and move them closer to me?

#

i want a pet OM to punch

#

ah yes, i love it

#

oh for fuck sakes

#

op expansion

bitter lava
heady oracle
heady oracle
#

i will write quad+boosting code, i havent yet because lazyness but i will

heady oracle
#

honestly, its more of a case of i dont want to write an entire module to support it
especially when i have somehow gotten this far with just manual all out remote harassment

#

i really abused trep with it back in s6

bitter lava
#

flag based or console based

heady oracle
#

hardcode based

#

its probably still sitting around the room control module commented out

bitter lava
#

you remind me of one of my OG screeps buddies

#

` /if (Game.rooms['E43S56'].terminal.store['GH'] > 100){
Game.rooms['E43S56'].terminal.send('GH', Game.rooms['E43S56'].terminal.store['GH'] - 100, 'E42S55');
}
/

/*if (Game.rooms['E43S56'].terminal.store[RESOURCE_ENERGY] > 20000 && Game.rooms['E42S55'].terminal.store[RESOURCE_ENERGY] < 100000){
    Game.rooms['E43S56'].terminal.send(RESOURCE_ENERGY, Game.rooms['E43S56'].terminal.store[RESOURCE_ENERGY] - 20000, 'E42S55');
}

if (Game.rooms['E43S53'].terminal.store[RESOURCE_ENERGY] > 20000 && Game.rooms['E42S55'].terminal.store[RESOURCE_ENERGY] < 100000){
    Game.rooms['E43S53'].terminal.send(RESOURCE_ENERGY, Game.rooms['E43S53'].terminal.store[RESOURCE_ENERGY] - 20000, 'E42S55');
}

if (Game.rooms['E46S57'].terminal.store[RESOURCE_ENERGY] > 20000 && Game.rooms['E42S55'].terminal.store[RESOURCE_ENERGY] < 100000){
    Game.rooms['E46S57'].terminal.send(RESOURCE_ENERGY, Game.rooms['E46S57'].terminal.store[RESOURCE_ENERGY] - 20000, 'E42S55');
}*/` some of their code
heady oracle
#

ah, lovely

heady oracle
heady oracle
#

well, normally the remotes spawn it as needed, i just manually spawn it to go somewere else

#

somehow it works

bitter lava
#

core attackers to attack a remote

#

although making quads for harassing is a bit useless

#

you can send 1 blinky instead

heady oracle
#

actually because of how the spawn system works, it usually just send 2 creeps

bitter lava
#

why 2?

#

do they go to seperate rooms?

heady oracle
#

because it hits part cap on the first and decides to make a completely new creep to use up/overuse the unused parts

#

atleast i think

#

i find it funny so it has stayed

bitter lava
heady oracle
#

even worse

bitter lava
pallid totem
#

@scarlet fossil Why not remove the <<overmind>> entirely?

#

Also, I didnt know OM was capable of PCs

scarlet fossil
scarlet fossil
pallid totem
scarlet fossil
#

I guess I could disable it though, but at that point, meh

#

Oh, it's part of the obfuscated code in Overmind. It checks that the name appears, otherwise will run 1 out of 3 ticks

pallid totem
#

hah

#

funni

polar path
#

Free trial version of Overmind

sullen condor
pallid totem
#

Its practically microsoft adding adds in the start menu

#

Ben is secretly a microsoft exec

rotund olive
pallid totem
rotund olive
rotund olive
# pallid totem

if you read it you'll see it sounds like he might still have the obfuscated code

pallid totem
rotund olive
rotund olive
pallid totem
#

lol its all good

wild delta
wild delta
#

Code push

wild delta
scarlet fossil
heady oracle
#

alright, time to abuse infdev

heady oracle
#

my scout appears to be boxed in...

bitter lava
wild delta
#

I prefer to view as a bunch of fans wanting their signature 😄

bitter lava
#

lol

#

room signature instead

pallid totem
#

@heady oracle This remote denial is brutal

heady oracle
#

now, if only they would stop pathing into your rooms

pallid totem
#

Why not take advantage of this bug?

bitter lava
heady oracle
#

oh, i mispelled a type

#

derp

heady oracle
# pallid totem

because i dont have siege code to take advantage of it yet

#

im just playing with resurrecting my S6 suppression code atm

bitter lava
heady oracle
#

if anything, i should now be doing less of that

pallid totem
#

I imagine harassing that much costs you a fair bit of energy lol

#

if I had actually decent logic for remote defense, this would be no biggie

heady oracle
#

i have no idea what this costs tbh

pallid totem
#

But these are changes that will be made in season

heady oracle
#

realistically though, ankle biters cost far less than any remote creep

heady oracle
#

i do believe they just stay out of range of ranged attack creeps

heady oracle
#

they have been getting stuck on the scout creep for the past day

pallid totem
#

thats because your right where my cached path goes through

#

And its annoying as fuck

heady oracle
pallid totem
#

For some reason though, my bot doesnt think of you as hostile...

#

I need to fix that

heady oracle
#

i wonder what remotes are getting the actual combat creeps

pallid totem
#

None so far

#

My bot isnt setting any remote defense goals due to this issue

#

Yeah

#

No hostiles

heady oracle
#

oops

pallid totem
#

OHHHHH

#

Woops

heady oracle
#

oh, theres one of the actual creeps

pallid totem
#

should slowly be fixing itself now

bitter lava
heady oracle
bitter lava
#

put a work part in

#

then you get the rainbow pack (kinda)

heady oracle
#

need a claim part too

bitter lava
scarlet fossil
#

Fun 😭

#

That poor OM must have had such a freakout

sullen condor
#

My creeps died eventually😂

scarlet fossil
#

Yeah. Not sure what that defense response was, but ugh

#

I'm sad that I don't have better logging for that stuff… I won't be able to read all the logging I do, how many defender it estimated that sort of stuff

sullen condor
#

I see

scarlet fossil
#

OM needs so much work combat-side. I'm glad it did somehow manage to take those out though

#

That looks like kiting mode with about… 10 hydralisks and a bunch of random melee? I wonder if it estimated properly, that's one of the things I improved

#

But yeah, easily abusable. Just stay at the edge, snipe the civilian creeps that are stuck in a "needs to path there/oh crap an hostile/flee to the colony" loop. Towers behind are gonna dump energy on repairs, etc.

sullen condor
#

It seems that my attackers need lots of work. They looks pretty dumb

bitter lava
sullen condor
sullen condor
#

@placid idol It seems that your bot dropped E4S11. Can you tell your bot to not give up that remote? I want to test combat there and you are a great opponent

scarlet fossil
#

Petition to rename the server Harabi's Sandbox 😅

sullen condor
#

This server really helps

#

I love that it has history

bitter lava
leaden sinew
#

Everything about this servers motd makes me laugh.
thanks for the chuckle

rotund olive
#

< 3

#

up and harv power couple

#

taking on the world

scarlet fossil
#

did you at least fix up to use its carry properly?

rotund olive
#

Nope!

pallid totem
#

@heady oracle My room is doing better than I thought

#

Even through your harassment

#

Well, two of them are

heady oracle
#

im certain that its not even working/sending right

sullen condor
#

@scarlet fossil Your creeps are dancing

scarlet fossil
sullen condor
scarlet fossil
#

Yeah, I debugged something in transporters and reenabled the gale-shapley stuff, which does that for some reason :/

#

Thanks! I haven't really worked on bunker defense since our last few skirmishes, just swapped the order so the melee defender spawn first

#

Main issue is that I'd need to make a pool of "those are the defenders that are gonna handle the conflict", so that I can properly scale the dynamic hydralisk count, otherwise it's just gonna not see the 5 melee and make another pile of 15 hydras

scarlet fossil
#

Server's freaking out, no?

sullen condor
rotund olive
#

Shit, will check it out

wild delta
#

Maybe @pallid totem ?

pallid totem
#

Lol

#

Might actually be

rotund olive
#

xD

pallid totem
sonic marsh
#

He's an actual menace XD

scarlet fossil
#

I'm getting the dreaded ```
SyntaxError: Unexpected token u in JSON at position 0
at Object.parse ()
at global._init.global._start (:16017:61)
at ()
at make (/screeps/node_modules/@screeps/driver/lib/runtime/make.js:160:34)

#

on tick start, and I'm just bleeding CPU all over

polar path
#

I think that means your RawMemory got set to undefined

sonic marsh
#

My bot is claiming there's a global reset every couple ticks. If it's not bugging out, could be due to that

#

Oh lookit lmao

rotund olive
#

Uhggggg

#

Wtf

sonic marsh
#

Servers are like petulant children. This is why all mine are managed, no bare metal

#

Which, I suppose Jaysee made the same choice. XD

rotund olive
#

I don't know if it's base metal or a VM

#

oh ahah I'm the manager :p

scarlet fossil
#

Okay I'm stable again

sonic marsh
#

I'm still seeing a global reset every 2 ticks

#

Welp, I needed to add a fallback for this anyway since it's probably going to happen in the season at some point.

rotund olive
#

😅 not sure what I can do

scarlet fossil
#

I don't know what's happening, it broke again. Last time I tried a combination of Game.cpu.halt() and that somehow stopped the reset every 2 ticks problem, but it's back

#

It's also very weird… I get one tick, then one one second later, and a big pause, over and over

#

Have you tried restarting the server @rotund olive? I'm wondering if there's something broken with the runners…

rotund olive
#

this sounds quite similar to a bug we had on newbieland

#

that time it was caused by a recursive import though. Probably not related

scarlet fossil
#

Not sure, but I know a few of the pservers I ran for myself failed a bit like that. Just… ticking oddly and throwing that error

rotund olive
#

this game...

#

very little community support, and the community server provided is not good

scarlet fossil
#

Mhm. Also, not sure about the RawMemory state. I can correctly get at the stringified version of my mem here, so I'm not sure where it's pulling the undefined from

rotund olive
#

hmm

#

Can everyone check if their Memory is weird at all please?

scarlet fossil
#

Mine's ```
Profiling memory...
Time elapsed: 13.552723999999984
ROOT.TOTAL: 436009

rotund olive
#

@sonic marsh@pallid totem @sullen condor @haughty cloak @polar path @heady oracle @wild delta @bitter lava
please check your memory for anything weird going on, and check your console for errors and please share if something is weird 🙂

polar path
#

I'm at work right now, it'll be a few hours before I could check it.

sonic marsh
#

Memory seems fine for me, also haven't seen the JSON error crop up again. Just the global resets.

scarlet fossil
#

I wonder what the server logs says. Something about runners exiting -1? I think that's how I had that at one point…

dawn agate
#

I'm getting Unexpected token u in JSON but intermittently, e.g. not every tick. Also global resets every 3-5 ticks

scarlet fossil
#

Fixed now

#

Never mind, dead again

#

It just went through 10-15 ticks in a row before returning to the "reset every other tick" issue

#

And stuck. Last tick was 2103840 It started again, but back into the constant resets

sullen condor
#

My bot is experiencing global reset constamtly

scarlet fossil
#

Fixed again ¯_(ツ)_/¯

rotund olive
#

uhgg ok time to do this again lol

#

how do I get logs again?

pallid totem
rotund olive
sick juniper
#

Is that a euphemism?

pallid totem
#

I'd like to file a complaint with HR

rotund olive
rotund olive
haughty cloak
#

Fwiw, still resetting every few ticks

scarlet fossil
scarlet fossil
#

Yeah, it's even deader than yesterday. I'm seeing upward of 5 minutes downtime between ticks, and a lot of the u errors

#

Actually, I don't know. I see TTLs going down (about one tick/6 seconds), but no ticks in console

#

So I guess everyone's gonna die out 😭

sonic marsh
#

That's one way to do a server wipe

scarlet fossil
#

Ah, might have been me. I think it's struggling so hard with the reset I'm just constantly hoovering whatever bucket I have saved up, so much that the runner just goes "yeah, not you, you're just hoarding it"

#

A switch out to a "do nothing" branch and back let it tick a little, so I'm back at ~600, but even with the refill bucket system running, it's still decreasing (and that's a big "if that is set and bucket not full, just do nothing at all" check)

sonic marsh
scarlet fossil
#

Crap, I think I broke myself pretty hard. Accidentally deleted my Memory :/

pallid totem
#

Hah

scarlet fossil
#

It's possible it's gonna fix itself, but given it ticks erratically I'd really prefer to have something… dependable before I start pushing things

#

Anyways, I think that undef issue comes from something about accessible rooms:

#

So either the key is dead within the runner, which would point to redis somehow losing that value, and given the engine appears to auto-regenerate it every 20 ticks, that's why I'm seeing a burst of "everything is fine" ticks until it breaks again.

#

Or engine is going completely bonkers and just leaves the key unset, leading to a crash in the runners

rotund olive
scarlet fossil
#

Yeah, I had a hunch. That's not exactly good 😟

#

Could you maybe check if there's more info in the log files inside the container for that runner?

#

Ghaa, I'd need to hack the server code to get more info about what's happening :/

scarlet fossil
rotund olive
#

sorry

scarlet fossil
#

You should end up in /screeps, in the container

#

Check the logs directory for a error_runner.log or something

rotund olive
# scarlet fossil Check the `logs` directory for a error_runner.log or something
/screeps/logs $ ls
backend.log               engine_processor4.log.2
backend.log.1             engine_processor4.log.3
engine_main.log           engine_processor5.log
engine_main.log.1         engine_processor5.log.1
engine_processor1.log     engine_processor5.log.2
engine_processor1.log.1   engine_processor5.log.3
engine_processor1.log.2   engine_processor6.log
engine_processor1.log.3   engine_processor6.log.1
engine_processor10.log    engine_processor6.log.2
engine_processor10.log.1  engine_processor6.log.3
engine_processor10.log.2  engine_processor7.log
engine_processor10.log.3  engine_processor7.log.1
engine_processor11.log    engine_processor7.log.2
engine_processor11.log.1  engine_processor7.log.3
engine_processor11.log.2  engine_processor8.log
engine_processor11.log.3  engine_processor8.log.1
engine_processor12.log    engine_processor8.log.2
engine_processor12.log.1  engine_processor8.log.3
engine_processor12.log.2  engine_processor9.log
engine_processor12.log.3  engine_processor9.log.1
engine_processor2.log     engine_processor9.log.2
engine_processor2.log.1   engine_processor9.log.3
engine_processor2.log.2   engine_runner1.log
engine_processor2.log.3   engine_runner1.log.1
engine_processor3.log     engine_runner1.log.2
engine_processor3.log.1   engine_runner1.log.3
engine_processor3.log.2   engine_runner1.log.4
engine_processor3.log.3   engine_runner1.log.5
engine_processor4.log     storage.log
engine_processor4.log.1   storage.log.1

quite a few options

scarlet fossil
rotund olive
#

so I post each one?

scarlet fossil
#

Maybe not each one, but… one where there ought to be something interesting in them

rotund olive
#

got it

scarlet fossil
# rotund olive got it

I'm not sure if there's anything to be found, to be honest, but hopefully there's an explanation as to why main is restarting the runner in a loop?

rotund olive
#

yeah makes sense

scarlet fossil
#

'cause I'm pretty sure if the process aborts, it doesn't even get to log that, and the main process doesn't actually log a signal being the reason for the exit

#

The 'exit' event is emitted after the child process ends. If the process exited, code is the final exit code of the process, otherwise null. If the process terminated due to receipt of a signal, signal is the string name of the signal, otherwise null. One of the two will always be non-null.

#

So it's likely eating a signal in the face

#

I mean, that whole function looks odd to me… you have a restartInterval that some of the processes default from the configuration, but once something happens, this function will just blindly restart with no interval set, ignoring the config altogether

#

It'll also clobber itself if there's already a process with that name running, so you "leak" a process if that happens