Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Jis

Auto patching

This topic is 5134 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I think i will use the auto patching methode for a strategy game in process(Exodus Project). But I don''t really know how to do that. I''m thinking of an executable for the team that send informations of an update to the url(a text file i think or something like that, some king of script). And then if a modification exists, when the client connects, it downloads automatically the patch and then run it. Are my thoughts true? ( Be Side )

Share this post


Link to post
Share on other sites
Advertisement
Auto patching may bring security concerns with it depending how its implemented. If the patch is executed at any point theres an ideal chance for false data to be delivered to the client and then left to run amok.

I wouldn''t rate it as likely but its something to be considered.

Share this post


Link to post
Share on other sites
No no, you''re right i haven''t thought of that.
The upload exe is only for developpers, so no problem with conflicts on upload. For the download, do you think that a database implementation will be best than the text file? Is it possible for multiple users to access a text file on server at the same time? (probably not in real time, but i want to know if it will create a problem, a crash)

( Be Side )

Share this post


Link to post
Share on other sites
My 2 Cents:

You will also need cumulative patches. For example, if you release:
version 1.0, then
version 1.1, then
version 1.3, then
version 1.7, then
version 2.0

So, there is all those versions, so you need patches that will bring the game from any version to the most recent one, so:
Patch 1.0 -> 2.0
Patch 1.1 -> 2.0
Patch 1.3 -> 2.0
Patch 1.7 -> 2.0

You will eventually also have in your table some older entries, like:

Patch 1.1 -> 1.3
Patch 1.3 -> 1.7
(etc)

So your DB Table should look something like this:
id, Label, Description, filename, fromVersion, toVersion, active, NumberDownloads, Date, etc...
1, "Patch 2.0", "Upgrades the game from version 1.0 (Install) to 2.0", p_10_20.zip, "1.0", "2.0", true, 1195, "2004-30-02", ...

Hope it helped

Salsa cooked it, your eyes eat it!
[Hugo Ferreira][Positronic Dreams][Colibri 3D Engine][Entropy HL2 MOD][My DevDiary]
[Yann L.][Enginuity] [Penny Arcade] [MSDN][VS RoadMap][Humus][BSPs][UGP][NeHe]
"...if you had one shot, one oportunity, to seize everything you ever wanted for one moment, would you capture it? or just let it slip?" - Eminem

Share this post


Link to post
Share on other sites
Yes interesting,
I think just one system can do the all the job.

1.1->1.3
1.3->1.7
1.7->2.0

So if the client have 1.1, then he downloads the 1.1->1.3 and install it and finally downloads/installs 1.3->1.7. Since this is an automatic patching, the user has no choice, it is all needed i think. I don''t know if the active state is needed.

Share this post


Link to post
Share on other sites
Update menu-item goes to:
- htt://www.yourhost.com/checkforupdate.php?version=1.3

if (PHP finds newer)
- Print download link;
else
- Print other message;
------------------

I think that the user will be more happy with just 1 patch than 10 patches. But it depends on the 'jump'. 1.3 -> 1.4 -> 1.7 could be 2 patchs. But 1.3 -> 1.4 -> 1.7 -> 1.9 -> 2.0 should definitely be 1 patch only.

You could even design your patcher to always be on executed before the game starts, and when executed it checks what files are new and downloads. This way, you can just pump the newer installers on, and leave it to the patcher to update for the older installers.



--
You're Welcome,
Rick Wong
- Google | Google for GameDev.net | GameDev.net's DirectX FAQ. (not as cool as the Graphics and Theory FAQ)


[edited by - Pipo DeClown on June 10, 2004 3:50:07 PM]

[edited by - Pipo DeClown on June 10, 2004 3:50:34 PM]

Share this post


Link to post
Share on other sites
php?
This is an automatic download of patch, no need the user to go on a site.
Or could I use php for something other than a html page?
I need an exe to access a database on a server, i think the best solution is C++ anyway, but is there a php possibility?
(no link of download, must tell directly to the exe that there is a new patch such as anarchy online or other MMORPG i think)

[edited by - Jis on June 10, 2004 3:55:17 PM]

Share this post


Link to post
Share on other sites
Wouldn''t it be safer to open up a browser and let PHP connect to the DB?

Anyway, I''d go for the automatic patcher that checks for update on every startup. The patcher would show howmany packages it would have to download, and if possible a 1 file patcher.

--
You''re Welcome,
Rick Wong
- Google | Google for GameDev.net | GameDev.net''s DirectX FAQ. (not as cool as the Graphics and Theory FAQ)

Share this post


Link to post
Share on other sites
You can access an URL, and pass some data to it, and PHP, on the server-side, can then print information on the webpage, so:

http://www.yourserver.com?ver=10&co=uk

Your patcher program access the above url, which means the user has version 1.0 (ver=10) and has the UK version of the game (co=uk).

PHP then prints onto the webpage:
Patch Available [true]
Patch File [p_10_20.zip]

All you have to do is read the php-constructed webpage, parse it, and you have all the info you require. the above page just told us that we are in need of an upgrade, and the location of that upgrade.

On the server side, PHP & mySQL are quite enough for this sort of project.

Also, on my previous post, i wanted to make it quite clear that downloading patches after patches is not acceptable, you, as a developer, must see to it that there is allways a patch that bridges the install version to the most recent version...

...otherwise, i format my pc, re-install the game (v1.0), and because we are now at version 4.0, i''m forced to patch consecutively... instead of patching cumulatively...

Salsa cooked it, your eyes eat it!
[Hugo Ferreira][Positronic Dreams][Colibri 3D Engine][Entropy HL2 MOD][My DevDiary]
[Yann L.][Enginuity] [Penny Arcade] [MSDN][VS RoadMap][Humus][BSPs][UGP][NeHe]
"...if you had one shot, one oportunity, to seize everything you ever wanted for one moment, would you capture it? or just let it slip?" - Eminem

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!