MAATRIX / Блог / Garry's Mod на сервере: частые ошибки и решения

Garry's Mod на сервере: частые ошибки и решения

Garry's Mod на сервере: частые ошибки и решения

MAATRIX

Garry's Mod ставится просто, но потом всплывают типичные проблемы движка Source: сервер не в списке без токена, ошибки текстур, аддоны Workshop не грузятся, тяжёлый DarkRP лагает. Разберём частые ошибки сервера Garry's Mod по симптому, причине и решению с командами. Большинство упираются в GSLT-токен, контент из других игр Source и настройку Workshop-коллекции.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Сервер запущен, но его нет в списке

Классическая проблема: сервер работает, консоль показывает загруженную карту, но в браузере серверов Garry's Mod его нет. В большинстве случаев виноват отсутствующий или неверный GSLT-токен. Без валидного Game Server Login Token сервер не регистрируется в мастер-серверах Valve и остаётся доступен только по прямому подключению.

Проверьте, что токен передан при запуске.

grep sv_setsteamaccount /etc/systemd/system/gmod.service

Если параметр на месте, убедитесь, что токен действителен и не отозван: Valve блокирует токены при нарушениях или утечке. Сгенерируйте новый в кабинете Steam для App-ID 4020 и подставьте его. Проверьте прямое подключение по IP: если по адресу зайти можно, а в списке сервера нет — виноват именно токен. Вторая возможная причина невидимости — закрытый порт запросов, но тогда обычно и прямое подключение не работает.

Текстуры и модели отображаются ошибками

Игроки видят вместо текстур клетчатые розово-чёрные ошибки, а модели превращаются в красные буквы ERROR. Это фирменная проблема Source-режимов: многие карты и аддоны рассчитаны на контент других игр, чаще всего Counter-Strike Source, которого нет на чистом сервере Garry's Mod. Сервер сам по себе запускается, но нужный контент отсутствует.

Решение — смонтировать контент нужной игры. Один путь — установить через SteamCMD файлы контента Counter-Strike Source и прописать их монтирование в конфиге mount.cfg сервера. Другой, более простой для игроков путь — раздавать нужный контент через Workshop-коллекцию, чтобы клиенты скачивали его сами. Для DarkRP и многих популярных карт контент CS:S фактически обязателен, поэтому если вы поднимаете такой режим, заложите это в план сразу. Для чистого Sandbox на стандартных картах вроде gm_construct дополнительный контент не нужен.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Аддоны из Workshop не загружаются

Вы собрали коллекцию аддонов, но игроки заходят на пустой сервер без нужных режимов и карт. Причин несколько. Первая и самая частая — не задан ключ Steam Web API: для автоматической раздачи Workshop-коллекции серверу нужен этот ключ, без него механизм host_workshop_collection не работает. Получите ключ на сайте Steam и передайте серверу.

Проверьте параметры запуска, отвечающие за Workshop.

grep -E 'workshop|steamapikey' /home/gmod/server/garrysmod/cfg/*.cfg

Вторая причина — в коллекции есть удалённые или скрытые аддоны, которые ломают загрузку остальных. Проверьте, что все элементы коллекции доступны. Третья — аддон-режим требует, чтобы игроки его скачали, но у них отключена автозагрузка контента с серверов в настройках клиента. Это уже на стороне игрока. Начните с малого: соберите минимальную рабочую коллекцию, убедитесь, что она грузится, и расширяйте постепенно — так проще найти проблемный аддон.

Тяжёлый DarkRP лагает при онлайне

DarkRP — самый популярный и самый прожорливый режим, и лаги на нём частая жалоба. Игроки строят базы из множества пропов, работает экономика, крутятся десятки аддонов — всё это нагружает сервер. Проверьте нагрузку на процессор во время пикового онлайна.

top

Если одно ядро упирается в потолок — сервер не тянет, и причина в движке Source, который в основном использует одно ядро. Помогает более быстрый процессор, а не большее их число. Снизить нагрузку можно и настройками: ограничьте максимум пропов на игрока, уберите самые тяжёлые аддоны, задайте разумный лимит сущностей. Каждый лишний аддон это дополнительная работа на каждом тике сервера.

Отдельно стоит проверить конкретные аддоны: один плохо написанный аддон, делающий тяжёлую работу на каждом тике сервера, способен уронить производительность сильнее, чем десяток нормальных. В Garry's Mod есть инструменты профилирования вроде встроенных консольных команд, показывающих, сколько времени занимает выполнение хуков разных аддонов, — по ним видно, какой из них съедает ресурсы. Отключайте подозрительные аддоны по одному и следите, возвращается ли производительность.

Если после оптимизации сервер всё равно лагает при вашем онлайне, значит, DarkRP перерос текущий VPS. Это тяжёлый режим, и честнее взять машину с более быстрым процессором. У MAATRIX можно подобрать VPS с высокочастотным CPU в локации с низким пингом до игроков и оплатить из России картой, СБП или криптой, перенеся конфиги и данные режима простым копированием.

Игроки не подключаются по IP

Сервер запущен и виден локально, но снаружи никто не заходит — таймаут при подключении. Классическая причина — закрытый порт. Garry's Mod использует порт 27015 по TCP и UDP, причём игровой трафик идёт по UDP.

ufw allow 27015
ufw status
ss -ulnp | grep 27015

Команда ufw allow 27015 без протокола открывает и TCP, и UDP — это то, что нужно. Если открыть только TCP, сервер будет виден, но играть не получится, потому что игровой поток по UDP не пройдёт. Команда ss с ключом u покажет, слушает ли сервер UDP-порт. Проверьте также сетевой фильтр провайдера в панели VPS. Если вы меняли порт при запуске, открывайте в фаерволе именно новый порт, сверив его с systemd-юнитом.

Сервер не поднимается после перезагрузки

После ребута VPS сервер Garry's Mod не стартовал сам. Проверьте состояние сервиса и журнал.

systemctl status gmod
journalctl -u gmod -n 40

Частые причины падения при старте — неверный рабочий каталог или путь к srcds_run, ошибка в строке запуска, устаревший GSLT-токен. Журнал journalctl укажет на проблему. Если сервер поднимается, но снова невидим, дело в токене. Ещё одна тонкость — после обновления Garry's Mod серверные файлы нужно обновлять командой SteamCMD с app_update 4020, иначе возможны сбои совместимости. После правки юнита выполните daemon-reload и включите автозапуск через systemctl enable, чтобы сервер стабильно стартовал при каждой загрузке машины.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Сервер работает, но его нет в списке — почему?

Почти всегда не задан или отозван GSLT-токен. Без валидного токена сервер виден только по прямому IP. Проверьте sv_setsteamaccount и при необходимости сгенерируйте новый токен.

Почему текстуры отображаются ошибками ERROR?

Карта или аддон требуют контент другой игры Source, чаще Counter-Strike Source. Смонтируйте этот контент через mount.cfg или раздайте через Workshop-коллекцию.

Аддоны из Workshop не грузятся у игроков — что не так?

Чаще всего не задан ключ Steam Web API, без которого host_workshop_collection не работает. Также проверьте, что в коллекции нет удалённых аддонов, ломающих загрузку.

DarkRP лагает при онлайне — как исправить?

Движок Source упирается в одно ядро. Ограничьте пропы и лишние аддоны, а если не помогает — нужен VPS с более быстрым процессором. DarkRP тяжёлый режим и требует хорошего CPU.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.