Page 1 of 1

Updater Code

Posted: Tue Apr 12, 2011 11:41 pm
by Ellume
I have encountered a number of ren'py game developers that have struggled over how to update their games, and I've seen that Magical Diary has a very functional and easy to use updater. I am wondering if you would be willing to release the code for your updater under some kind of open-source license in order to benefit the whole of the renpy community?

I know for a fact it would immensely help several developers, and save them both a great deal of frustration and time that could otherwise be spent on making games. As other developers are able to put out quality games, I would expect more people to be drawn to VNs and thus the increased overall interest would correlate to higher sales and exposure for your own games, especially if other developers are crediting you in their works for the updater.

Posted: Mon Apr 18, 2011 12:36 am
by Spiky Caterpillar
Sure, though it'll probably be a little bit of work to clean it up for release, so unless someone other than me wants to do the cleanup/packaging work it's unlikely to happen before the end of April.

It would be a good idea for me to get someone else's eyes on the DSA signing/validation anyhow, since I'm neither a mathematician nor a cryptographer.

Things that need to be dealt with:
- there may be 6.11-specific, Magical Diary-specific, or Spiky-Caterpillar's-Special-Hacked-Version-Of-6.11-specific assumptions in the code. (Off the top of my head, the only thing that *requires* my 6.11 hacks is the traceback uploader, which isn't actually necessary for updates.)
- It will need documentation.

Things that may bother other people:
- Signature validation is in binary in my updater. This is a feature, not a bug - it's much more likely that I'll run into a case where the difference between LF and CRLF is significant than that I'll intentionally upload a patch using a program that automagically translates line endings.
- While the patcher is crossplatform, the patch generator and the update server CGI assume they're running on Linux. Tweaks may be required for other unices; significant changes may be required for non-unixish OSes.

Posted: Mon Apr 18, 2011 5:02 am
by Ellume
Automagically? lol :D

I can take a look over it. I have a fairly math heavy background, but it has been awhile since I used a lot of it. A reason to refresh my memory on that stuff is more then welcome. Also I'm trying to get more into python and it helps to have a project. So just throw it up somewhere I can get and pass along the info in a PM, unless there is some other way you would prefer to work things?