Auto-Updating
by Banshee · in Torque Game Engine · 07/05/2004 (10:33 am) · 5 replies
Hey,
I would like to make an auto updater for my game that contacts my webserver and checks a certain folder which has a copy of the latest version of my game in it(compiled dso's and stuff) - then compares it to the current game and downloads/overwrites whats needed.
I was wondering how I could about this or has any one tryed to attempt this?
Thanks
I would like to make an auto updater for my game that contacts my webserver and checks a certain folder which has a copy of the latest version of my game in it(compiled dso's and stuff) - then compares it to the current game and downloads/overwrites whats needed.
I was wondering how I could about this or has any one tryed to attempt this?
Thanks
About the author
#2
This kinda thing can be as easy or as difficult as you want it to be.
At the simple end of the spectrum you can just have a simple app to download the installer for the current platform. That would be nothing more then a simple config file driven thing, where it downloads the config file that tells it what to download. You would have to store the version somewhere, too. After downloading, the app would check to see if the game is running, if it is warn the user, otherwise run the installer it just downloaded. Note that on Windows, this cant be done from the game itself since it wont be able to overwrite the .exe file. On Unix/Linux, and possibly OS X (but im not sure on that one), you dont have this problem.
At the more difficult end of the spectrum you have fully fledged auto updaters that keep track of the files themselves and uses soemthing like rsync to keep them uptodate.
For BoomBall, we're going the more complex route because we need more from the system then just auto updating. Current state of play for our system is install from installer, install over net and update over net are working in a prototypey, but cross platform, way. It's worth mentioning that I've logged about 200 hours on it so far, and theres a lot further to go. If time is a consideration, go the easy route.
Another thing worth mentioning is that there is already existing things available to do this for you. There is not much in the way of cross platform offerings, though, if that is an issue to you.
Hope that helps,
Tom.
07/05/2004 (11:14 am)
Joshua,This kinda thing can be as easy or as difficult as you want it to be.
At the simple end of the spectrum you can just have a simple app to download the installer for the current platform. That would be nothing more then a simple config file driven thing, where it downloads the config file that tells it what to download. You would have to store the version somewhere, too. After downloading, the app would check to see if the game is running, if it is warn the user, otherwise run the installer it just downloaded. Note that on Windows, this cant be done from the game itself since it wont be able to overwrite the .exe file. On Unix/Linux, and possibly OS X (but im not sure on that one), you dont have this problem.
At the more difficult end of the spectrum you have fully fledged auto updaters that keep track of the files themselves and uses soemthing like rsync to keep them uptodate.
For BoomBall, we're going the more complex route because we need more from the system then just auto updating. Current state of play for our system is install from installer, install over net and update over net are working in a prototypey, but cross platform, way. It's worth mentioning that I've logged about 200 hours on it so far, and theres a lot further to go. If time is a consideration, go the easy route.
Another thing worth mentioning is that there is already existing things available to do this for you. There is not much in the way of cross platform offerings, though, if that is an issue to you.
Hope that helps,
Tom.
#3
07/05/2004 (11:27 am)
Legends has a very nice cross-platform auto-updater. :)
#4
Or is there something else?
07/05/2004 (11:30 am)
You mean that bloody horrid console app thingy?Or is there something else?
#5
It may not be perty, but it seems to do the job. Or am I missing something?
07/05/2004 (11:33 am)
LSync/Rsync? It may not be perty, but it seems to do the job. Or am I missing something?
Torque Owner Stefan Lundmark