Group Details Private

administrators

  • RE: PTR Changelog 2018-01-18: isolated VM

    @tigga This is a nice idea, we'll look into what we can do.

    posted in Public Test Realm
  • RE: PTR Changelog 2018-01-18: isolated VM

    Server is restarted. There is a memory leak somewhere, we're trying to track it down, but it may break a few times again.

    posted in Public Test Realm
  • RE: PTR Changelog 2018-01-18: isolated VM

    There is a critical error in isolated-vm integration, ticks are stopped currently. We're working on it.

    posted in Public Test Realm
  • RE: PTR Changelog 2018-01-18: isolated VM

    @postcrafter

    It seems like you currently need to save your code after switching to isolated mode, in order to force a code reload to the new virtual machine.

    It should not be related. Are you sure it's not just coincidence?

    I already found a first bug, Game.shard seems to be undefined.

    Fixed, thanks.

    posted in Public Test Realm
  • PTR Changelog 2018-01-18: isolated VM

    This post describes changes on the Public Test Realm.

    We're happy to introduce a new major feature that may impact your Screeps gameplay in a whole new way: isolated virtual machine. We explained this a bit in this blog post earlier.

    TL;DR:

    • You can opt-in for an isolated VM in the new account settings UI called Runtime. This will move execution of your script to another pool of server nodes with this experimental feature enabled. 0_1516270538209_chrome_2018-01-18_13-15-02.png

    • In isolated VM you have your very own JavaScript environment, including heap memory and garbage collector.

    • Since isolated VMs can be transferred between threads within the same Node.js process, it is no longer neccessary to maintain multiple global instances, you always have one single global.

    • You can use new API method Game.cpu.getHeapStatistics() to know how much heap memory you're using in runtime. Maximum effective limit is 256 MB for each player.

    Please note that this feature is still in development and considered experimental. Please report any incorrect behavior and be ready that things will be improved over time.

    Some temporary limitations (Marcel Laverdet, the author of isolated-vm library, is still working on this functionality):

    • Native PathFinder cannot be used yet. It is disabled by default, and PathFinder.use(true) will throw an error.

    • Game.cpu.getUsed is emulated via Date.now() and only works with milliseconds precision rather than microseconds.

    posted in Public Test Realm
  • RE: Disappearing binary file

    Code size limit is 2MB for all your modules in total, including binary. Also take note that binary modules are base64-encoded, this increases their size a bit.

    posted in Technical Issues and Bugs
  • RE: Discussion: Contract system

    I just want to post it here again:

    In order to create some "marketplace-like" behavior to popularize contracts usage, we can develop a public offer system, where you create an offer without a direct respondent, and all interested parties can view all such public offers via special UI. When someone accepts a public offer, you're notified (both via UI and API) and should finish the deal to start the contract (again, either via UI or API).

    Thus, creation and acceptance would be manual, but dealing could be both manual and automatic.

    To make it more clear:

    1. You write code, create a contract (manually).
    2. You set up this contract to be public rather than directly invited (manually).
    3. The contract is then listed in the Public Contracts UI.
    4. An interested party views your contract and accepts it (manually).
    5. You finish the deal (either manually or automatically).
    6. The contract starts, you track the progress (either manually or automatically).

    Still looking forward to hearing some feedback on this.

    posted in General Discussion
  • RE: Creeps not zoning when on zone line

    Thank you for reporting. This room had invalid configuration in the database, it is now fixed.

    posted in Technical Issues and Bugs
  • RE: Give observers infinite range

    Please see this topic.

    posted in Feature Requests
  • RE: Discussion: Contract system

    In order to create some "marketplace-like" behavior to popularize contracts usage, we can develop a public offer system, where you create an offer without a direct respondent, and all interested parties can view all such public offers via special UI. When someone accepts a public offer, you're notified (both via UI and API) and should finish the deal to start the contract (again, either via UI or API).

    Thus, creation and acceptance would be manual, but dealing could be both manual and automatic.

    To make it more clear:

    1. You write code, create a contract (manually).
    2. You set up this contract to be public rather than directly invited (manually).
    3. The contract is then listed in the Public Contracts UI.
    4. An interested party views your contract and accepts it (manually).
    5. You finish the deal (either manually or automatically).
    6. The contract starts, you track the progress (either manually or automatically).
    posted in General Discussion

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