I just read the previous posts about a community updater/loader application?
Sounds interesting.
My own 2 cents on the subject (since its something I've been using for 2 years or so)
I upload my files to a webserver, (a folder on the webserver)
I call a URL when finished - with arguments pointint to that folder
It processes all the files in the folder.
It takes info such as
FileName,
Extension,
Size in bytes,
md5
It compares the md5 against any already existing entries in the database.
Updates as necessary.
Then, once per hour or when triggered manually,
another php file turns the mysql data into an xml
<?xml version="1.0" ?>
- <Files>
- <File>
<FileName>219.bmu</FileName>
<Size>2561160</Size>
<Date>1277584559</Date>
<MD5>ee61da9193b63333ca03df4ac6259bf3</MD5>
<DELETE>FALSE</DELETE>
</File>
- <File>
<FileName>ffxiii_dust2d.bmu</FileName>
<Size>3662064</Size>
<Date>1277089435</Date>
<MD5>0d1c1af6665dce0d41e2f2e4f01fa30e</MD5>
<DELETE>FALSE</DELETE>
</File>
- <File>
<FileName>229.bmu</FileName>
<Size>3305545</Size>
<Date>1277584693</Date>
<MD5>7003eda8ea94bf0af41a501e2bb8b85c</MD5>
<DELETE>FALSE</DELETE>
</File>
- <File>
<FileName>202.bmu</FileName>
<Size>2720820</Size>
<Date>1277584375</Date>
<MD5>1ae1cd90576c39d132a4a62daa842c96</MD5>
<DELETE>FALSE</DELETE>
</File>
- <File>
<FileName>mus_def_sluagh.bmu</FileName>
<Size>3831671</Size>
<Date>1277089722</Date>
<MD5>afa680c09d688f1ecee261efe074cc09</MD5>
<DELETE>FALSE</DELETE>
</File>
- <File>
<FileName>212.bmu</FileName>
<Size>5256997</Size>
<Date>1277584523</Date>
<MD5>03cc78ce65a79a9d134ca09077fd5d56</MD5>
<DELETE>FALSE</DELETE>
</File>
This XML is downloaded onto players machines, then parsed by my updater application.
Files that are marked as Delete = true
are ones that dont get downloaded, and get removed if they exist.
MD5s that dont match, are redownloaded fresh
And the file extension determines the location towhich they are transferred.
Although, in my case, I have some strong customizations.
eg - Instead of downloading wav files, I download mp3 files, then use ffmpeg - bundled in the executatable, to convert to wav.
Result is that it shortens download times - a wav file would be abour 3-4 mb for 30 seconds of audio or less, but ends up being 300-500kb as mp3.
I also recently introduced rar capabilities - that allows me to bundle override content, into a rar file - it gets downloaded, unrarred, and content transferred to override.
Also same for tlk files - I made a new extension called
rtlk (rarred tlk files)
The Cep2.3 tlk file being 7mb or so - ends up being about 400-500kb when rarred.
Now - in my case- I did alot of funny steps there, such as using the override directory etc alot, because my application is aimed towards allowing people to enter without needing the haks.
Hak content = compulsory
Override = Voluntary -(they might not see or hear the content, but they can still enter the server)
Hope this gives you guys some ideas?