Committing Memory using direct API access



  • I made a Python script that periodically grabs the code on the servers and downloads it locally using direct API access

    Since I've seen several instances of users' memory being wiped It would be nice to download and upload our Memory in a similar fashon

    It seems simple enough and would help many of us sleep at night knowing that our Memory is safe too

     

    Thanks

     



  • Yeah, this *totally* wouldn't be abused by players to do processing on their own servers and upload the results back to their creeps, therefore bypassing the CPU limit.

    Not at all.


  • Culture

    It's possible, look around at github and you'll find projects that get/post to memory. But it maybe fall into:

    • Use server resources and game mechanics for the purposes not intended in the Game.

    http://support.screeps.com/hc/en-us/articles/203833952-Terms-of-Service 


    A memory wipe is very uncommon and I only experienced it once when they had some issue with the steam release.

     

     



  • The use case for this is for me to play with rawmemory.  I was trying to create my own data structure for the memory to optimize CPU usage instead of using a JSON object which takes CPU time to parse even if you don't access all of it's contents.

    When I was playing with this idea in a sandbox my memory kept on getting corrupted because the JSON parser failed and through and error before my code got executed and never ran my code.  The only way I was able to fix this problem was to reset my sandbox.

    I am scared that if I used this on the main server my data will become corrupted permanently and I will be unable to play at all.  In this case even if the sysadmin "reset" my memory I lose everything I have worked on.

    One simple fix to prevent "Cheating" would be to limit Download/Upload of memory to once per hour or day.

     

    Technically the rules don't ban external resources...



  • You can always reset your own memory.  You just create a new branch that only has code in it to wipe the memory, switch to that branch, then switch back.