Opensource Patcher Part 2
by Vince Gee · 12/07/2006 (4:44 am) · 6 comments
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
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
#2
12/07/2006 (8:44 am)
sounds really, really helpful! :) lookin forward to it!
#4
12/08/2006 (1:48 am)
Nice stuff! Looking for ward to seeing the code :)
#5
12/08/2006 (11:15 am)
At least now we know your still alive lol
#6
03/14/2007 (2:35 am)
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.
Torque Owner Vince Gee
Vince