Hey, all.
I've got a private gmod server for myself and some friends, and I've been using ULX's forced downloads feature to make it easier to distribute addons (As such, download times and lag aren't an issue as far as inconveniencing players goes). After reading the FAQs and browsing forums on this and other sites, I'd learned the basics of it, but I was having trouble using the garrysmod root structure to add things in addons--mostly resulting in the server crashing, infinitely hanging on "Parsing game info" or not network issues when it tried to retrieve data from the server. I'd been using this method:
ulx addForcedDownload "materials/whatever/folders/anAddonUsed" 1
ulx addForcedDownload "models/narrowing/itDown/wasThe/hardPart" 1
Earlier today I came across a solution that should've been obvious, but which I hadn't caught on to since the various guides were a bit too generic--it was on some other forum, I think, that someone suggested using the name of the addon folder first, IE:
ulx addForcedDownload "AddonName/lua" 1
ulx addForcedDownload "AddonName/models" 1
ulx addForcedDownload "AddonName/materials" 1
and so forth. Why I didn't catch onto this sooner, I'm not sure; it seemed to make much more sense, was a lot cleaner, and it worked.
...Or so I thought. In a slight fit of happiness over having that work for several addons that the old method wasn't working with, I threw several new ones onto the server and configured the server.ini in the same way. Unfortunately, however, some things didn't work, while others did. After playing with it for a few hours, I'm at my wit's end, and I hoped someone around here could point me in the right direction. Here's the relevant portion, with some extra notes in parenthesis:
// You can also add forced downloads here. Make sure you put quotes around the path/filename, and take out the comment string '//'.
// Add as many as you want. You can also add these to your map- or game-specific files.
// format: ulx addForcedDownload <file/folder> [<recursive>]
//ulx addForcedDownload "sound/cheeseman.mp3"
// You can add a folder to add all files inside that folder. If recursive is 1 it will also add all files from any sub-folders.
//ulx addForcedDownload "sound/my_music" 1
//General
ulx addForcedDownload "sound" 0
//boot (This one works fine)
ulx addForcedDownload "Boot SWEP/lua" 1
ulx addForcedDownload "Boot SWEP/models" 1
ulx addForcedDownload "Boot SWEP/materials" 1
//bridge tool v2 (This one works fine)
ulx addForcedDownload "bridge tool v2/lua" 1
//Chainsaw_GunV2 (The lua on this one seems to work, but none of the sounds, models, etc. are being downloaded.)
ulx addForcedDownload "Chainsaw_GunV2/lua" 1
ulx addForcedDownload "Chainsaw_GunV2/models/weapons" 1
ulx addForcedDownload "Chainsaw_GunV2/materials/models/characters/fenix" 1
ulx addForcedDownload "Chainsaw_GunV2/materials/jaanus" 1
ulx addForcedDownload "Chainsaw_GunV2/sound/weapons/chainsaw_gun" 1
(I tried specifying the folders in this one, in case it was a problem with the recursion; it had no effect.)
//Dismemberment 19 (I removed the . from 1.9 in both this file, and the actual folder's name, on the off chance that it was interfering. This made no discernible difference. None of these files, as far as I can tell, are being downloaded.)
ulx addForcedDownload "Dismemberment Mod 19/data" 1
ulx addForcedDownload "Dismemberment Mod 19/lua" 1
ulx addForcedDownload "Dismemberment Mod 19/materials" 1
ulx addForcedDownload "Dismemberment Mod 19/models" 1
ulx addForcedDownload "Dismemberment Mod 19/resource" 1
ulx addForcedDownload "Dismemberment Mod 19/scripts" 1
ulx addForcedDownload "Dismemberment Mod 19/settings" 1
//Garry's Bombs 3 (The lua works, as one would expect, but nothing else.)
ulx addForcedDownload "Garry's Bombs 3/lua" 1
ulx addForcedDownload "Garry's Bombs 3/Models" 1
ulx addForcedDownload "Garry's Bombs 3/materials" 1
ulx addForcedDownload "Garry's Bombs 3/sound" 1
//Laser STOOL 2 (This one seemed to work properly.)
ulx addForcedDownload "Laser STOOL 2/lua" 1
ulx addForcedDownload "Laser STOOL 2/models" 1
ulx addForcedDownload "Laser STOOL 2/materials" 1
//MeteorShower (This one works fine, but it's only lua, so that only makes sense.)
ulx addForcedDownload "MeteorShower/lua" 1
//minigun (This one mostly works, but it's a bit buggy; I think I may've had an older version cached somewhere--it's not in my addons folder.)
ulx addForcedDownload "minigun/lua" 1
ulx addForcedDownload "minigun/materials" 1
ulx addForcedDownload "minigun/models" 1
ulx addForcedDownload "minigun/sound" 1
//Nuke Pack 4 (Save for the occasional weapon model errors, all of the nukes seem to work properly)
ulx addForcedDownload "Nuke Pack 4/lua" 1
ulx addForcedDownload "Nuke Pack 4/materials" 1
//Nuke 7_1
ulx addForcedDownload "Nuke 7_1/lua" 1
//Nuke 7_2
ulx addForcedDownload "Nuke 7_2/lua" 1
//Nuke 7_3
ulx addForcedDownload "Nuke 7_3/lua" 1
ulx addForcedDownload "Nuke 7_3/materials" 1
ulx addForcedDownload "Nuke 7_3/models" 1
ulx addForcedDownload "Nuke 7_3/sound" 1
//Nuke 7
ulx addForcedDownload "Nuke 7/lua" 1
ulx addForcedDownload "Nuke 7/materials" 1
//SMOD Kick (This works okay; a bit buggy, but I think that's the addon's issue, not ULX)
ulx addForcedDownload "SMOD Kick/lua" 1
ulx addForcedDownload "SMOD Kick/models" 1
ulx addForcedDownload "SMOD Kick/materials" 1
ulx addForcedDownload "SMOD Kick/sound" 1
//SMOD Shovel (Same story here as above.)
ulx addForcedDownload "SMOD Shovel/lua" 1
ulx addForcedDownload "SMOD Shovel/models" 1
ulx addForcedDownload "SMOD Shovel/materials" 1
ulx addForcedDownload "SMOD Shovel/sound" 1
//TF2 Buildings (These were the original ones I setup with this method, and they work just fine--leading me to set up all of the others this way.)
ulx addForcedDownload "team-fortress-buildings/lua" 1
ulx addForcedDownload "team-fortress-buildings/materials" 1
ulx addForcedDownload "team-fortress-buildings/resource" 1
ulx addForcedDownload "team-fortress-buildings/tf.fgd"
//TF2 Weapons (Same as above.)
ulx addForcedDownload "team-fortress/lua" 1
ulx addForcedDownload "team-fortress/materials" 1
ulx addForcedDownload "team-fortress/models" 1
ulx addForcedDownload "team-fortress/resource" 1
//WRONG!!! (This one I already had part of cached, but it never downloaded the sound. It doesn't download it now, either.)
ulx addForcedDownload "WRONG!!!/lua" 1
ulx addForcedDownload "WRONG!!!/models" 1
ulx addForcedDownload "WRONG!!!/sound" 1
I don't notice any syntax/typing errors, but I'm not familiar with lua. I double-checked, and the folder names here match the foldernames in garrysmod/addons exactly. Also, I doubt it's necessary to force the download of the lua folders, but it didn't appear to hurt anything, so I left them in. What bugs me is that the same method works for some of these, but not for others.
As an aside, does anyone know where garrysmod stores the files it gets from servers? Some of these addons aren't downloaded when I join my server, and I can't find them cached anywhere in the garrysmod directory. For example, the minigun, I'd like to remove it so I can download it again from scratch, but it's not in my addons folder and I can't find any trace of it anywhere. I'd rather not have to do a clean re-installation of gmod, either--I've got the vast majority of the addons (PHX, spacebuild models, etc) stored separately if I needed to do that, but it's a pain and consumes a lot of time.
I've looked through the forums and FAQs, and I haven't noticed anyone that was having quite the problem I'm having. Oh, and I've restarted/stopped-and-started the server several times, as well as restarted gmod, to no avail. It connects and gets into the game just fine, except it doesn't transfer files like it's supposed to.
Any help would be appreciated.