Group Details Private

[Alliance] YP

  • RE: Creep death: more than just a delete

    so who is designing the nicest tombstone svg ? :)

    posted in Feature Requests
  • RE: PTR Changelog 2018-01-18: isolated VM

    @tigga you can already do that:

    let memory: any;
    let lastTime: number = 0;
    export function load_memory() {
      // const start = Game.cpu.getUsed();
      if (lastTime && memory && Game.time === (lastTime + 1)) {
        delete global.Memory;
        global.Memory = memory;
        RawMemory._parsed = memory;
        // console.log("Tick has same GID!");
      } else {
        // noinspection TsLint
        memory = RawMemory._parsed;
      lastTime = Game.time;
      // const end = Game.cpu.getUsed();
      // console.log("memory loaded", lastTime, end - start);

    this snippet is from slack, not sure who posted it ,) this also will work on the live server, when 2 ticks run on the same server, which happens quite often.

    posted in Public Test Realm
  • RE: Game.notify() for private servers

    I think there is an example mod for that in the example folder

    posted in Private servers
  • RE: BOMB Bodypart

    Let's give low-levelers a chance to fight back

    and what prevents higher players to use it to decimate lower players even more ? ;)

    posted in Feature Requests
  • RE: Discussion: Contract system

    I have thought a bit more about the feature and I'm not sure anymore how practical this will be. I think it might be hard to create code that works seamlessly beside other players codebases.

    for example spawning creeps... people have different ways to queue creeps to spawn.

    When you accept the contract, you're now obliged to execute the contract code. You cannot pause it, that would be a violation of the contract terms. So it's now your responsibility to ensure that the contract code is able to execute each tick.

    What if the code malfunctions? maybe not throwing errors, but spawning creeps every tick without moving them because of a wrong target id and blocking spawns.

    You can't enforce people to fulfill the contract anyways .. of course you can prevent the user to pause the code .. but you can't stop him to change memory of the contractor creeps, suiciding creeps or other more subtile sabotage like changing prototypes so the script won't work correctly.

    The code could also contain a bug that was not recognised in the code review ... maybe it's using a huge amount of cpu under certain circumstances.. then you will be stuck with it ?

    posted in General Discussion
  • RE: Discussion: Contract system

    @domnomnom said in Discussion: Contract system:

    My main concern are the security implications:

    I don't see this example as a problem... the guy accepting the contract is responsible for checking the code. There are already many libraries available people are using without really checking the code .. snippets from slack and stuff like the. If someone lose their stuff it's their own fault. Maybe there should be a minimal GCL of 5 for example to be able to accept contracts.. and they have to click away some warning on the first use.

    I'm more concerned about eval for example to inject code remotely .. by updating using a public memory segment for example.

    posted in General Discussion
  • RE: Discussion: Contract system

    This sounds interesting... I have a few detail questions ;)

    • I guess the contracted screeps will still be owned by the contractor .. so in safe mode for example they can't work?

    • there is no way to communicate or send data to the external script running in another players account while it runs? (except probably with using the terminal to send data)

    • many players use safeguards for ticks that already have a very high cpu count because of a GC for example to stop all execution for the current tick to prevent a reset... will it be possible to suppress the execution of a contract for a tick? I guess it won't be possible to negotiate a max cpu for the contract and do something like a mini reset when it is reached?

    • what does the "automatically provide" in the introduction section mean? you mention a new ui to create offers and send it to other players .. is it also doable by code?

    also a small idea I just got about monitoring .. since the code runs after the players code it won't be easy to monitor it. maybe we could export a function in our main module that works as a wrapper? Or hook functions that are called before and after the external module? Maybe the hook before could return ´true/false´ whether the code should get executed.

    posted in General Discussion
  • RE: Auth Tokens

    Sounds like oauth2 with a captcha in the login page .)

    posted in News & Announcements
  • RE: Steam client crashes on launch ( Mac OS )

    not sure if you have seen this? might be related:

    maybe it helps to add --disable-features=NativeNotifications to the steam command line for screeps as a test.

    the only strange thing is that they say it's happening on old macOs versions .)

    posted in Technical Issues and Bugs
  • RE: Auth Tokens

    100kb/s would be 0.8 MBit/s per user (or 8.2 GB / day) just for stats... how do you think that would be tenable if you want to support that for every active user?

    For an even more stark example, the code upload limit should likely be closer to 720 / hour or more, given that the "baseline" is users editing code in the online editor might save every 5 seconds during active development, and we know the infrastructure can support this.

    I would really like to see someone coding for an hour with a average save frequency of 5 seconds :) That's like saving and uploading code every second tick.

    If you don't rate limit that authentication mechanism, then the external tooling will just find ways to use it so it can bypass the rate limits.

    That would only work if your script solves captchas. And if you do that actively to circumvent limits set by the game I would expect your account to get banned.

    posted in News & Announcements

Looks like your connection to Screeps Forum was lost, please wait while we try to reconnect.