Development Blog

In this blog we present the recent progress on our current projects. We show our latest work in progress and Making Ofs. We also like to share some of our experiences we made in the past years of modding.

Most of this is not meant as public promotion material. This is the latest developments we want to share with you and so we suggest not to republish every bit in your blog or news.

How to release a mod … 2. File Distribution

File Distribution

Organize Mirrors

With the increasing file sizes, HTTP-mirrors become increasingly unpractical. Under the traffic of the first hours, they can break easily, reach their traffic limit or ISP block them. CTDP 2006 was released on 12 mirrors of which 6 depleted there traffic in the first night and 2 where blocked by their ISP.

So to have a fluent release and to offer good download possibilities for the users is one of the most crucial things of an release. Let’s check for some traditional ways first.

HTTP download mirrors are the most easy way for people to download the mod, however, the price is the amount of webspace you need somewhere and the traffic. The space is actually not the problem, the traffic limits and the bandwidth is. Most hosts sell packaging with limited traffic or limited bandwidth. traffic limit defines, how often a file can be downloaded in total. 100GB traffic means, our 1.35GB mod can just be downloaded 74 times. Bandwidth describes how many people can download in a decent speed on this server at the same time. 100mbit bandwidth are 12,5mb/sec devided by 100 users is just 128kb/sec download speed. The numbers bring things a little in perspective.

Even though HTTP-mirrors for large mods are no option any more, they are valid and crucial for everything below 800mb. Now the trick is to find people to host your files. At CTDP I asked for for help in our devblog and always got several replies. I am always amazed how generous many in the community are. Servers cost money, traffic costs money and their contribution helped us to provide you with our mods in a way as swift as possible. So try to find these people, talk to them, see who hosts the mods of other mod releases, maybe the same people can help you out as well.

Another “classic” hosting alternative are file sharing sites like Rapidshare. Personally I’m not a fan, because they let the users who are not willing to pay for the premium suffer. If your user bought a premium, it may be a valid distribution method, however for folks who didn’t register, the waiting is a pain and the limitations on 1 download per IP or something like this is just appalling to me. Sure they are supposed to make money somehow, but I don’t think it’s the right way to treat users, which is why I was looking for other alternatives.

Alternatives

For really large releases it is worth looking at alternative technologies for file distribution.
I will just cover some I tried.

Wuala is a service for online encrypted file storage. You can store files private, share with friends or upload publicly. Uploaded files are chopped into chunks and distributed in a peer-to-peer network. There is no traffic limit and the bandwidth is only defined by the quality of the network and how well chunks are distributed. Download speeds are not the highest you can get, but they are solid and hey it’s free. The only big disadvantage is the storage limit. You only get 1Gb on registration. You either have to pay for more space or earn it by offering to store chunks on your system. I tend to use wuala for legacy-downloads. Files of varying sizes, which are uploaded once and remain online for an undefinate amount of time.

The big recommendation we have is to use BitTorrent!
We experimented with it during our last 3 releases and our experiences where all positive.
BitTorrent is a P2P-network, which is based on the premise, that people who download something have to upload the chunks they already downloaded.
This works automatically in the background. A user downloads something and while he is doing so, he is also redistributing the mod to other leechers (downloaders). Once the download is complete it is suggested to keep the upload open for some time, he now acts as a seeder, who uploads chunks, which are scarce in the network. In a nutshell, the more people are downloading the mod and the more people are seeding, the better and faster is the download. The filesize doesn’t matter, it scales perfectly and it works like charm. The only bottleneck is the very first hour. Say you release the download links and 1000 people try to download from only 3-4 seeders, will bring a very slow speed at the beginning. So in prepartion, you should share the file beforehand to alot of people in private, before making it available in public.

Leave time for upload

Depending on the size of your mod, be aware, that the upload takes a while. Not everybody is blessed with a 100mbit connection and uploading a Gigabyte takes a few hours. So on your release day, avoid having to reupload the mod everytime you find a bug. If you find one, better think about calling off the release, where there is one, there are more and if you think you fixed it, you may have introduced a new one. CTDP also had its cases.
When you have your final package, you can upload the mod to one private server and pass along this link only to the mirrors you spoke with in person. This link may not become public and is only for distribution. For torrent releases, you can give this to team members who agree to seed. The more the merrier.

Plan your time in advance so that the mirrors have enough time to upload their files and prepare themselves for the release. If you release in the evening, have the mod ready in the morning!

In the next part we are going to have a look at the Communication and Media coverage.