How to force people to download custom maps/content when they join the server?

I have my server hosted at DaemonServers UK.
I have FastDL on the server, but it does not force them to download for example the map ttt_island_2013.
I have most of my custom content inside a Workshop Collection, that I installed on the server. I have updated the FastDL but still, whenever we change the map to ttt_island_2013 for example a lot of people just disconnect because they dont have the map. Same with my Pointshop Custom Content, that they just see a big error sign.

I may be wrong, but FastDL doesn’t work with Workshop content. You should unpack the ones you’ve downloaded, create all the ‘resource.AddFile’ and then it should work. There are plenty of tutorials for this.

Use workshopDL with workshop addons. FastDL only works with unpacked files.

Here’s a neat little script you can use, put this into a file in autorun/server/.

[LUA]maplist = {}

maplist[“MAPNAMEHERE”] = “WORKSHOPIDHERE”
maplist[“ttt_community_bowling_v5a”] = “131667838”

local map = game.GetMap() – Get’s the current map name
local workshopid = maplist[map]
– Finds the workshop ID for the current map name from the table above

if( workshopid != nil )then
–If the map is in the table above, add it through workshop
print( "[WORKSHOP] Setting up maps. " …map… " workshop ID: " …workshopid )
resource.AddWorkshop( workshopid )
else
–If not, ) then hope the server has FastDL or the client has the map
print( “[WORKSHOP] Not available for current map. Using FastDL instead hopefully…” )
end[/LUA]

Found on wiki.garrysmod.org, works like a charm for me. Add as many maplist vars as you want.

You don’t need to resource.AddFile maps. As long as they are on your server and FastDL FTP you are good.

Is there a script like this for models, weapons, hats and other stuff?



resource.AddFile("path/to/model.mdl")
resource.AddFile("path/to/material.vmt")
resource.AddFile("path/to/sound.mp3")