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

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

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

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

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

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

В отличие от слушающих серверов других 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 в настройках своего роутера (модема). Обычно проброс портов настраивается в веб-интерфейсе роутера в разделе NAT — Port Forwarding или NAT — Virtual 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\common\garrysmod\garrysmod\settings\users.txt , где %Steam% — путь к установленному клиенту Steam. В этот файл и прописываются администраторы сервера по SteamID. Ищем в этом файле раздел «superadmin» и после строки //»garry» «STEAM_0:1:7099» жмём Enter (начинаем новую строку) и пишем свою в виде «ВАШ_НИК» «STEAM_0:1:XXXXXXXXX» , где ВАШ_НИК — это ник админа, который будет в списке вывода админов сервера (здесь разрешено вводить только латинские буквы и цифры без пробелов; кавычки обязательны), а STEAM_0:1:XXXXXXXXX — это Ваш SteamID (замените на настоящий, естественно ;-)), полученный на 3 шаге. Здесь же после этой строчки может добавить и своих друзей (но я бы не рекомендовал этого делать; одного админа вполне достаточно).
  6. Качаем и распаковываем архив с файлами конфигурации в папку %Steam%\steamapps\common\garrysmod\garrysmod\cfg\ , где %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\common\garrysmod\garrysmod\data\ulx\motd.txt , где %Steam% — путь к установленному клиенту Steam. Это обычный HTML-файл.

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

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

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

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

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

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

134 комментария к записи

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

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

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

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

Даниил :

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

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

Даниил :

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

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

Даниил :

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

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

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

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

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

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

Александр :

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

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

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

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

Александр :

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

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

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

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

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

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

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

TuzelKO :

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

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

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

TuzelKO :

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

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

TuzelKO :

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

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

TuzelKO :

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

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

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

Иван :

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

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

Эммм. а где надпись создать сервер

Раньше была в главном меню игры.

Я открыл порты и всё равно у людей сервер не отвечает. Как исправить?

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

Скажите пожалуйста как поставить пароль на сервер?!

Установить его в конфиге сервера, в переменной sv_password.

А как через uLX запретить модераторам тпхаться к админам?

Что делать, у меня в папке garrysmod нет папки lua. Где её скачать?

Аддоны сейчас устанавливаются при помощи Steam Workshop. Все действия по установке производятся автоматически.

📎📎📎📎📎📎📎📎📎📎