by date
Finnally an opensource patcher!!!!!
Finnally an opensource patcher!!!!!
| Name: | Vince Gee | |
|---|---|---|
| Date Posted: | Feb 14, 2006 | |
| Rating: | 4.0 out of 5 | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Vince Gee |
Blog post
Well,
Since I've been getting tired of putting new zips out on the external webserver I decided to take a break from torque and write a patcher using CRC signatures as identification in Visual Studio 2005 and Dot Net 2.0.
And since I don't believe that people should be charged for learning I put together a simple patcher that really can be used for anything, but I'm applying it to patching your torque clients so players don't have to pull down a hugh zip which most likely they have 99 percent of.
So, step one, download my source as mysite.verizon.net/deceptus/PatcherProjects.zip . This has everything in it to recompile the source etc, modify as you want, it's not documented that great but it should be somewhat easy to follow if you know visual basic
In this zip you will find 2 projects. One project is the one to create the crc log and the other which you give to players which reads it and downloads the miss-matched files to their computer.
So, once you compile the patch Generator and run it you will see a form that looks like this
In the protocol box type in either HTTP:// or FTP:// they are the only 2 protocols that I have tested. Be warned that if your using a MS IIS server, the .cs script files will throw errors since it thinks it c#.
The next box is where you type in the url from where they get the updates from. in my case, it's www.geeconsulting.net/client
The source directory is where you have your client sitting which is ready for distribution.
IMPORTANT make sure you log destination is in the same folder as your client and that it is called log.crc
If it isn't then the client patcher won't find it.
Click Generate CRC List, this will inventory every folder and subdirectory in the source directory and put a entry in the log.crc w/ the filename and path as well as it's crc value.
It will generate a text file called crc.log w/
Copy your whole client folder out to a ftp server or web server, and distribute your patcher.
When the client fires up the patcher they will see...

They type in where their client folder is in the "Path to root" textbox and hit retrieve from crc.
The patcher will then go through their folders updating and creating new files so they only have to grab what has changed.
I hope this helps some people out, I know I could of made it cleaner, but I was in a hurry and it was my first attempt at it.
Oh, btw, it was built using visual studio 2005 and DotNet 2.0 I'm sure it will compile on 1.1
If you improve it, send back a zip of the source to me and I will update my zip for others.
Hope you all enjoy,
Vince
Since I've been getting tired of putting new zips out on the external webserver I decided to take a break from torque and write a patcher using CRC signatures as identification in Visual Studio 2005 and Dot Net 2.0.
And since I don't believe that people should be charged for learning I put together a simple patcher that really can be used for anything, but I'm applying it to patching your torque clients so players don't have to pull down a hugh zip which most likely they have 99 percent of.
So, step one, download my source as mysite.verizon.net/deceptus/PatcherProjects.zip . This has everything in it to recompile the source etc, modify as you want, it's not documented that great but it should be somewhat easy to follow if you know visual basic
In this zip you will find 2 projects. One project is the one to create the crc log and the other which you give to players which reads it and downloads the miss-matched files to their computer.
So, once you compile the patch Generator and run it you will see a form that looks like this

In the protocol box type in either HTTP:// or FTP:// they are the only 2 protocols that I have tested. Be warned that if your using a MS IIS server, the .cs script files will throw errors since it thinks it c#.
The next box is where you type in the url from where they get the updates from. in my case, it's www.geeconsulting.net/client
The source directory is where you have your client sitting which is ready for distribution.
IMPORTANT make sure you log destination is in the same folder as your client and that it is called log.crc
If it isn't then the client patcher won't find it.
Click Generate CRC List, this will inventory every folder and subdirectory in the source directory and put a entry in the log.crc w/ the filename and path as well as it's crc value.
It will generate a text file called crc.log w/
UPDATEPATH www.geeconsulting.net/client/
PROTOCOL ftp://
FFFFFFFF9BD91102 \common\main.cs
FFFFFFFF913894AD \common\main.cs.dso
1428E75E \common\prefs.cs
FFFFFFFFDB973F6D \common\TestMap.jpg
189EBD25 \common\client\actionMap.cs
FFFFFFFFB5768022 \common\client\actionMap.cs.dso
415A0F44 \common\client\audio.cs
FFFFFFFFDEA67945 \common\client\audio.cs.dso
7C094DF4 \common\client\canvas.cs
233B2071 \common\client\canvas.cs.dso
2754A4D2 \common\client\cursor.cs
FFFFFFFFAED306AF \common\client\cursor.cs.dso
1F19F986 \common\client\help.cs
Copy your whole client folder out to a ftp server or web server, and distribute your patcher.
When the client fires up the patcher they will see...
They type in where their client folder is in the "Path to root" textbox and hit retrieve from crc.
The patcher will then go through their folders updating and creating new files so they only have to grab what has changed.
I hope this helps some people out, I know I could of made it cleaner, but I was in a hurry and it was my first attempt at it.
Oh, btw, it was built using visual studio 2005 and DotNet 2.0 I'm sure it will compile on 1.1
If you improve it, send back a zip of the source to me and I will update my zip for others.
Hope you all enjoy,
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 your own resources!| Wayne Eversole (Feb 14, 2006 at 03:26 GMT) |
Thanks man
| Steve Kilcollins (Feb 14, 2006 at 04:08 GMT) |
| Luke (Soul) Horobin (Feb 14, 2006 at 08:43 GMT) Resource Rating: 5 |
Impressive how quick you work mate, when you start something hell, it's going to get finished eh?
| Vince Gee (Feb 14, 2006 at 12:41 GMT) Resource Rating: 5 |
The purpose of this post is to give any programmer the basic information they need to build a patcher, and this goal I think I have achieved.
Repost the code, modify the code, charge for it, it really doesn't matter to me.
Vince
| John McArthur (Feb 14, 2006 at 20:53 GMT) |
| Jeff Gran (Feb 15, 2006 at 01:11 GMT) |
| Richard Pearson (Apr 17, 2006 at 00:26 GMT) |
You must be a member and be logged in to either append comments or rate this resource.


4.0 out of 5


