FastDL Issues

Usually I’m able to get a FastDL up and working perfectly. However, it seems I can’t this time. I’m not sure if it’s because I’m using workshop addons as well or if I’ve done something wrong. Here’s how I’ve got it setup:

server.cfg:



sv_downloadurl "http://mydomain.com/garrysmod"
sv_allowdownload 0
sv_allowupload 0


resources.lua in lu/autorun



if SERVER then
	resource.AddFile("materials/murder/melon_logo_scoreboard.png")
	resource.AddFile("materials/thieves/footprint.vtf")
	resource.AddFile("materials/trails/creeper.vmt")
	resource.AddFile("materials/trails/creeper.vtf")
	resource.AddFile("materials/trails/cursor.vmt")
	resource.AddFile("materials/trails/cursor.vtf")
	resource.AddFile("materials/trails/portal.vmt")
	resource.AddFile("materials/trails/portal.vtf")
	resource.AddFile("materials/trails/question.vmt")
	resource.AddFile("materials/trails/question.vtf")
	resource.AddFile("materials/trails/redstars.vmt")
	resource.AddFile("materials/trails/redstars.vtf")
	resource.AddFile("materials/trails/shoes.vmt")
	resource.AddFile("materials/trails/shoes.vtf")
	resource.AddFile("materials/trails/snowflake.vmt")
	resource.AddFile("materials/trails/snowflake.vtf")
	resource.AddFile("materials/trails/suit.vmt")
	resource.AddFile("materials/trails/suit.vtf")
	resource.AddFile("materials/trails/trains.vmt")
	resource.AddFile("materials/trails/trains.vtf")
end


file structure:

files:

Also, I run the both the gmod server and the webserver on the same VPS. Not sure if that’s relevant.

change your convars to this


sv_allowdownload 1
sv_allowupload 1

UPD
where sv_downloadurl write your content adress. As that:


sv_downloadurl "http://149.154.65.22/servers/fastdl_test/"

The convars belong at 0 because when set to 1, clients download from the gameserver.

I have on the server so works. Downloading files from the address http://149.154.65.22/servers/fastdl_test/

That isn’t working for me, unfortunately.

This needs to be done, your fastdl isn’t working, therefore downloading from the server instead. Leave it as this.

(Oh god trails… >_>)

Verify in your Options/Multiplayer, in the bottom right, allow custom content from servers.

This is definitely enabled. Plus, it’s not just me having the issue. (I don’t like trails either but they keep people on)

Okay, let me clarify some stuff because people here like to say things without actually knowing what they’re talking about.

sv_allowdownload - This convar will enable or disable the Source download system if sv_downloadurl is not set. Meaning if you set sv_downloadurl to anything but “” it will never use the Source download system. That being said, it’s best to set it to 0; I believe there is or was an exploit that allowed people to download any file from your server if it was set to 1, even if you’re using FastDL

sv_allowupload - This will allow users to upload files to the server (ie. their custom sprays). Personally, I always leave it disabled, or set to 0. I’m not sure if there are any exploits related to allowing users to upload files. Either way, this setting has ZERO effect on FastDL

sv_downloadurl - This should mirror the “garrysmod” folder on the server. Meaning any custom content/maps (from addons, gamemode, etc) should be merged into the “root” directory (in this case you would be merging them into servers/fastdl_test/). So, for example, addons/MYSUPERCOOLADDON/materials/* would be available at http://myfastdl.com/download/materials/. gamemodes/MYCOOLGAMEMODE/content/models/ would be available at http://myfastdl.com/download/models/*. It’s difficult to explain but let me know if what I’m saying isn’t clear.

I have good news - you have set up your FastDL folder structure up correctly! Well, kinda. You’ve told the players, for example, that they’ll be downloading materials/trails/suit.vtf. Your FastDL server, however, does not have a file there: http://149.154.65.22/servers/fastdl_test/materials/trails/suit.vtf doesn’t exist, and neither does http://149.154.65.22/servers/fastdl_test/materials/trails. Long story short, you have the base directories set up properly, you just haven’t uploaded all of the files.

Long story short - upload the missing files and report back.

The files are there. That is not my domain. I uploaded a picture of the files that are in mydomain.com/garrysmod/materials/trails

Oh, sorry, missed that it wasn’t your domain. Let’s answer some simple questions to diagnose this quickly.

  1. Are players “downloading” the files every time they join?
  2. Are the downloads all shown on the progress bar as a “collective” total or does every download have its own progress? In simpler terms, does the progress bar reset after every download?

Well the problem is that the files aren’t being downloaded at all, meaning there is no progress bar that shows anything being downloaded from the downloadurl. I’m thinking it’s confliction between fastdl and workshop?

Well if the players already have the files then they won’t be prompted to download them again.

So now, either they already have the files, or they are never being instructed to download them. Don’t fear, there’s a very simple way to debug this. Launch your game, join your server. Once you’ve joined, open the console and enter this.


developer 4;download_debug 1;clear;retry

Once you’ve finished rejoining please come back here and post the contents of your game console inside [noparse]




[/noparse] tags



Connecting to blocked...
Connected to blocked

Murder
Map: cs_office
Players: 9 / 18
Build: 5692
Server Number: 1

FCVAR_CHEAT cvars reverted to defaults.
[zG] | Murder

murder
cs_office
18
76561198014323082
Unhandled GameEvent in ClientModeShared::FireGameEvent - server_spawn
Requesting 3 lua files from the server
ConVarRef gmod_physiterations doesn't point to an existing ConVar
Loading: maps/cs_office.bsp
PREP OK
Null physics model
Null physics model
Null physics model
Null physics model
Null physics model
Null physics model
Null physics model
Null physics model
Initializing renderer...
SurfFlagsToSortGroup:  unhandled flags (4000948) (maps/cs_office/plaster/offwllb_-1184_-1455_-299)!
- This implies you have a surface (usually a displacement) embedded in solid.
- Look near (-936.0, -1176.0, -332.0)
Couldn't find customization file 'sound/player/jingle.wav'.
clientside lua startup!
You are running ULib version 2.52.
[ULIB] Loading SHARED module: ulx_init.lua
[ULX] Loading CLIENT module: motdmenu.lua
[ULX] Loading CLIENT module: uteam.lua
[ULX] Loading CLIENT module: xgui_client.lua
[ULX] Loading CLIENT module: xgui_helpers.lua
[ULX] Loading CLIENT module: xlib.lua
[ULX] Loading SHARED module: chat.lua
[ULX] Loading SHARED module: fun.lua
[ULX] Loading SHARED module: menus.lua
[ULX] Loading SHARED module: rcon.lua
[ULX] Loading SHARED module: teleport.lua
[ULX] Loading SHARED module: user.lua
[ULX] Loading SHARED module: userhelp.lua
[ULX] Loading SHARED module: util.lua
[ULX] Loading SHARED module: vote.lua
Client "Para 2" spawned in server <STEAM_0:0:27028677> (took 7 seconds).
Changed language to english
ULX version <SVN> unknown revision loaded.
Welcome to [zG] | Murder! We're playing cs_office.
Jesus: D:

///////////////////////////////////////
//  ULX GUI -- Made by Stickly Man!  //
///////////////////////////////////////
// Loading GUI Modules...            //
//   bans.lua                        //
//   commands.lua                    //
//   groups.lua                      //
//   maps.lua                        //
//   settings.lua                    //
// Loading Setting Modules...        //
//   client.lua                      //
//   server.lua                      //
// Loading Gamemode Module(s)...     //
//   No module found!                //
// Modules Loaded!                   //
///////////////////////////////////////

"materials/__vgui_texture_1.vtf": can't be found on disk
"materials/__vgui_texture_5.vtf": can't be found on disk
"materials/__vgui_texture_381.vtf": can't be found on disk
"materials/__vgui_texture_473.vtf": can't be found on disk
KeyValues Error: RecursiveLoadFromBuffer:  got EOF instead of keyname in file materials/models/smashbros/lucariocolor/lucariobody.vmt
VertexLitGeneric, (*proxies*), (*PlayerColor*), 
KeyValues Error: RecursiveLoadFromBuffer:  got EOF instead of keyname in file materials/models/smashbros/lucariocolor/lucarioface.vmt
VertexLitGeneric, proxies, (*PlayerColor*), 
KeyValues Error: RecursiveLoadFromBuffer:  got EOF instead of keyname in file materials/models/smashbros/lucariocolor/lucarioface.vmt
VertexLitGeneric, (*proxies*), (*PlayerColor*), 
KeyValues Error: RecursiveLoadFromBuffer:  got EOF instead of keyname in file materials/models/smashbros/lucariocolor/lucarioarmleg.vmt
VertexLitGeneric, (*proxies*), (*PlayerColor*), 
Set Gravity 600.0 (0.250 tolerance)
Signon traffic "CLIENT":  incoming 72.908 KB, outgoing 1.814 KB
Queued Material System: ENABLED!
Compact freed 200704 bytes
Redownloading all lightmaps
R_RedownloadAllLightmaps took 31.712 msec!


Can you post the IP to your server (or PM me the IP since you seem to want to keep this private)?

[editline]11th July 2014[/editline]

For anyone looking for the solution: Para. is using the Windows webserver IIS and had permissions set up incorrectly. The files were all there, they just didn’t have the correct permissions to be downloaded.

Solved. The problem was an authentication error in IIS that was blocking the files from being downloaded.

Just saying, keeping your FastDL URL private is quite… useless. It’s shown in the console in green text if someone joins your server and everyone can find it out by typing “sv_downloadurl” in the console without any arguments.