Five days of coding progress lost


I had been saving, very, very frequently. But the brief disconnect while in the process of saving is what caused the preset to be overwritten. The only way I could have avoided this is saving in multiple slots, but it’s difficult enough to get it to save in one slot with my upload speed.

Plus, it probably would have happened anyways had the disconnect happened while attempting to save in two slots.


Ah, alright. An alternative way to save it would be to take screenshots of everything and save them in a folder; doesn’t require internet and doesn’t take up preset limit, but it takes a lot longer to save and load.


you have to agree that that isnt a optimal strategy here :s
i agree, add a way to download and upload preset files from the workshop!


Text import/export would fix so much…


Yes same thing for me (but only about 4 hours of coding), but as i already had an overwrite bug (30 minutes lost) i made a kind of versioning with loads of preset copies but the bug overwrote the whole of them ; thanks blizzard…
So i won’t do anything until i got a reliable data import/export;

(Keith Miron) #8

Hi Andy, apologies for all the lost work you had encountered. We’re looking into this. The expectation is that your existing presets shouldn’t be affected in case of intermittent connection problems (obviously this isn’t true right now).

We’ve found other bugs related to saving presets, so your experience is helping to make sure that others don’t run into the same problem when we actually ship the Workshop.


Can i ask for a comment on why importing and exporting to text files or something similair is not being used instead of the current cloud based system?

Is it for security reasons? Is it because its always been cloud? :3


Hi Keith,

Please provide us a way to import/export the code from/to a text file. It would certainly save much headache and give us reassurance that our code is backed up.


Importing and Exporting to a file would be pretty nice cause then websites like OWCGS and others could have sharing features that are better


I think we should keep making noise about it :stuck_out_tongue:

All they need to do is provide a simple parsing layer, that rejects anything that doesn’t match what is possible to write with the editor.

We would still have to nest our strings and arithmetic, but we could manipulate the script, especially structure, so much easier. People could then write pre-processors that take expressions and generate the corresponding game script.
We could have the pre-processor name and allocate variables.
We could combine scripts.
We could use versioning.
We could share them.
We could find/replace.

At that point, the in-game editor is less of a hindrance, because it’s somewhat optional.


Hey, I’ve found saving iterations of your work. e.g “gameV1”, “gameV2”, “gameV3” instead of overwriting the same file has saved me much headache.


I should do similar things, but flooding my presets is also a problem for me XD

Workshop really needs a version control tool.


everyone, please dont just bomb the developers with ‘text import/export!!’ that will just give them a unnecessary headache~ maybe its out of their power or permission to do as such~

however, id like the developer to tell his side of the story, and why it has not, or cannot be done.


Easy, just implement it entirely on the client side and don’t change the server at all; then they’ll know they won’t be opening up any security holes. If they do think client-side changes can open up security holes for anyone other than the client, then they’re fooling themselves by pretending those security holes don’t already exist on the server.


now, they can exactly predict and limit what the client side will send… text inports would throw that out the window.

yeah, the server might not have to be updated or changed at all, but any security hole thats closed by the limited client would then be exposed.

besides, im not arguing that its easy to secure, or stuff like that… what im saying is that the devs may not even be allowed to do it at all~ we dont know what they have been told and limited to, so thats why i wish they would open up some more about the shortcomings of the workshop. maybe then people would understand.


But my point is that the limited client doesn’t actually close any security holes, and if they think it does then they’re wrong.


… You could say this about any requested feature. I hardly see how this specifically is special.

The security implications of this don’t extend pass the same checks required anywhere text can be entered. The language itself is incapable of accessing memory it shouldn’t. The loops and everything else are all guarded at run-time to not loop without a wait, etc.

The parser is super easy given the lack of identifiers, or any advanced language features. In theory, if the tab-movement of the current editor was reliable and sane, someone could easily create a program to parse text and enter everything with the current editor… but the tab navigation is crap atm.


… and we all know one of those managers to say ‘no’ despite it all.

how many times have managers, despite better knowing developers saying otherwise, refused to listen? how many companies have done acts or created policies that do nothing but hurt their customer base?

maybe there are security holes that could get opened by it… maybe its perfectly safe and perfect and it can be secured and sealed seamlessly. or maybe, just maybe, despite the latter part, the people in power say ‘no’ and thats the end of it?

and on the other hand, a security hole could be as obscure as can be. let say if you load this script, it parses this variable at exactly this point which makes a wait function wait for 0 seconds and makes the server process a infinite loop. do it about a hundred times and you got the server slowed down to a crawl. this is me just making stuff up out of the top of my head.

im no professional programmer or game developer… i do it for a hobby, and i have little experience with handling malicious user data and protecting against it.

however, i have read many stories how a company (with a team of professional ITs) have had a security breach with a very obscure bug. twitter had its self tweeting tweet for example, and Linux has had a number of its own exploits. heck, Specter and Meltdown are exploits that affect your processor on the hardware level, and have been found working on nearly every processor used today, till the processors way back when we ran dos.

those are all extreme cases… point is, it doesn’t seem so easy to just ‘filter’ it all out. currently, the workshop holds your hand in every single way. you cant type in your own functions, you cant enter your own values, heck you cant even write your own strings. all you can do is press a button, ask the workshop to write a certain value into it, which it checks against known limits, and corrects if it gets exceeded.

if text import and export is a thing, then the workshop loses that control. it no longer holds your hand, and it now has to deal with a pile of data at once. one wrong move or one obscure bug might slip in, and expose the public servers to anything from the most harmless of glitches to deep exploits that can give security breaches.

yes, for a professional developer, game designer or just a more expirienced programmer, you might think you know a flawless way to quarantine it all, but to a manager, it sounds risky, and its better not to sway the odds. the servers for overwatch were never designed with scripting in mind, and thus are more vulnerable than games that have modding capabilities built into them


You don’t know what you are talking about. Just because you don’t understand it doesn’t mean crap.

I am a software developer, and work primarily in simulation involving motion control.

All non-syntactical checks on script correctness are already done after the data is entered. You can already try to enter a script with no wait, or with variables that don’t make sense. There are checks done before allowing your script to run, and there are plenty of runtime checks that error silently to prevent issues.

You keep putting forth this idea that they aren’t allowed. Where is this coming from?

I personally could create a parser that would enter a script via the current editor if the tab navigation worked. But you think they can’t?

Gah, it’s not worth arguing about any more. I could spell the entire thing out, you still wouldn’t understand.


im not saying they cant. im saying they either arent allowed to or dont feel safe doing so.

and of course its not coming from them. im speculating rather than yelling “IMPORT EXPORT! ADD NO!” in every post about it. if you were truly a software developer, you would know how it feels to have users keep on whining about a particular detail you cant add or change for your own reasons. yet you try and get everyone to spam it as much as possible~ :s

and how could you know its foolproof down to the metal when you dont even have the source code? or even know what the engine runs on, or how the backbone of the workshop runs.