Главная > HOWTO > Установка и настройка сервера Garry’s Mod

Установка и настройка сервера Garry’s Mod

Вступление

По многочисленным просьбам я решил написать подробное HOWTO по установке и настройке слушающего сервера Garry’s Mod прямо из приложения.

Статья об установке и настройке выделенного (dedicated) сервера доступна здесь.

Что нам потребуется для работы:

  1. Сам Garry’s Mod (лицензионная Steam-версия).
  2. Набор для установки плагинов нашего производства (можете пропустить, если хотите устанавливать плагины вручную).
  3. Любой текстовый редактор для редактирования конфигов.

В отличие от слушающих серверов других Source-приложений, слушающий сервер Garry’s Mod по функциональности практически ничем не отличается от Dedicated Server’а. Общие черты слушающего и выделенного сервера Garry’s Mod:

  • позволяет устанавливать любые lua-модификации и плагины в каталог /addons/;
  • позволяет установить плагины для администрирования сервера и права администраторов (Garry’s Mod — единственный слушающий сервер, в котором создатель может быть не администратором).

Различия между слушающим и выделенным сервером Garry’s Mod:

  • при выходе из игры создателя, сервер автоматически отключается, а все играющие будут кикнуты с сообщением «Server is shutting down«;
  • позволяет одновременно хостить сервер и находиться на нём;
  • все настройки слушающего сервера хранятся в файле listenserver.cfg, а выделенного — server.cfg.

Преимущества слушающего сервера Garry’s Mod:

  • слушающий сервер не требует особых усилий для его развёртывания и настройки: достаточно установить нужные плагины, админку, файл конфигурации и можно приглашать на него своих друзей;
  • слушающий сервер идеален для работы/игры на нём нескольких человек (Вы и Ваши друзья например);
  • позволяет быстро переконфигурировать, перезапустить, остановить и т.д. сервер;
  • не нужно качать несколько гигабайт абсолютно ненужных данных выделенного сервера;
  • обновляется полностью автоматически.

Техническая часть

  1. Чтобы к Вам могли подключаться клиенты, Вы должны иметь «белый» IP-адрес, т.е. видимый из Интернета. Создание сервера с «серым» IP, либо с жёстким NAT’ом провайдера не имеет смысла, т.к. подключиться к такому серверу никто не сможет (кроме находящихся с вами в одной подсети).
  2. Сервер запускается на порту 27015, поэтому если у Вас ADSL, вы должны пробросить этот порт по протоколу UDP в настройках своего роутера (модема). Обычно проброс портов настраивается в веб-интерфейсе роутера в разделе NATPort Forwarding или NATVirtual Servers.
  3. На сервере главное – скорость отдачи от Вас клиентам, а также мощность процессора Вашего компьютера. На ADSL максимальная отдача может составлять около 780 Кбит/с – 1 МБит/с (на ADSL с модуляцией AnnexM (такая разновидность встречается крайне редко) – 3 Мбит/с). Если у Вас тариф на 256 КБит/с, то к Вам могут подключиться 6 клиентов. Если 512 – 10-12 клиентов, если 1 Мбит и более (ADSL) – 18 клиентов, кабель без NAT – 23 клиента (максимум для слушающего сервера). В соотвествие с этими параметрами Вы должны настроить значение переменной «Максимальное число игроков» во время создания сервера. Если Ваш канал или процессор не будут выдерживать такое количество подключившихся игроков, у всех появятся лаги.

Внимание! Не создавайте сервер на большое количество пользователей, т.к. современный компьютер вряд-ли потянет более 12-15 одновременно работающих пользователей, активно работающих с Wire, Stargate и т.п. из-за того, что Garry’s Mod до сих пор не поддерживает мультипоточность. Также в настройках сервера или файле конфигурации listenserver.cfg не забудьте указать максимальное количество объектов, элементов, NPC и т.д., которые может создать один пользователь. Если здесь будут стоять огромные числа (как по умолчанию в 200), то это может подвергнуть Ваш сервер серьёзным лагам. В нашем конфиге уже установлены оптимальные значения всех настроек, а NPC выключены вообще.

Настройка и запуск сервера

  1. Устанавливаем Steam и Garry’s Mod (если ещё не установлены).
  2. Запускам Garry’s Mod, ждём полной загрузки и выходим из неё (это нужно только если выполнялся шаг 1 для создания файлов базовой конфигурации).
  3. Запускаем Garry’s Mod, нажимаем «Создать сервер» («Create Server«), набираем команду status в консоли, записываем её вывод например в буфер обмена (выделяем выданный сервером текст, нажимаем правой кнопкой — «Копировать«), либо на бумагу и выходим из Garry’s Mod.
  4. Устанавливаем джентльменский набор плагинов из svn для Garry’s Mod, так, как описано в этой статье. Всю информацию по установке и сами скрипты установки/обновления плагинов Вы найдёте по этой ссылке.
  5. Делаем себя и, если нужно, своих друзей администраторами свежесозданного сервера (обязательно, иначе ULX-админка не даст Вам доступа). Чтобы сделать себя админом, нужно:
    • узнать Ваш личный SteamID и, если хотите сделать и друзей админами (не рекомендуется ;-)), то и их SteamID. Как это сделать описано на 3 шаге;
    • в любом текстовом редакторе открываем файл %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\settings\users.txt, где %Steam% — путь к установленному клиенту Steam, а ВАШ_ЛОГИН — Ваш логин для входа в Steam. В этот файл и прописываются администраторы сервера по SteamID. Ищем в этом файле раздел «superadmin» и после строки //»garry» «STEAM_0:1:7099» жмём Enter (начинаем новую строку) и пишем свою в виде «ВАШ_НИК» «STEAM_0:1:XXXXXXXXX», где ВАШ_НИК — это ник админа, который будет в списке вывода админов сервера (здесь разрешено вводить только латинские буквы и цифры без пробелов; кавычки обязательны), а STEAM_0:1:XXXXXXXXX — это Ваш SteamID (замените на настоящий, естественно ;-)), полученный на 3 шаге. Здесь же после этой строчки может добавить и своих друзей (но я бы не рекомендовал этого делать; одного админа вполне достаточно).
  6. Качаем и распаковываем архив с файлами конфигурации в папку %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\cfg\, где %Steam% — путь к установленному клиенту Steam, а ВАШ_ЛОГИН — Ваш логин для входа в Steam. Заменяем имеющиеся файлы. Архив обновляется после выхода серьёзных изменений в Garry’s Mod, а также при обнаружении ошибок и для добавления новых функций.
  7. Открываем распакованный файл listenserver.cfg в любом текстовом редакторе (например, в Блокноте Windows) и делаем нужные настройки (меняем имя сервера (переменная hostname), настройки и т.п.). В файле я всё подробно описал какая переменная чем управляет, что включает/выключает, поэтому на этом я останавливаться не буду здесь. Внимание! Первым делом задайте пароль вместо !!!CHANGEME!!!, иначе Ваш сервер могут взломать.
  8. Запускаем Garry’s Mod, выбираем в главном меню пункт «Создать сервер» («Create multiplayer«). В открывшемся окне на первой вкладке выбираем карту (рекомендуется gm_flatgrass или gm_construct), затем переходим на страницу «Options«. Здесь установите максимально число игроков, которые могут подключиться к Вашему серверу («Max Players«) и обязательно уберите галочку из строки «Local network game» (иначе никто не сможет подключиться к Вам). Все остальные пункты изменять не нужно, т.к. они изменяются только в конфигурационном файле listenserver.cfg (этот файл имеет более высокий приоритет, чем графическое меню).
  9. Жмём кнопку «Start game» внизу окна и ждём окончания запуска сервера.
  10. Даём свой внешний IP-адрес всем, кто должен к Вам подключиться и они смогут это сделать, набрав у себя в консоли Garry’s Mod команду connect IP_вашего_сервера:27015 (например, connect 126.65.110.99:27015). Свой внешний адрес можно узнать тут: http://www.2ip.ru (он определится в строке “Ваш IP-адрес“).
  11. Если к Вашему серверу кто-нибудь подключился, значит он успешно установлен и настроен. Чтобы отключить сервер, достаточно войти в меню Garry’s Mod клавишей Esc и выбрать пункт «Отключиться» («Disconnect«). После этого сервер кикнет всех, кто на нём играл и закончит свою работу.

Мини-FAQ

Q: Как запретить выдавать игрокам оружие (давать только Physgun, грави-ган, тулган и скриншотган)?

A: Установите плагин U-Restrict (если Вы устанавливали с помощью наших скриптов, то он уже установлен и автоматически активирован).

Q: Как изменить сообщение, которое появляется при заходе на созданный сервер Garry’s Mod?

A: Отредактируйте файл %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\ulx\motd.txt, где %Steam% — путь к установленному клиенту Steam, а ВАШ_ЛОГИН — Ваш логин для входа в Steam. Это обычный HTML-файл.

Q: Куда пишутся сокращённые логи админки?

A: Логи админки ULX пишутся в %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\ulx_logs\ДАТА.txt, где %Steam% — путь к установленному клиенту Steam, ВАШ_ЛОГИН — Ваш логин для входа в Steam, а ДАТА — сегодняшняя дата в формате ММ-ДД-ГГ.

Q: Мне нужно выдавать игрокам при подключении к серверу определённое оружие. Как это сделать?

A: Как уже писалось выше, нужен плагин U-Restrict для админки (если Вы устанавливали набор плагинов с помощью наших скриптов, он уже установлен). Итак, чтобы выдать нужное оружие, откройте файл %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\URestrict\loadouts.txt в любом текстовом редакторе и в разделе loadout после gmod_tool введите полное имя нужного оружия, например weapon_smg. Это оружие будет автоматически выдано игроку после подключения к серверу, а также после его респауна.

Q: При подключении к серверу моего друга, его Garry’s Mod пытается скачать огромное количество файлов. Что делать?

A: Это значит, что у Вашего друга установлены не все плагины, которые установлены у Вас в каталоге /addons/ Garry’s Mod’а. Нужно, чтобы Ваш друг установил их и чтобы версии плагинов совпадали. Только тогда ему не придётся ничего качать. Рекомендуем пользоваться нашим набором скриптов по установке и обновлению плагинов.

Категории:HOWTO Метки:,
  1. Даниил
    10 ноября 2012 в 18:18 | #1

    Спасибо большое!!!!!!!!

  2. Даниил
    10 ноября 2012 в 18:26 | #2

    А папки branches/
    tags/
    trunk/ кидать в addons?

  3. Даниил
    10 ноября 2012 в 18:30 | #3

    И ещё какой пароль и лог для скачки?

  4. Даниил
    10 ноября 2012 в 18:48 | #4

    Скачал папки ulx и ulib в addons. На сервере когда пишу ulx menu пишет неизвестная команда ulx.

  5. Даниил
    10 ноября 2012 в 23:12 | #5

    Могу только кикать и банить консолькой(

  6. 12 ноября 2012 в 13:30 | #6

    Даниил :

    А папки branches/
    tags/
    trunk/ кидать в addons?

    Нужно делать checkout из trunk, т.е. брать последнюю версию.

  7. 12 ноября 2012 в 13:31 | #7

    Даниил :

    И ещё какой пароль и лог для скачки?

    Логин и пароль не должен запрашиваться при скачивании по протоколу http. Для анонимного доступа в SVN всегда используется логин и пароль anonsvn.

  8. 12 ноября 2012 в 13:33 | #8

    Даниил :

    Скачал папки ulx и ulib в addons. На сервере когда пишу ulx menu пишет неизвестная команда ulx.

    Они должны быть помещены непосредственно в /addons/ на сервере. Убедитесь, что SVN-клиент не создал там trunk, а уже в неё поместил ulx и ulib.

    Можете воспользоваться готовыми скриптами. Исправьте только путь к каталогу /addons/ на сервере и запустите скрипт.

  9. Никита
    10 января 2013 в 16:37 | #9

    Установка такая же если у меня с WiFi битый айпи?

  10. 11 января 2013 в 11:30 | #10

    Никита :

    WiFi

    Не рекомендуется держать сервер на беспроводном соединении, т.к. у всех пользователей могут наблюдаться фризы из-за различных помех в канале.

    Никита :

    битый айпи

    Какой-какой IP? 🙂

  11. Александр
    2 февраля 2013 в 22:22 | #11

    Блин, после обновления грандиозного ничего не могу с сервером сделать, заного скачал файлы сервера (вообще до этого удалил полностью). Решил поставить ULX. Вставляю в свн ссылку, все как обычно, ввожу логин\пароль (anonsvn)-не подходит. Пошел скачивать Evolve (тоже админка такая, раньше стояла и все норм). Вроде-бы поставил, решил зайти, ну и когда захожу кикает с сообщением «Too many lua errors! Sorry!». И как теперь понимать это? И еще, как ставить аддоны на сервер теперь? Формат аддонов же изменили.

  12. 5 февраля 2013 в 13:53 | #12

    Александр :

    Решил поставить ULX. Вставляю в свн ссылку, все как обычно, ввожу логин\пароль (anonsvn)-не подходит..

    Они переехали на GitHub: https://github.com/Nayruden/Ulysses. Теперь вместо SVN используется Git. Также они стали публиковать Zip-архивы со своей админкой: http://ulyssesmod.net/downloads.php.

  13. Александр
    8 февраля 2013 в 21:47 | #13

    @V1TSK
    Может тогда обновите статью по созданию сервера?

  14. TrAvKa
    9 февраля 2013 в 13:27 | #14

    Кто может помочь Garrys mod Dark Rp (экономика уже файл который в dark rp или его качать надо . если в папке то где лежит)

  15. 9 февраля 2013 в 16:54 | #15

    Александр :

    @V1TSK
    Может тогда обновите статью по созданию сервера?

    Ссылки на скачивание из SVN поправлю.

  16. Иван
    1 марта 2013 в 10:25 | #16

    Инструкция немного не достоверная, папки написаны не те

  17. Иван
    1 марта 2013 в 14:30 | #17

    @Иван
    хотя очень помогла, сделал все по плану, когда пытаюсь поделючиться к серверу, выкидывет и пишет ,,Disconnect: «Too many Lua Errors! Sorry,,

    Помогите пожалуйста

  18. 2 марта 2013 в 17:50 | #18

    @Иван
    Укажите новые пути, я сделаю правки в статье. Она была написана в 2010 году и пути в то время были правильными.

  19. 2 марта 2013 в 17:50 | #19

    @Иван
    Неправильно установлены какие-то аддоны, поэтому и выбивает с ошибкой. Обновите их до новейших версий, либо удалите.

  20. TuzelKO
    25 мая 2013 в 17:57 | #20

    Здрасте а подскажите как сделать чтобы сервер гарика использовал несколько ядер процессора… он одно только берет и тормозит… помогите

  21. 27 мая 2013 в 17:09 | #21

    TuzelKO :

    Здрасте а подскажите как сделать чтобы сервер гарика использовал несколько ядер процессора…

    Это невозможно в настоящее время. Чтобы задействовать многопоточность, само приложение должно её поддерживать.

  22. TuzelKO
    29 мая 2013 в 01:56 | #22

    а когда это сделают не слышно? или например как работают сервера где по 50-100 слотов… как такое помещается на одном ядре? может есть проги которые делают виртуальное ядро объединяя 2 в 1 ?

  23. 29 мая 2013 в 19:44 | #23

    TuzelKO :

    а когда это сделают не слышно?

    Это нужно спрашивать у Гарри Ньюмана.

    TuzelKO :

    или например как работают сервера где по 50-100 слотов…

    Запущены на сервере с производительным серверным CPU. ЕМНИП, серверы TF2 с прошлого года поддерживают многопоточность.

    TuzelKO :

    может есть проги которые делают виртуальное ядро объединяя 2 в 1 ?

    Советую для начала прочитать что такое многопоточность. 🙂

  24. Иван
    16 июня 2014 в 22:48 | #24

    у меня в линуксе не получается даже нажать кнопку создать сервер

  25. 17 июня 2014 в 21:53 | #25

    Иван :

    у меня в линуксе не получается даже нажать кнопку создать сервер

    Загрузите и установите выделенный сервер игры.

Страницы комментариев
Представьтесь, пожалуйста! Если ваш комментарий предполагает ответ, мы ответим на него в ближайшее время. Адрес электронной почты должен быть действительным.


Внимание! Запрещено публиковать любые ссылки в тексте комментария, иначе он сразу же будет помечен как нежелательный и не будет опубликован на сайте.