I’m doing some work trying to get SpaceBuild 3 back up to a working condition, and I’ve run into a very odd problem with the models, particularly with Resource Nodes. I’m aware that there are some servers out there that have probably fixed this, but I like re-inventing wheels.
Basically, at one point during the spawn process, util.IsValidModel is called to check if a model is valid. Now, I’m getting false from this (and the subsequent call to util.IsValidProp), but the model does exist in the path specified. I cd’d to the addon directory and pasted in the path to ls, and it found the file just fine, so it’s not a capitalization issue. Even weirder, removing the checks allows the entity to spawn, but it cannot be interacted with by any STool, and the only way to remove it is with Cleanup All. I checked, and the variable in question is a string, so it’s not some weird userdata value or something. In addition, this only seems to happen on my Debian Linux dedicated server. Singleplayer works just fine. I don’t have a windows server to test from, though, so I can’t rule out an OS-specific issue.
I’ve done a search for this issue on Google, and I’ve only found a reference to an issue with false positives that was fixed in a recent GMod update.
Any ideas? I’m fairly sure it’s something really dumb I’ve done at 2:00AM.
Edit: This ended up being the file names and directories needing to be all completely lower-cased. There’s a bug in GMod that fucks up the models if they have any capitalized characters in the path on Linux. It does not matter if they are correctly capitalized in the reference in the code.