Buh. Apologies for the double post, but it wouldn't let me edit my first one.
Anyway, yeah, make seprate subdomains for your FastDL paths, like fastdl1.op6.site.nfoservers.com and fastdl2.op6.site.nfoservers.com, or something.
This is my forced download Lua:
Code:
function AddDir(dir) -- Recursively adds everything in a directory to be downloaded by client
local list = file.FindDir("../"..dir.."/*")
for _, fdir in pairs(list) do
if fdir != ".svn" then -- Don't spam people with useless .svn folders
AddDir(dir.."/"..fdir)
end
end
for k,v in pairs(file.Find(dir.."/*", true)) do
resource.AddFile(dir.."/"..v)
end
end
-- sb_new_worlds_2 skybox and models/textures
if game.GetMap() == "sb_new_worlds_2" then
AddDir("models/bynari")
AddDir("materials/bynari")
resource.AddFile("materials/maps/sb_new_worlds_2.vmt")
resource.AddFile("materials/skybox/new_worlds_bk.vmt")
resource.AddFile("materials/skybox/new_worlds_dn.vmt")
resource.AddFile("materials/skybox/new_worlds_ft.vmt")
resource.AddFile("materials/skybox/new_worlds_lf.vmt")
resource.AddFile("materials/skybox/new_worlds_rt.vmt")
resource.AddFile("materials/skybox/new_worlds_up.vmt")
end
-- GM_Galactic_RC1 models/textures
if game.GetMap() == "gm_galactic_rc1" then
AddDir("materials/models/spacemap")
end
-- Daft Punk player models
AddDir("models/player/daftpunk")
AddDir("materials/models/daftpunk")
resource.AddFile("models/player/daftpunk/Daft_Gold.phy")
resource.AddFile("models/player/daftpunk/Daft_Silver.phy")
-- Alien Swarm player models
AddDir("models/player/samzanemesis")
AddDir("materials/models/player/male")
resource.AddFile("models/player/samzanemesis/MarineMedic.phy")
resource.AddFile("models/player/samzanemesis/MarineOfficer.phy")
resource.AddFile("models/player/samzanemesis/MarineSpecial.phy")
resource.AddFile("models/player/samzanemesis/MarineTech.phy")
-- Star Trek sounds!
resource.AddFile("sound/cloak.wav")
resource.AddFile("sound/decloak.wav")
resource.AddFile("sound/phaserloop.wav")
resource.AddFile("sound/photontorpedo.wav")
resource.AddFile("sound/redalert.wav")
-- Photon Torpedo model
resource.AddFile("models/ApwnInTheDark's Starship Pack/Props/Photon Torpedo (Red).mdl")
resource.AddFile("materials/models/ApwnInTheDark's Starship Pack/Props/RedPhotonTorpedo+Animation.vmt")
It's in /garrysmod/lua/autorun/server/forced_downloads.lua. The bits of code that add the player models to the client's player model list are in the addon folder itself, with an if CLIENT statement. There's some more forced download in Lua in some of the addons' autorun, but they're simple and inconsequential...most of them are in this file, with that function at the top making it easier to add stuff in large quantities.