Author Topic: Auto Patching  (Read 10234 times)

Offline Oceanus

  • Commander
  • *****
  • Posts: 119
  • Karma: +2/-1
    • View Profile
Auto Patching
« on: December 28, 2005, 06:07:42 pm »
Auto patching for precursors would be a good start. So we all download the first version and when we connect and you are ready to release a patch for the client we can just auto patch instead of hunting down the link for the newer version and having to reinstall and stuff.

Offline ryguy_1617

  • 3d Modeler
  • Commodore
  • *******
  • Posts: 474
  • Karma: +6/-21
    • View Profile
    • http://flashcubestudios.com
Re: Auto Patching
« Reply #1 on: December 28, 2005, 08:19:56 pm »
yea, that would be a good idea, because we will eventually need that anyways.

Neo

  • Guest
Re: Auto Patching
« Reply #2 on: January 03, 2006, 09:55:06 am »
Don't all games have that now?

Offline ryguy_1617

  • 3d Modeler
  • Commodore
  • *******
  • Posts: 474
  • Karma: +6/-21
    • View Profile
    • http://flashcubestudios.com
Re: Auto Patching
« Reply #3 on: January 03, 2006, 09:59:35 am »
idk...but pretty much all the ones I've seen and played do.

Offline Oceanus

  • Commander
  • *****
  • Posts: 119
  • Karma: +2/-1
    • View Profile
Re: Auto Patching
« Reply #4 on: January 03, 2006, 05:02:18 pm »
Its a must if you want easy access do your game and no hassle browsing the site for patches.

Offline Morgul

  • GNE Founder
  • Godlike Fuzzy Dice
  • Grand Admiral
  • **********
  • Posts: 2086
  • Karma: +21/-4
  • Godlike Fuzzy Dice
    • View Profile
    • G33X Nexus Entertainment
Re: Auto Patching
« Reply #5 on: January 10, 2006, 07:23:12 pm »
Good idea, however I have no clue how to do it. Mind looking up some programming references, or even some articles that explain the concept of how it's done? Don't worry about understanding most of it; I'm sure we'll be able to figure it out.

--Chris
"Just because my math may tell lies doesn't mean that I don't understand the quantum mechanics of it all." --Caenus

The popular videogame "Doom" is based loosely around the time Satan borrowed two bucks from Vin Diesel and forgot to pay him back.

"In the beginning there was nothing. And it exploded." --Terry Pratchett

Offline Caenus

  • Married Man
  • Concept Artist
  • Grand Admiral
  • ******
  • Posts: 2351
  • Karma: +5000/-1
  • That, I cannot do.
    • View Profile
    • Art Blog
Re: Auto Patching
« Reply #6 on: January 10, 2006, 09:35:45 pm »
It shouldn't be too hard to implement once we figure out the steps to take.
Merciful Father, I have squandered my days with plans of many things. This was not among them. But at this moment, I beg only to live the next few minutes well. For all we ought to have thought, and have not thought; all we ought to have said, and have not said; all we ought to have done, and have not done; I pray thee God for forgiveness.

PhinnFort

  • Guest
Re: Auto Patching
« Reply #7 on: January 16, 2006, 04:00:10 pm »
I have no real programming experience, but you would probably have to let the game's updater know which files are updated in each release. And then the game checks its version against the server, and if it's too old, it quits, and launches another program, which just updates what is needed.
And you must also remember that it should only update itself, not any of it's depencies, or it will probably not get into many distros (like Gentoo have a policy of not including any "auto-packages", which messes with other applications/libraries). But if you're only gonna distribute statically linked binaries, that won't be a problem, of course.

You could look into how PlaneShift does this, they have an (excellent?) updating system.
http://www.planeshift.it/

-PhinnFort

Offline Oceanus

  • Commander
  • *****
  • Posts: 119
  • Karma: +2/-1
    • View Profile
Re: Auto Patching
« Reply #8 on: January 16, 2006, 06:59:38 pm »
I suggest automatically updating from an FTP

PhinnFort

  • Guest
Re: Auto Patching
« Reply #9 on: January 17, 2006, 05:09:42 am »
rsync?

-PhinnFort

Offline Morgul

  • GNE Founder
  • Godlike Fuzzy Dice
  • Grand Admiral
  • **********
  • Posts: 2086
  • Karma: +21/-4
  • Godlike Fuzzy Dice
    • View Profile
    • G33X Nexus Entertainment
Re: Auto Patching
« Reply #10 on: January 17, 2006, 11:37:53 am »
"Just because my math may tell lies doesn't mean that I don't understand the quantum mechanics of it all." --Caenus

The popular videogame "Doom" is based loosely around the time Satan borrowed two bucks from Vin Diesel and forgot to pay him back.

"In the beginning there was nothing. And it exploded." --Terry Pratchett

Offline Morgul

  • GNE Founder
  • Godlike Fuzzy Dice
  • Grand Admiral
  • **********
  • Posts: 2086
  • Karma: +21/-4
  • Godlike Fuzzy Dice
    • View Profile
    • G33X Nexus Entertainment
Re: Auto Patching
« Reply #11 on: January 17, 2006, 11:46:39 am »
(Yes, I'm double posting, but it's my forums, so bite me. :P)

We're currently planning the following:

1) When you connect to a server, it tells the game to send it the crc of all the game data files. Any that don't match get removed, and replaced. This handles updating of game data files.
2) When you connect to a server, it will get a version from the application, If that version is older than the server, it will download the updated client files, and tell the game "Exit and update". The game then prompts the user, and then starts an updater program, and exits. The updater will extract the new client files, overwriting all the others (keeping settings, of course) and then restart the game. The game will know that it ust updated, and will double check that the updater program itself doesn't have an update; if it does, it updates that too.

Now, I guess that it would be possible to take that updater, and allow it to connect to the server as a 'updating client', instead of a 'game client'. This would mean that if there's an update to the client program, we can have ti ust prompt the user, and ask them if they want to exit the game, and start the updater. The do that, and then the updater will download the update, install it, and then tell the game to overwrite itself (the updater tool) if there's an update.

I think this would work pretty well.
"Just because my math may tell lies doesn't mean that I don't understand the quantum mechanics of it all." --Caenus

The popular videogame "Doom" is based loosely around the time Satan borrowed two bucks from Vin Diesel and forgot to pay him back.

"In the beginning there was nothing. And it exploded." --Terry Pratchett

Offline Caenus

  • Married Man
  • Concept Artist
  • Grand Admiral
  • ******
  • Posts: 2351
  • Karma: +5000/-1
  • That, I cannot do.
    • View Profile
    • Art Blog
Re: Auto Patching
« Reply #12 on: January 17, 2006, 01:29:15 pm »
Sounds like a decent plan to me.
Merciful Father, I have squandered my days with plans of many things. This was not among them. But at this moment, I beg only to live the next few minutes well. For all we ought to have thought, and have not thought; all we ought to have said, and have not said; all we ought to have done, and have not done; I pray thee God for forgiveness.

Offline ryguy_1617

  • 3d Modeler
  • Commodore
  • *******
  • Posts: 474
  • Karma: +6/-21
    • View Profile
    • http://flashcubestudios.com
Re: Auto Patching
« Reply #13 on: January 17, 2006, 03:48:22 pm »
That sounds like it'll work.

PhinnFort

  • Guest
Re: Auto Patching
« Reply #14 on: January 17, 2006, 04:28:30 pm »
I thought rsync did just what you mentioned in 1). So you can probably borrow some code there.
And for 2), how about the updater simply downloading an executable updater? You would of course need some hashes to make sure it doesn't get trojaned. That way you can make sure it gets updated even if the updater is broken/bugged.

-PhinnFort