Need a Patch Server...HELP!
Hello all, We are working on a MMO at a real game company. I am assigned to the patch server. Does anyone know of one I can buy cheap or free even. Or have any sites, links of pages I can read to learn more about patch servers and patching a mmo type game. Any information would be great. Thank You, Ashandir
What's wrong with Apache?
Make the client request a patch from the server by sending the build date and time as parameters on a HTTP query. The server will respond with a patch, or with a message saying nothing's needed.
Client code:
Might be smart to use some generic domain name for "somedomain.com" so that you don't get into trouble if you need to sell or shift the game later; like "foo-123456.com".
Apache code for index.php (assuming PHP):
I'm assuming that you're using some off-the-shelf tools to generate and apply actual patch files. Those can be bought pretty easily. The name of the patch files should of course be date+time of the version being patched.
Load balancing and scaling with Apache is a well-known quantity that all operations people know how to do; this solution will scale as big as you want it.
The point of passing __DATE__ and __TIME__ in the request is that you can use that to tell the version of the client, assuming that the client gets re-built in every patch. If you want to support resource-only patches, you have to read the resource version from the file system and tack on as a request parameter.
Make the client request a patch from the server by sending the build date and time as parameters on a HTTP query. The server will respond with a patch, or with a message saying nothing's needed.
Client code:
std::string url = std::string("http://patches.mygame.somedomain.com/?date=") + __DATE__ + "&time=" + __TIME__; response = MakeHttpRequest(url); if (response.data != NULL) { ApplyPatch(response.data); }
Might be smart to use some generic domain name for "somedomain.com" so that you don't get into trouble if you need to sell or shift the game later; like "foo-123456.com".
Apache code for index.php (assuming PHP):
<?php $str = $_GET['date']+$_GET['time']; $str = str_replace(array('/','.',':','\\'),'_',$str); // make sure no escapes are possible if (isfile($str)) { Header("Content-type: application/octet-stream"); readfile($str); } else { Header("HTTP/1.1 404 No Patch Needed"); }?>
I'm assuming that you're using some off-the-shelf tools to generate and apply actual patch files. Those can be bought pretty easily. The name of the patch files should of course be date+time of the version being patched.
Load balancing and scaling with Apache is a well-known quantity that all operations people know how to do; this solution will scale as big as you want it.
The point of passing __DATE__ and __TIME__ in the request is that you can use that to tell the version of the client, assuming that the client gets re-built in every patch. If you want to support resource-only patches, you have to read the resource version from the file system and tack on as a request parameter.
enum Bool { True, False, FileNotFound };
what are some names of tools to generate and apply the patches. Need to research different ones and dont know a ton about this area.
Thanks for apache information too.
Thanks for apache information too.
They should fire you, and hire the Anon Poster, because he could sum up 2 patch systems...
Or they should hire me! Because, I found this link to this very impressive website, called Google. Google let's you search the internetwebs, and when it has searched the entire internet, it'll show you what it found.
The most amazing thing about Google is that it actually searches the internet in less than a second. It's AMAZING!
Oh, I learned how to use type the text "Patch Software" in google too.
Behold: http://www.google.com/search?q=Patch+Software&btnG=Search&hl=en&safe=off
Sorry I had to post like this, but your request it plain silly for a professional.
Toolmaker
Or they should hire me! Because, I found this link to this very impressive website, called Google. Google let's you search the internetwebs, and when it has searched the entire internet, it'll show you what it found.
The most amazing thing about Google is that it actually searches the internet in less than a second. It's AMAZING!
Oh, I learned how to use type the text "Patch Software" in google too.
Behold: http://www.google.com/search?q=Patch+Software&btnG=Search&hl=en&safe=off
Sorry I had to post like this, but your request it plain silly for a professional.
Toolmaker
thanks I appreciate the attitude. Some of us are busy programming during the day to sift the net. Not in a rush for an answer so thought I would pop it on a forum and see if someone knew of some good software programs I could look into. Save your breathe and find a real job so you dont have to just sit and be an ass all day.
Quote:
Original post by Ashandir
thanks I appreciate the attitude. Some of us are busy programming during the day to sift the net. Not in a rush for an answer so thought I would pop it on a forum and see if someone knew of some good software programs I could look into. Save your breathe and find a real job so you dont have to just sit and be an ass all day.
Actually, I'm a very busy man, but I don't have to explain this to you. But, let me make a list:
- I'm a full-time study, doing Comp Sci with a heavy workload. We have to:
- Write a piece of software for license plate recognization(On a PDA)
- Develop a GBA game
- Develop our own 2D software renderer in Java
- Write a report on a piece of technology and provide a guest lecture for our class for it
- Several other theory subjects
- I'm running my own company, doing software development, sys admin, etc. I have plenty of work for that
- I have a household to run
- I'm developing my own game
And even then, with my workload, I can still spend the time to type 3 search terms into google and see that only the last 1 had the desired results.
You're suppose to be a professional. Even professionals can free some of their time to do research. In fact, after finished my previous college, I worked for 8 months at a software developer. When I was asked to research stuff, I actually made time for that in my schedule, and could prove how I spent my time.
You're just being a lazy fuck, because apparantly you have plenty of time to constantly check this thread for new replies.
AnonymousPosterChild hear a pin drop coming from Ashandir's direction
With love, AnonymousPosterChild
Please be civil.
Ashandir asked for patch SERVER solutions; i e servers that serve up patch files.
If he is actually in charge of "the process of patching clients, soup-to-nuts" then he has his job cut out for him, as good management of that starts in the art path, and follows all the way through GUI, build management, testing, defect tracking and deployment, to service provisioning and customer service. You need someone who actually understands how the product is designed, built, deployed and supported to drive that process, or it will end up broken.
If Ashandir has no experience in how companies actually operate when in production, and is now responsible for driving the process soup-to-nuts, then he's going to need a LOT of positive support.
I'll close this thread now, because of the uncivil tone. If someone has more, specific, questions, please post them in a new thread.
Ashandir asked for patch SERVER solutions; i e servers that serve up patch files.
If he is actually in charge of "the process of patching clients, soup-to-nuts" then he has his job cut out for him, as good management of that starts in the art path, and follows all the way through GUI, build management, testing, defect tracking and deployment, to service provisioning and customer service. You need someone who actually understands how the product is designed, built, deployed and supported to drive that process, or it will end up broken.
If Ashandir has no experience in how companies actually operate when in production, and is now responsible for driving the process soup-to-nuts, then he's going to need a LOT of positive support.
I'll close this thread now, because of the uncivil tone. If someone has more, specific, questions, please post them in a new thread.
enum Bool { True, False, FileNotFound };
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement