Аддоны Workshop для Garry's Mod корректно устанавливаются через Steam-Workshop-Collection, Steam Web API Key и, при необходимости, resource.AddWorkshop() для загрузки на стороне клиента. Так конфигурация сервера остается понятной, аддоны можно централизованно менять, а при проблемах ты можешь точечно проверить, где ошибка: в коллекции, API Key или отдельных Workshop-ID.
Требования
Тебе нужен доступ к параметрам запуска твоего сервера Garry's Mod, Steam-Workshop-Collection и Steam Web API Key. Официальный источник контента Workshop для Garry's Mod — Steam Workshop для Garry's Mod. API Key создается на официальной странице Steam steamcommunity.com/dev/apikey.
Планируй выбор аддонов осознанно. Большая коллекция может увеличить время запуска сервера, заставить клиентов дольше скачивать файлы и усложнить поиск ошибок. Для рабочих серверов разумно сначала тестировать аддоны по одному или небольшими группами, прежде чем надолго добавлять их в основную коллекцию. В game-serverhosting такой процесс хорошо подходит к контролируемой модели эксплуатации: изменения документируются, проверяются и только после этого открываются для игроков.
Создание Workshop Collection
- Перейди в Steam Workshop
- Создай новую Collection
- Добавь все нужные аддоны
- Скопируй Collection-ID
Collection-ID находится в URL Steam-коллекции. Копируй только числовой ID, а не весь URL. Также убедись, что коллекция публичная или доступна серверу. Если аддон удален, сделан приватным или обновлен автором, это может повлиять на запуск сервера или клиентские загрузки. Поэтому после крупных изменений всегда проверяй консоль сервера.
Загрузка Collection на сервере
В строке запуска сервера:
+host_workshop_collection <collection_id>
-authkey <steam_web_api_key>
Замени <collection_id> на ID твоей Workshop-Collection, а <steam_web_api_key> — на твой Steam Web API Key. Параметр +host_workshop_collection указывает серверу загрузить заданную коллекцию. Параметр -authkey предоставляет доступ к веб-службам Steam, которые нужны для загрузок Workshop.

После добавления параметров запуска перезапусти сервер. При первом запуске следи за консолью или логом. Если контент Workshop не загружается, причина часто в неправильном Collection-ID, отсутствующем или недействительном API Key либо в аддоне, который больше недоступен.
Steam Web API Key
Нужен для загрузок Workshop:
- Перейди на steamcommunity.com/dev/apikey
- Сгенерируй Key
- Укажи его как
-authkeyв строке запуска
Обращайся с API Key как с токеном доступа. Не публикуй его и не вставляй в форумы, скриншоты или общедоступные репозитории. Если ты подозреваешь, что Key был раскрыт, создай новый в Steam и больше не используй старый Key.
Игроки автоматически загружают аддоны
Чтобы игроки автоматически скачивали аддоны, добавь в lua/autorun/server/workshop.lua:
resource.AddWorkshop("workshop_id_1")
resource.AddWorkshop("workshop_id_2")
resource.AddWorkshop("workshop_id_3")
resource.AddWorkshop() использует отдельные Workshop-ID. Внеси сюда аддоны, которые клиенты должны автоматически получать при подключении. Это особенно важно для карт, моделей, материалов, звуков и другого контента, который нужен игрокам локально. Аддоны только для сервера не обязательно распространять клиентам.
Держи этот файл четко структурированным. Можно группировать аддоны по назначению, например карты, оружие, playermodels или HUD. Если аддон вызывает проблемы, временно закомментируй соответствующую строку и перезапусти сервер. Так ты быстрее найдешь конфликты, не разбирая всю коллекцию.
Популярные категории аддонов
| Категория | Примеры |
|---|---|
| Карты | ttt_minecraft, ph_office |
| Оружие | M9K Weapons, TFA Base |
| Playermodels | PM + Playermodel Selector |
| Инструменты | Wiremod, Precision Tool |
| HUD | DarkRP HUD, TTT HUD |
Эти категории — типичные примеры, а не рекомендация для каждой настройки. У серверов DarkRP, TTT, Prop Hunt и Sandbox разные требования. Главное, чтобы аддоны подходили к игровому режиму, активно поддерживались и не дублировали функции. Две оружейные базы, несколько HUD или несколько админ-инструментов могут мешать друг другу.
Если ты также запускаешь другие игры с модовыми процессами, помогут принципы из гайда по Workshop для Project Zomboid и гайда по установке модов ARK: сначала выясни зависимости, затем аккуратно внеси ID, после этого проверь все через логи и клиентский тест.
Проверка результата
После каждого крупного изменения перезапусти сервер и проверь три пункта. Во-первых, консоль не должна показывать ошибок Workshop по коллекции или API Key. Во-вторых, нужные аддоны должны быть доступны на стороне сервера, например карты в списке карт или инструменты в подходящем игровом режиме. В-третьих, тестовый клиент должен автоматически загружать нужный контент при подключении или не показывать проблем с missing textures.
По возможности тестируй клиентом, на котором эти аддоны еще не подписаны локально. Иначе легко не заметить, что автоматическая загрузка для новых игроков не работает. Для публичных серверов также полезно кратко указать в описании сервера, если нужно скачивать очень большой контент.
Решение проблем
- Аддон не загружается: проверь Steam Web API Key
- Missing Textures: установи CSS Content Pack
- Медленная загрузка: сократи Collection до необходимого минимума
Если вся Collection не загружается, сначала проверь опечатки в +host_workshop_collection и -authkey. Если отсутствует только один аддон, открой его страницу Workshop и проверь, доступен ли он еще. При отсутствующих текстурах различай контент Workshop и внешний контент, который нужен дополнительно. Серверы Garry's Mod часто используют материалы, которые не заменяются автоматически одним отдельным аддоном.
При долгой загрузке удали неиспользуемые карты, дублирующиеся модели, старые пакеты оружия и большие коллекции звуков или материалов. Меньшую Collection проще обслуживать, и она снижает вероятность того, что игроки прервут первое подключение.
Проверка, ограничения и безопасный откат
Инструкция «Установка аддонов Workshop для Garry's Mod» применима к типу сервера, описанному в статье, и к состоянию версий, видимому на момент проверки. Названия меню, доступные версии, совместимость модов или плагинов и нужные ресурсы могут измениться после обновлений. Поэтому не переноси значения на другую версию игры, загрузчика или сервера без проверки.
Перед изменениями мира, сохранения, конфигурации или расширений создай резервную копию затронутых файлов. Затем меняй только один связанный шаг и проверяй его с той же версией клиента и сервера, с которой ты позже хочешь играть.
| Пункт проверки | Ожидаемый результат | Прерывание и откат |
|---|---|---|
| Запуск сервера | Сервер достигает рабочего состояния без новых сообщений об ошибках. | При ошибках запуска откати изменение и восстанови последнюю резервную копию. |
| Тест подключения | Тестовый аккаунт может подключиться по адресу, показанному в панели. | При ошибках версии или подключения снова сверь версию, порт и разрешения. |
| Функциональный тест | Конкретно измененная функция работает, не повреждая существующие данные мира или игры. | При побочных эффектах останови сервер и восстанови сохраненные файлы. |
Успешный одиночный тест не гарантирует производительность или доступность. Размер мира, моды, плагины, число игроков, сетевой маршрут и одновременная нагрузка могут изменить результат. Документируй версию, изменение и результат теста, чтобы позже понимать причины отклонений.
FAQ
Всегда ли нужна Workshop-Collection?
Для сервера с несколькими аддонами Collection — самый аккуратный путь, потому что ты централизованно управляешь выбором в Steam. Отдельные Workshop-ID в resource.AddWorkshop() все равно важны, чтобы клиенты автоматически скачивали нужный контент.
В чем разница между Collection-ID и Workshop-ID?
Collection-ID указывает на сборник из нескольких аддонов. Workshop-ID указывает на один отдельный аддон. В строке запуска ты используешь Collection-ID, а в resource.AddWorkshop() вносишь отдельные Workshop-ID.
Почему игроки видят отсутствующие текстуры?
Отсутствующие текстуры чаще всего появляются, когда клиентский контент не был загружен или требуется дополнительный Content. Проверь resource.AddWorkshop(), ID аддонов и то, ссылается ли затронутый аддон на другой Content.
Нужно ли перезапускать сервер после каждого изменения аддонов?
Для изменений параметров запуска, Workshop-Collection или серверных Lua-файлов сервер следует перезапустить. Только так ты надежно проверишь, что сервер корректно загружает Collection и регистрирует клиентские ресурсы.
Насколько большой должна быть Collection?
Настолько маленькой, насколько возможно, и настолько большой, насколько нужно. Удаляй аддоны, которые твой игровой режим активно не использует. Это упрощает поиск ошибок, держит загрузки в разумных пределах и делает изменения во время работы сервера более контролируемыми.