Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411276 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 12:04:50 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Project: free autoupdater/launcher for games
Pages: 1 ... 6 7 [8]
Print
Author Topic: Project: free autoupdater/launcher for games  (Read 26978 times)
Evan Balster
Level 10
*****


I live in this head.


View Profile WWW
« Reply #140 on: July 07, 2011, 04:37:13 PM »

I've been busy myself, and am still not in a position to contribute.

But you guys are doing awesome work.  MY HOPES ARE WITH YOU <3
Logged

Creativity births expression.  Curiosity births exploration.
Our work is as soil to these seeds; our art is what grows from them...


Wreath, SoundSelf, Infinite Blank, Cave Story+, <plaid/audio>
PsySal
Level 8
***


Yaay!


View Profile WWW
« Reply #141 on: July 17, 2011, 12:50:54 PM »

I am replying to this so it shows up when I go to check it. Sorry for SPAM SPAM.
Logged
Klaim
Level 10
*****



View Profile WWW
« Reply #142 on: July 18, 2011, 10:42:07 AM »

Why don't you just click the "notify" button to get nottified when this thread gets updated? You're not alone on those forums, don't spam just to make your own display like you want.
Logged

technogothica
Level 1
*



View Profile WWW
« Reply #143 on: August 02, 2011, 04:05:08 PM »

Recently my laptop has been slowing down to a crawl, which prompted me to do some serious cleaning up earlier this week. Uninstalling software, defragging the hard disk, etc.

Along the way I noticed one of the nasty side effects of the AppData folder. While most uninstallers remove the key files from the Program Files directory, few seem to clean up the mess in AppData.

I've got close to a gigabyte of files that I'll have to manually delete. If I were a regular rank-and-file user, these files would go unnoticed and permanently clog up the disk.
Logged

bgund001
Level 0
**



View Profile
« Reply #144 on: August 04, 2011, 06:18:31 PM »

Hey all. I figured I'd share with you all the autoupdater than I'm using for my game. I saw this post a few days ago and since I needed one for my game and couldn't find one that was as simple/barebones as I was looking for I just whipped one up. Unfortunatly its pretty specific for my workflow so it'll probably not be good for the vast majority but I'm hoping at least a few will be able to use it. My goal was to make it lite and easy to use and not be too feature crazy so its about as barebones as an autopatcher can be.



Features
-Windows only(uses Windows Forms)
-Releasing the project source code so you'll need a Visual Studio edition that can create Windows Forms. I'm using Express 2008.
-Single .exe file. No external .dlls
-Downloads your full project as a zip and extracts it into your user application folder.(no support for diff or individual file downloads.)
-Uses MD5 to verify the download.
-Uses ZipStorer (http://zipstorer.codeplex.com/) for zip functions.

Not crazy feature rich but gets the job done for small game projects. I'm guessing it'll be perfect for small file size games similar to ace of spades or KAG where we're not talking about hundreds or even tens of megabytes.

How to use. Client Side

-Once you open the project in Visual Studio the first thing you want to open up is Protocol.cs. This where you can switch the config to your application.

string httpVersionInfo = "http://www.yourserver.com/version.txt"; Points to the version.txt file on your server. Explained below.
string appPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\.yourApplication"; application folder where your game files will reside
string localFilesPath = appPath + "\\LocalFiles"; folder where your .zip will be extracted
string configFileName = "config.txt";  name of the local config file. this file has two lines. version number and an MD5 hash of your local files.
string packageFileName = "newPackage.zip"; name of your zip file when it downloads. doesn't really matter as it's deleted once the application installs it.
string exeFileName = "yourGame.exe"; path and file name of the .exe that will get run when you press play. the path that ends up getting run will be localFilesPath + exeFileName.
int numRetrys = 1;  number of times the updater will attempt to download your zip if the MD5 verifier fails.

Ands that pretty much it for client side. The windows form is pretty dry but shouldn't be too hard to make it unique to your application.

Server Side

-Two things needed on your server.

First thing is the version.txt. It is a plain text file with three lines. First line is the version number. Second is the MD5 hash of your zip file. Third is the url to the zip file. A sample is included with the source.

Second is the actual zip file.

Disclaimer

I made this specific for my project in just a few hours so if you expected a polished, by the book, following all best practices then sorry. Its just an autoupdater. It's simple and it works and I tried to make it easy to change it to be used for other game projects. I most likely will not be updating it anymore but you are free to use/modify as you want. The ZipStorer class in it does have a licence but it's not too restrictive. I beleive it's free to use as you want as well. Let me know how it goes and if anyone is able to get some use from it.

Download Visual Studio Source
http://www.gunderman.me/files/barebonesautoupdater.zip
Logged

Klaim
Level 10
*****



View Profile WWW
« Reply #145 on: September 05, 2011, 04:13:18 AM »

I think that might be of interest to some people here:

I just discovered Decentralised Installation Systems  My Word! : http://www.osnews.com/story/16956/Decentralised_Installation_Systems

The two interesting implementations are :

 - http://autopackage.org/
 - http://0install.net/features.html

So, I'm not sure if it can suit some needs around here but it might.

If you try or tried to use one of those or similar approach, any feedback is welcome.

edit> The main problem I see with such a solution is that it forces the user to install "yet another app manager". So I think a lot of game devs will just ignore that solution. However, if that problem can be silently overcome, maybe a decentralized aproach would help to solve the problem.
« Last Edit: September 05, 2011, 04:28:10 AM by Klaim » Logged

rivon
Level 10
*****



View Profile
« Reply #146 on: September 05, 2011, 08:59:36 AM »

0install is a totally different thing... It's an alternative unix package manager...
Logged
Klaim
Level 10
*****



View Profile WWW
« Reply #147 on: September 05, 2011, 01:31:12 PM »

Not exactly, it works on other platforms too and does the automatic updating thing, that's why I posted it here. But it don't seem to be such a good idea. Even having an app-store on windows seems better now that I've thought about it.
Logged

technogothica
Level 1
*



View Profile WWW
« Reply #148 on: September 05, 2011, 03:20:49 PM »

Don't dismiss it too quickly - it may not be a perfect fit, but it may have smaller components or ideas we can cannibalize.

Good work Klaim!
Logged

Klaim
Level 10
*****



View Profile WWW
« Reply #149 on: September 06, 2011, 01:47:18 AM »

 Gentleman


I think for future implementations of automatic-update tool, a way to allow decentralization of download (maybe using bittorrent protocol or something?) could be an interesting feature.
Logged

Cheezmeister
Level 3
***



View Profile
« Reply #150 on: September 06, 2011, 05:09:11 PM »

Recently my laptop has been slowing down to a crawl, which prompted me to do some serious cleaning up earlier this week. Uninstalling software, defragging the hard disk, etc.

Along the way I noticed one of the nasty side effects of the AppData folder. While most uninstallers remove the key files from the Program Files directory, few seem to clean up the mess in AppData.

I've got close to a gigabyte of files that I'll have to manually delete. If I were a regular rank-and-file user, these files would go unnoticed and permanently clog up the disk.


Strictly speaking this is correct behavior, as AppData is (as I understand it) for configuration data and such. So like, you uninstall Firefox, reinstall another version, and your bookmarks and preferences and crap haven't poofed out of existence. Of course if you're getting rid of a program for good, you damn well want your preferences wiped, so it's a shame so few installers even give you the option to clear AppData. Which is probably what you're getting at  Gentleman

Looks like great work so far. I definitely want to guinea pig this when I'm less lazy =P
Logged

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


View Profile
« Reply #151 on: November 29, 2011, 09:13:06 PM »

Hey everyone!

I had an idea to create an auto-updater/launcher shortly after I started playing Minecraft. I eventually found this thread and that inspired me to follow through with the project. It's been in development for around 6 months in my spare time.

I've named it "precache" in reference to precaching resources before playing a game.
* Supports Linux, Windows, and Mac OSX.
* Fetches platform agnostic and platform-specific files from an HTTP server (tested against Apache, nginx, Lighttpd)
* Can (crudely, at the moment) launch a binary after files finish downloading. [needs to be fleshed out further]
* There are some limitations, but the design goals were to keep it simple, easy to use, and require little to no external dependencies.

My project is on github: https://github.com/apetrone/precache

More details can be found in the README along with a brief example on workflow.
If nothing else, maybe someone could find the code useful for their own project.
Logged
Pages: 1 ... 6 7 [8]
Print
Jump to:  

Theme orange-lt created by panic