Jump to content
  • Advertisement
Sign in to follow this  
Kitt3n

Binary update-server

This topic is 4814 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

Hi, I'm wondering about an algorith on updating binaries from the server to connected clients. Imagine a server having a 1gb file, and a client having the identical file. Now the server-version is modified - let's assume that we inserted a block of 1 MB in the middle. The challenge: without downloading the entire 1GB - how can the client update it's copy of the file (ie what is the bare minumum we need to download and where to put it on the client) I was thinking that the client could calculate MD5's of each megabyte of it's local copy - and send these to the server. Then the server could compare it with the source-binary and detect where the MD5's mismatch... But that would mean that, in my example, all MD5's which come after the 1MB I inserted in the middle would be invalid (ie Need to download 501MB)... So maybe from the position I detected a mismatch I should can forward and backwards a few MB's and see if the happen to be matching MD5's? ... or can this be done more cleverly? Thanks in advance!

Share this post


Link to post
Share on other sites
Advertisement
Check out the x-delta project. You can use their library as-is if you're willing to release your entire game under GPL, or you can use the algorithms described in the project to implement the functionality yourself.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • 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!