I don't want to make it go too public yet, but since people are interested in how it should be done and such, I'll just tell my solution. For a sample mod it would go something like this:
People download an installer for the mod. This installer connects to the content server network and sees which files already exists and which files needs to be downloaded. It then downloads the required content for the mod into SourceMods. I have successfully developed a method to load a MaxsiDistribution.dll into memory when the client.dll is intialized. It connects to the Content Servers and recieves a list of all files in the project and their SHA-1 hashes. It then loads a table with all the files in the project and their SHA-1 hashes and compares them. If the tables do not agree, the mod automatically quits by letting the Client.dll initialization function return false, and starts the installer for the mod, which will update the mod. Once the installer is done, it will automatically relaunch the mod seemlessly. The power in this system is that the server-side table of files can easily be updated, and any changes will be detected by the clients and updated automatically. If the client cannot for some reason connect to the content servers, the mod will launch regardless, it will only update if it's possible to update. This system only requires the user to install a mod, and all updating tools will be shipped with it (and is updated by the updating systems as well). It's designed to be as userfriendly and reliable as possible. The system also tracks the number of people who have installed the mod and other useful statistics. But please note this is currently in beta. I need to do a lot of more work to get the developer tools done and documented. I am currently busy with my final exams and other personal stuff, as well as my mod, but I'll have some time over the summer to get more work done. I will not distribute any more mods using it right now, but I'll make an annoucement here when it's done. Although my main concern is bandwidth, I got my own server but I doubt it can handle a mass release of a hyped mod, so I am implementing a torrenting-alike system to it and a .php based server system that people can install on their servers so they can help hosting. Paul, I have designed these systems so that people are only required to install the mod. No process will be running in the background of the computer when the mod is not running. I know it's a waste of time if it doesn't get developed, but I am the kind of guy who looks at SteamWorks and thinks "Hey, I can do this myself" and does. And almost have. Olly, yeah there was something called Vapour, but I never looked into it. But as I understood, it was an external application and not something like my system that's esssentially part of the mod. Again, thanks for your interest in the systems, but they are not ready yet, I need to get the last tools and the new version of the installer with torrenting fully working first. ----- Original Message ----- From: "Mark Chandler" <[email protected]> To: "Discussion of Half-Life Programming" <[email protected]> Sent: Monday, June 01, 2009 5:11 PM Subject: Re: [hlcoders] Dll updates : ways to update your clients > Got a link with more info? > > > Jonas 'Sortie' Termansen wrote: >> Despite your awful English and bad formatting and poorly asked question, >> I >> am already working on a technology to keep mods automatically updated >> using >> a content server network and torrenting for additional bandwidth. It's >> already in its beta stages and is used for my own mod's demos, but I'll >> go >> public in a matter of months, and then this should be a problem of the >> past. >> >> Sortie. >> >> ----- Original Message ----- >> From: "Sykes" <[email protected]> >> To: "Discussion of Half-Life Programming" >> <[email protected]> >> Sent: Monday, June 01, 2009 4:28 PM >> Subject: [hlcoders] Dll updates : ways to update your clients >> >> >> >>> So I know steam-works is the official solution to distributing your >>> mod DLL's/content. This seems great if you are a major MOD or $$$$ >>> game publisher. >>> >>> however for the small outfit MOD maker.. has anyone come up any >>> solutions for keeping your mod player's dlls uptodate (hotfixes etc..) >>> OR have i missed something and we can get hooked up to steamworks?! >>> >>> We use SVN for the betatesters + a small SVN enabled app which they >>> run before starting the game to sync them up to our BETATEST build.. >>> however this isnt the experience we want for normal players.. >>> >>> so any suggestions welcome : cuz quit frankly releasing zip >>> files/website download links is soooooooooooo 90's :o) >>> regards >>> s. >>> >>> _______________________________________________ >>> To unsubscribe, edit your list preferences, or view the list archives, >>> please visit: >>> http://list.valvesoftware.com/mailman/listinfo/hlcoders >>> >>> >> >> >> _______________________________________________ >> To unsubscribe, edit your list preferences, or view the list archives, >> please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlcoders >> >> > > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

