Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What is FastDL?
#1
FastDL is a technology that source games use that, as the name implies, allows you to download things quickly from the server.

When you join a server, the client will try to mimic the content of the server. If content is missing, it will attempt to download it from the server before giving up. By default, this download uses the client/server network connection (client port 27005, server port 27015). This is a bad thing, because this connection is limited to 30 kilobytes per second.

To fix this, source games have a server cvar that can be set to tell the client where to download content from called sv_downloadurl. This is set to a plain old HTTP server that contains a copy of the server content that needs to be sent to the client. In the case of Dinks TTT, this url is http://dinklebergsttt.site.nfoservers.com/server.

Whenever the client is missing a map the server is playing on, instead of the server sending it from its own file system, it tells the client to find the file on this web server. This has the advantage of being much faster, taking full advantage of HTTP file transfers instead of the Source Engine's built in file transfer system. It also has the advantage of reducing lag, since the machine that sends players files and the machine that runs the game server are separate, which makes the connection to the game server a lot less congested.

Tools exist for synchronizing the FastDL HTTP server and the server content. One of these tools is SourceRSC, which automatically transfers your files from the server to the FastDL server with FTP, and compresses them into the BZIP2 format for smaller file sizes. Source games can natively unzip BZIP2 files.

There are also other ways the client can receive files from the server. The argument +host_workshop_collection [url] can be ran from server startup, and can tell the client to download the addons in a workshop collection before joining. Another more popular method is to use a workshop.lua file in the lua\autorun\server folder, containing resource.AddWorkshop functions that individually tell the client what workshop addons it should subscribe to before joining. There is a tool to automatically create these files at https://csite.io/tools/gmod-universal-workshop. Both of these have the advantage of not using server bandwidth at all, and instead using the Steam workshop.

Hope this was interesting to..someone. What's the point of having completely useless knowledge if you can't post it?
[Image: horizontal-design-element-3.png]
  Angel I CRAHSED MY CAR
find out more at https://russefarmer.com/
Garry's Mod Performance Tuning Guide
#2
[Image: 555a6081af322a4ba7496d30bb5b0bdf.jpg]
[Image: ezgif.com-effects.gif?ex=66308f7a&is=661...height=424]
find more through my linktree | Never Forget | Green Bean
#3
it means fast download
#4
Wow, I've never seen a post that was simultaneously informative and a shitpost. Well done.
He/Him/His
#5
T
#6
anyone got a TL/DR? 


just kidding Russ,


thanks for the info. as expected, you know what you're talking about.


Forum Jump:


Users browsing this thread: 1 Guest(s)

About Us
    This is Dinkleberg's GMod, a gaming community based in Garry's Mod. We have a Trouble in Terrorist Town, Prop Hunt, Murder, and Deathrun Server. Come check them out sometime.