title: game client updater
body: <p>I'm a MMORPG Private Server dev and I'm looking forward to create an all in one updater for the user's clients because it is very annoying and lame to use patches that must be manually downloaded.</p>
  
  <p>I'm new in C# but I already succeded at making my own launcher with my own interface and basic game start/options buttons and notice that is read from my webserver.</p>
  
  <p>Now, I wanna make an integrated update function for that and I'm pretty lost, I have no idea where to start. This is what it would look like, it's just a concept</p>
  
  <p><img src="https://i.stack.imgur.com/Ve5KA.jpg" alt="enter image description here"></p>
  
  <p>It will have the main button wich is used to start the game AND update it, basically when you open the program the button would write "UPDATE"  and is disabled(while it searches for new updates) and if any are found, it would turn into a clickable button, then after the updates are dowmloaded it would just change itself into "start game".</p>
  
  <p>A progressbar for the overall update and another one to see the progress on the current file that is downloading only, all that with basic info like percentage and how much files need to be downloaded.</p>
  
  <p>I need to find a way for the launcher to check the files on the webserver by HTTP method and check if they are same as client or newer ones so it dosent always redownload files already same version and also a method so that the updater will download the update as a compressed archive and auto extract and overwrite existing files when they are done downloading.</p>
  
  <p>NOTE: The files being updated are not .exe, they mostly are textures/config files/maps/images/etc...</p>