Previous Blog Next Blog
Prev/Next Blog
by date

Opensource Patcher Part 2

Opensource Patcher Part 2
Name:Vince Gee 
Date Posted:Dec 07, 2006
Rating:5.0 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Vince Gee

Blog post
Holy cow has it been a long time. My game didn't make it very far, but recently I was contacted by someone who asked me about the patcher I wrote for it. Boy did it bring back memories.

So, I opened up the source code and realized what a hack job I had done. I started a rewrite of it and wow did I really surprise myself.

So, now it has a built in FTP system. Step one is to validate your FTP System



Step 2, Select the folder you want to deploy and a scratch folder... then hit "Generate CRC"



Step 3, Click Determine Files that have changed and upload to FTP Server



Step 4, Confirm that they have been uploaded by clicking again, determine files that have changed



So to round it all up,
Just as an update, I've actually dug into this pretty hard, I've got a couple more things I want to add, but right now...

Creating a Patch

1) You enter your FTP address and Username and Password with write permission

2) You Validate the FTP Connection

3) You select your source folder (This would be where your finished files are, the ones you want to deploy)

4) You select a working folder, i.e. c:\tempgame

5) You click Generate CRC

6) You click Compare to Server (It actually goes out to your FTP Server and grabs your old log.crc and starts comparing CRC values

7) you click update server and it actually connects to your ftp server deploying your non-matching files as compressed files that the patcher actually knows how to read. (So you don't have to repush out files that haven't changed)


Applying a Patch


Oh, and the splash image can be changed. The patcher looks for a file called "Splash.gif" in the folder that patch is running in and will load it in the background on startup.

1) Click Patch :)

It goes out to the ftp server, grabs the crc.log and starts checking your file's crc signature w/ the one in the log, if it doesn't match it will go out and download the compressed file and uncompress it over your incorrect file until everything matches the patch :) (and yes it does show the splash screen)


To do,

1) Allow people to save their FTP and File Preferences (Developer)
2) Allow people to specify what application to start when patcher is finished
3) Display a rich textbox with any notes that were delivered with the patch
4) Bake Cookies...

I should have all but 4 in by tomorrow assuming it keeps coming. I must thank you, cause I would have never have looked at this code had you not asked me to, let alone make these improvements.

I'm still testing and I'm sure I have a bit of testing to do. Right now I'm very happy w/ its performance.

It takes a 400meg download and compresses it to under 200... but I guess it matters how compressed your data is to begin with.

Vince

Recent Blog Posts
List:12/22/06 - Need a head start on modding 1.5?
12/20/06 - Just thought I would post my going ons.
12/09/06 - Game Patcher Release 1 Finished!!!!
12/07/06 - Opensource Patcher Part 2
11/17/06 - Looking for a mountable Dragon
03/27/06 - The Current state of affairs (pics inside)
02/14/06 - Finnally an opensource patcher!!!!!
02/12/06 - Things are smoothing out for the Vision Toolkit

Submit ResourceSubmit your own resources!

Vince Gee   (Dec 07, 2006 at 04:52 GMT)
And of course I'll be putting up the source code for it. You do need to be a little experienced in programming since some of the code is c++, C# and vb.net... the price you pay for having a hack do this :)

Vince

Stefan Beffy Moises   (Dec 07, 2006 at 08:44 GMT)   Resource Rating: 5
sounds really, really helpful! :) lookin forward to it!

Christian S   (Dec 07, 2006 at 13:22 GMT)   Resource Rating: 5
This is -awesome!

Thanks a lot ;)

OneST8   (Dec 08, 2006 at 01:48 GMT)
Nice stuff! Looking for ward to seeing the code :)

Wayne Eversole   (Dec 08, 2006 at 11:15 GMT)
At least now we know your still alive lol

Derik Wilson   (Mar 14, 2007 at 02:35 GMT)
Is this still in development? Our team is really needing a patcher as we really don't want to write one at the moment. If we have to we will. Thanks.

You must be a member and be logged in to either append comments or rate this resource.