Well, no. You just forgot to wait.
Garry's Mod downloads all the updates before decompressing new workshop files downloaded through Steam.
When you start Garry's Mod, it does the following:
- Check for any updates on existing addons.
- Mount all addons that does not have an update.
- Download all the updated files for addons that are unmounted (needs updating).
- Mount all addons that have been updated.
- Check Steam for any downloaded addons.
- Extract these downloaded addons.
- Mount them.
As you know, when subscribing to an addon from the Garry's Mod Workshop (and not through the in-game addons menu), Steam automatically downloads the files (compressed in LZMA format), which sit somewhere inside your Steam
folder.
When you boot up Garry's Mod, it follows the list of procedures as listed above. It checks for any updates to existing addons, and then mount them. Then, it decompresses new addons (downloaded via Steam) and mounts them too.
The cause of your problem is because you have so many (about 1,268 addons), and that there are many updates, you're not waiting for them to complete, thus stopping the update process before the point where it unpacks the new addons (that are downloaded through Steam), which happens after all updates are finished.
All you had to do is wait!
Answering your questions:
- When Steam downloads an item from the workshop, where is it stored? In the addons folder or elsewhere?
They are stored in the workshop folder; <Steam Library Directory>\workshop\4000\<file id>\...
.
- Why is Garry's Mod downloading my addons again? (And is it downloading it twice or only updates?) I've noticed that both steps involve using a lot of bandwidth...
It isn't. It is merely updating out-of-date addons that have been currently installed.
As for the extraction stage, it doesn't use any Internet usage.. It's not like you can download 400MB in 3 seconds with Aussie Internet speeds?
- If the addons downloaded by Steam are stored elsewhere, is there any way to make Garry's Mod copy-paste instead of downloading them again (if it is doing that)?
You don't need to do this. See your question 1.