Download file has invalid path or extension

I’ve had a server up and running for a few months and all of a sudden clients are reporting that their download of files hangs on the info.txt. Their console says

Download file ‘gamemodes/CustomGameMode/info.txt’ has invalid path or extension!

Since I’ve changed absolutely nothing I have to assume that Garry decided to add some extra random protection. It also does the same thing to files I have placed “gamemodes/CustomGameMode/content”.

  1. This new system is shit and will cause all downloads to fail and hang on finding even one file that it can’t write (the file gets sent, but then hangs clientside for no reason).
  2. Why does this even exist? Clients need gamemode files and materials!
  3. Is there a clear listing of what is allowed to be sent to clients and where?
  4. How the hell do I get around this?

As far as I’m aware, nothing has changed suddenly within the last hour with info.txt. Working perfectly fine here.

There’s no need to send the info.txt to the client…

I probably shouldn’t have used “all of a sudden”. As far as I can tell, this happened about a month ago, but most of my testers didn’t notice since they all have the needed files and don’t even need to download anything. Since only one person actually complained it took until now for me to actually take notice.

You’re right about not needing info.txt. That’s just a legacy I had back from when I gave testers all the files needed to start their own servers. However, the inability to send txt files is annoying since there’s not much malicious things you can do with them. Any other type of file that isn’t specifically listed on whatever whitelist Garry has will cause this problem.

So here’s what I’ve learned.

Garry must have made a pretty narrow whitelist and not put in the changelogs.

You can’t really organize things into subfolders now because…

You CANNOT send files if they are in a subdirectory of /materials/ or /models/ or anything else besides these folders in the /content/ directory of a gamemode.

Materials can only be vtx or vtf to send.

Models can only be vtx or vvd from what I’m seen.

Anything can be sent to the data directory.

OK so this whole thing is annoying and made me have to spend some time rearranging everything and then updating all the file paths (boo hoo, I know).

The real problem here is that if for any reason some file is accidentally sent (like if you have an entire folder set to send) and the client isn’t allowed to get it the client simply hangs and can’t download anything else instead of logically just skipping the file or asking the user if they want it anyways.

On further testing it looks like vtf’s materials still cause the client to lock up on getting sent. So how do I send clients materials?