Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411560 Posts in 69384 Topics- by 58443 Members - Latest Member: junkmail

May 03, 2024, 03:43:01 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Making a simple open source launcher+patcher in node.js
Pages: [1]
Print
Author Topic: Making a simple open source launcher+patcher in node.js  (Read 1555 times)
zaywolfe
Level 0
**


Don't let the little fuckers generation gap you.


View Profile WWW
« on: January 17, 2016, 06:46:57 PM »

So I'm hoping to have regular feature updates for my current game. The problem is I don't have the resources currently to get into platforms like steam that have patching/updates built in. And even if I did, I'd like to push updates to users that don't buy from those platforms. I did a cursory look around and most of the patching systems available are really complicated and paid or not open source.

I decided to take it upon myself to make something. Plus I figured it'd be a fun project that'd get me away from my game for a bit. And I'm posting it here for others who might find it interesting. So begins the Indate Patching system.

It's made from two programs. An uploader component that uploads any number of projects to a server. And a launcher that downloads the update information and only downloads the files that changed. Here's the github repositories for both.

https://github.com/zaywolfe/indate-uploader
https://github.com/zaywolfe/indate-patcher

Because of my limited resources and little money it only uses sftp and http for uploading and pulling updates. It also works with just a static server. Also I should say that this is my first time making something like this so I'm positive it's not perfect. But I hope to improve it as time goes on and continue to support it. Btw, the code could be better organized but I'm kinda pressed for time to get my game ready.

If anyone with more experience has any feedback or tips I would greatly appreciate it!
« Last Edit: January 17, 2016, 06:53:46 PM by zaywolfe » Logged

NoobsArePeople2
Level 0
**



View Profile WWW
« Reply #1 on: January 18, 2016, 11:01:24 AM »

I've used the Adobe AIR Update Framework which looks similar to Indate Patcher. The only tips I have are to make sure users can see release notes and that the version numbering is clear and visible inside the app.

To play devil's advocate I'll also put this out there: do you need this system right now? Would your time be better spent on game features rather than update features?
Logged
zaywolfe
Level 0
**


Don't let the little fuckers generation gap you.


View Profile WWW
« Reply #2 on: January 19, 2016, 01:16:49 AM »

I've used the Adobe AIR Update Framework which looks similar to Indate Patcher. The only tips I have are to make sure users can see release notes and that the version numbering is clear and visible inside the app.

Those are really good points, I should definitely add both of those things in. Can't believe I didn't think about it already.

To play devil's advocate I'll also put this out there: do you need this system right now? Would your time be better spent on game features rather than update features?

That's definitely true, but it's not fully in my hands right now. I'm working on my trailer and the rendering is going to take a few weeks to finish at least. And while that's happening my computer is pretty much bare bones haha. It'll only let me do light browsing like this and general programming. If I open up anything directly related to my game the computer freezes.

So it's just all I have to do at the moment  Shrug
Logged

Cheezmeister
Level 3
***



View Profile
« Reply #3 on: January 23, 2016, 08:26:22 PM »

I'm a little confused. If this is NodeJS based, what's with all the DLLs? And uh, where is all the JS?
Logged

෴Me෴ @chzmstr | www.luchenlabs.com ቒMadeቓ RA | Nextris | Chromathud   ᙍMakingᙌCheezus II (Devlog)
Layl
Level 3
***

professional jerkface


View Profile WWW
« Reply #4 on: January 26, 2016, 10:14:10 AM »

Atom.io, a JS&HTML based text editor, uses Squirrel for patching, you may want to give it a look. You can find it on github.
Logged
zaywolfe
Level 0
**


Don't let the little fuckers generation gap you.


View Profile WWW
« Reply #5 on: January 27, 2016, 02:04:55 AM »

I'm a little confused. If this is NodeJS based, what's with all the DLLs? And uh, where is all the JS?

The most common way to have an app with a gui in nodejs is to use node-webkit. So you're seeing the dlls of the bundled browser. Most of them are probably not needed and I'll get rid of. The js is in /html/js/

cheers  Smiley
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic