Version Control
Game Version control and Updating
Overview
The version control client I wrote was in response to Valve stating they wouldn’t put third party mods up on Steam content servers. So I decided to take matters into my own hands and write something that could ensure version control for all players. The system was rather simple to use. A player could just open the Jungle Mist Version Control Client and then check their mod install against what is the most current. If the system detected that the mod install was different from what was on the server, it would download and extract all neccessary files.
Technology
A Version Control Server is set up to handle the incoming requests. This was written in C++ using raw socket communication and an HTTP downloader. The server would respond with current version information and download URLs to the clients. When a client needed to download something, the client would close its connection with the server and download via HTTP from a website. Once the download was done zlib was used to extract the zip files into the proper directories. Then the version was checked once again to make sure it installed properly.