Из этой статьи Вы узнаете, как можно создать свой собственный сервер для игры Garry"s Mod, созданной на движке Source .
Инструментарий:
1. HLDS updatetool configurator!
2. Отучалка от STEAM.
Все это можно скачать, проскроллив до конца статейку.
Установка сервера:
1. Создаем любую папку, на любом диске, например C:\Server\GMod. Далее запускаем скачанный HLDS updatetool configurator и для удобства помещаем его в C:\Server\GMod.
2. Далее запускаем программу. Нам предложать выбрать язык. Вы можете выбрать любой, а я выберу Русский. И жмем “ОК”. Если у вас нет HLDSUpdateTool, то вы можете скачать его через программу. В главном окне программы в первом поле выбираем HLDSUpdatetool.exe, в след. выпадающем списке “Not from VALVE”, далее “Garry"s Mod” и в последнем поле папку, куда скачивать сервер. (!!!ВНИМАНИЕ!!! ПУТЬ НЕ ДОЛЖЕН СОДЕРЖАТЬ ПРОБЕЛОВ!)
После всех этих манипуляций жмем “Начать скачивание” и наслаждаемся прекрасным видом скачивающегося сервера.
Дождитесь, когда сервер докачается и можно приступать к следующему шагу!
Установка эмулятора:
Запускаете скачанный Вами эмулятор и устанавливаете его в ту же папку, что и сервер!
Как ни странно, но это все.
Настройка:
Начальная настройка производится в файле server.cfg.
Этот файл проживает по адресу: Путь до сервера/orangebox/garrysmod/cfg.
Вот примера файла server.cfg:
"hostname" "--server name here--"
"rcon_password" "--rcon pass here--"
"sv_password" ""
"sv_region" "0" // eastcoast: 0 - westcoast: 1 - south america: 2 - europe: 3 - asia: 4 - australia: 5 - middle east: 6 - africa: 7 - world: 255
"sv_lan" "0"
sv_tags "no-steam"
sv_use_steam_voice 0
sv_alltalk 1
mp_timelimit 60
decalfrequency 0
sv_voiceenable 1
sv_allowupload 1
sv_allowdownload 1
// Sandbox server settings
"sbox_allownpcs" "1"
"sbox_godmode" "0"
"sbox_plpldamage" "0" // set this to 1 to disable player vs player damage.
"sbox_playergod" "0"
"sbox_noclip" "1"
// Sandbox limits
"sbox_maxprops" "150"
"sbox_maxragdolls" "5"
"sbox_maxnpcs" "10"
"sbox_maxballoons" "10"
"sbox_maxeffects" "50"
"sbox_maxdynamite" "10"
"sbox_maxlamps" "20"
"sbox_maxthrusters" "30"
"sbox_maxwheels" "20"
"sbox_maxhoverballs" "20"
"sbox_maxvehicles" "6"
"sbox_maxbuttons" "20"
"sbox_maxsents" "20"
"sbox_maxemitters" "5"
"sbox_maxspawners" "3"
"sbox_maxturrets" "2"
// Sandbox WIRE limits
// If you are not running wire addon, remove this entire section.
"sbox_maxwire_wheels" "20"
"sbox_maxwire_waypoints" "30"
"sbox_maxwire_values" "20"
"sbox_maxwire_twoway_radioes" "30"
"sbox_maxwire_turret" "10"
"sbox_maxwire_thrusters" "30"
"sbox_maxwire_target_finders" "10"
"sbox_maxwire_speedometers" "14"
"sbox_maxwire_emitters" "25"
"sbox_maxwire_simple_explosive" "30"
"sbox_maxwire_sensors" "30"
"sbox_maxwire_screens" "20"
"sbox_maxwire_relays" "20"
"sbox_maxwire_rangers" "20"
"sbox_maxwire_radioes" "30"
"sbox_maxwire_sockets" "20"
"sbox_maxwire_plugs" "20"
"sbox_maxwire_pixels" "20"
"sbox_maxwire_panels" "20"
"sbox_maxwire_outputs" "20"
"sbox_maxwire_oscilloscopes" "20"
"sbox_maxwire_locators" "30"
"sbox_maxwire_lights" "16"
"sbox_maxwire_inputs" "20"
"sbox_maxwire_indicators" "21"
"sbox_maxwire_hoverballs" "20"
"sbox_maxwire_gyroscopes" "10"
"sbox_maxwire_gpss" "10"
"sbox_maxwire_gate_trigs" "30"
"sbox_maxwire_gate_times" "30"
"sbox_maxwire_gate_selections" "30"
"sbox_maxwire_gate_memorys" "30"
"sbox_maxwire_gate_logics" "30"
"sbox_maxwire_gate_comparisons" "30"
"sbox_maxwire_gates" "50"
"sbox_maxwire_explosive" "30"
"sbox_maxwire_dual_inputs" "20"
"sbox_maxwire_detonators" "20"
"sbox_maxwire_buttons" "25"
"sbox_maxwire_adv_inputs" "20"
Запуск:
Существуют два способа запуска сервера:
1. В консольном режиме
2. Стандартный, через файл srcds.exe
Как запустить в консольном режиме?
Создаете текстовый файл, например, start.txt рядом с файлом srcds.exe
Создание сервера в Garry"s Mod
В данном руководстве мы установим и настроим выделенный сервер игры Garry"s Mod на вашем домашнем компьютере.
Введение
Что такое выделенный сервер? Это отдельно запущенный сервер для игры, на котором собираются игроки. Обычно такие сервера располагаются в специальных дата-центрах, которые круглосуточно держат сервер запущенным, но к сожалению не многие могут позволить себе такое, ибо как вы понимаете, выделенные машины нужно оплачивать.
В этом руководстве мы поговорим об установке и запуске выделенного сервера игры Garry"s Mod на вашем домашнем компьютере.
Внимание! Несмотря на то, что в файле srcds_watcher.bat некоторые команды у меня были на другой строке, у вас всё должно находится на одной!
На самом деле, ничего сложного здесь нет. Нам понадобится утилита SteamCMD. Загрузить её можно с официальной вики Valve Developers. Загрузить SteamCMD
Я буду рассматривать установку на операционной системе Windows. Распакуем в любую папку на своём компьютере. Я, например, распаковал по пути: C:\Users\CrazyHackGUT\Desktop\SteamCMD .
Теперь открываем папку со SteamCMD, и делаем нажатием правой кнопки мышки с зажатым клавиши Shift. Появится меню папки.
Нам нужен пункт «Открыть окно команд» (на разных операционных системах и название может быть разным).
После нажатия появится чёрное окно с одной единственной строкой - пути к папке.
Введите steamcmd. Если вы первый раз запускаете утилиту, то она будет загружать необходимые для работы библиотеки.
После обновления вводите поочерёдно следующие команды:
login anonymous force_install_dir %путь_к_будущему_серверу% app_update 4020 validate
Например, я ввёл:
login anonymous force_install_dir G:\servers\gmod app_update 4020 validate
По окончанию загрузки введите: Можно также сделать более автоматизированную установку сервера. Создайте ярлык на SteamCMD. А после пропишите в ярлыке следующее, в пути файла:
«путь_к_SteamCMD» +login anonymous +force_install_dir %путь_к_будущему_серверу% +app_update 4020 validate +quit
После установки сервера он будет находиться там, куда вы указали его установку:
Создание монитора крашей сервера
Нам надо создать bat-ник, который будет следить за сервером, и в случае чего, перезапускать его.
Скопируйте следующие строки в Блокнот и сохраните файл как SRCDS_Watcher.bat перед этим установив тип файла «Все файлы».
@echo off cls echo Protecting Garry"s Mod server (srcds.exe) for crashes... echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter. title GARRY"S MOD - WATCHDOG:srcds echo (%time%) srcds started. srcds.exe -console -game garrysmod -secure +map gm_construct +maxplayers 32 echo (%time%) WARNING: srcds closed or crashed, restarting. goto srcds
Строку:
srcds.exe -console -game garrysmod -secure +map gm_construct +maxplayers 32
Можно изменять, добавляя свои переменные и настройки.
Своя страница при подключении к серверу
Подключаясь на разные сервера, вы могли заметить всякие красивые страницы, на которых обычно указаны правила, приветствие для вас и прочее. На самом деле, это не особо сложно сделать. Всё что надо - знать HTML и CSS, иметь веб-хостинг или открытые порты. На крайний случай можно скачать любой шаблон из Интернета и переделать под себя.
По окончанию у нас получилась вот такого плана страничка:
Все файлы страницы вы можете скачать и отредактировать под себя.
И так, что было предпринято:
1. Были загружены файлы страницы на веб-хостинг, откуда доступ к странице появился из Браузера (если нету хоста, открываем порт 80, скачиваем OpenServer и настраиваем его по инструкциям из Интернета).
2. В файл autoexec.cfg была внесена строка вида:
Некоторые веб-хостеры считают, что достаточно отредактировать файл вgarrysmod/html для того, чтобы сделать уникальную страницу без веб-хостинга. Это ошибочное мнение. Данный файл предназначен для клиента игры, если сервер не имеет своей нестандартной страницы. Просто его забыли убрать из комплектации сервера.
Установка админки
До этого этапа у вас на сервере абсолютно отсутствует нормальная админка. То есть всё управление сервером производится через консоль, через RCON. А на многих серверах, как вы видели, есть графическая панель администратора. В этой главе мы её установкой и займёмся.
Это моя немного переведённая версия. Графического интерфейса этот мод не имеет. Сейчас объясню, как настраивать тэги.
Загрузив архив, распакуйте его полностью в %путь_к_серверу%\garrysmod\addons
Нужный вам файл - cl_tag.lua
Откройте его любым редактором, который поддерживает кодировку UTF-8 без BOM
. Например, Notepad++
ПРИМЕЧАНИЕ: Блокнот, встроенный в Windows, не поддерживает данную кодировку!
Открыв Notepad++ (или свой редактор), сразу переведите его в чтение кодировки UTF-8 без BOM , и начинайте редактировать!
Нужная вам часть прокомментирована достаточно.
Вам надо добавить лишь строку вида:
{"user", "ИГРОК ", Color(RED COLOR, GREEN COLOR, BLUE COLOR, 255) },
У меня файл выглядит так (нужная часть):
{"user", "ИГРОК ", Color(255, 255, 255, 255) },
{"admin", "АДМИНИСТРАТОР ", Color(0, 0, 255, 255) },
{"superadmin", "ЗАМ. ГЛАВНОГО АДМИНИСТРАТОРА ", Color(255, 0, 0, 255) },
{"Owner", "БОГ СЕРВЕРА ", Color(255, 105, 0, 255) },
{"VIP", "VIP ", Color(255, 0, 0, 255) }}
В последней строке цвета, как вы заметили, запятой нет. Её и не должно быть в последней строке.
Подключение аддона к вашему серверу через Мастерскую
Как вы видели ранее на этом скрине, у меня загружаются аддоны из мастерской. На этом этапе мы настроим загрузку сервером этих самых аддонов.
На самом деле, всё очень просто. Нам надо завести ключ аутентификации SteamWeb API, создать коллекцию и подключить всё это дело к серверу.
Приступим.
1. Создание ключа SteamWeb API.
Здесь всё очень просто. Вам надо ввести предполагаемый адрес сайта, на котором данный ключ и будет использоваться. Поскольку это сервер, можете ввести туда:
После того, как вы введёте "адрес" и нажмёте "Зарегистрировать", страница обновится и примет вид:
То, что идёт после надписи это ключ - необходимая вам строка. Копируем её содержимое и вставляем в батник, в строку запуска сервера (читайте прошлые главы руководства, там рассказано о создании анти крашевой системы) параметр:
Authkey %полученный ключ%
Первый этап завершён.
2. Создание коллекции для сервера.
Нажмите сюда для начала создания коллекции.
Заполняем все поля, не трогаем тэги. Они необязательны. И жмём на кнопку внизу:
Нам дают возможность пополнить коллекцию либо своими аддонами\содержимым уже созданных коллекций, либо воспользоваться аддонами, на которые подписаны. Добавляем нужные вам аддоны, и жмём «Сохранить и продолжить».
Вылезает страница коллекции с надписью: Эта коллекция ещё не опубликована . Зайдите в , просмотрите и добавьте аддоны, кнопкой Добавить в коллекцию на странице аддона. Либо опубликовать и начать подключение к серверу.
Я опубликую коллекцию нажатием на кнопку: Опубликовать
.
Ещё один этап завершён.
3. Подключение коллекции к серверу.
Все операции я выполнял через браузер, как вы уже догадались. Можно и через Steam.
Открываем страницу коллекции.
И из адресной строки копируем ID. Он нам нужен.
Теперь открываем файл SRCDS_Watcher.bat блокнотом. И добавляем в конец строки запуска сервера строку:
Host_workshop_collection %ID_коллекции%
Запускаем сервер. Он немного подумает, и начнёт подключение к мастерской. Если вы впервые запустили сервер после подключения коллекции, то он начнёт загрузку аддонов.
Если не в первый раз и в коллекцию ничего не добавляли, то просто запустится.
Если добавили два-три аддона, то ещё загрузит их.
Теперь можете подключаться к серверу и баловаться с новыми пропами, рэгдоллами и прочей хренью.
// "tf" "C:\mytf2server\tf"}
Надоел Sandbox? Хотим поставить TTT (Trouble in Terror Town) или другой игровой режим? Всё очень просто!
Устанавливаем в коллекцию аддон нужного игрового режима (если не TTT) и распаковываем архив так, чтобы содержимое папки аддона gamemodes оказалось в gamemodes сервера. То есть вот так, как показано сбоку. После пишим в батник строку вида +gamemode *имя_папки_из_gamemodes* . Смотрите образец:
Например: +gamemode cinema
После запуска сервера видим промелькающую строку смены игрового режима.
Часто задаваемые вопросы
Q:
Помогите! У меня сервер не работает.
A: Сначала стоит выучить русский язык и проверить, правильно ли всё набрано.
Вопрос:
Не загружаются аддоны из Steam Workshop.
Ответ: Серьёзно, я не знаю, как это у вас получается. Попробуйте установить на свой компьютер это . Если проблема не решится, пишите мне в Steam, разберёмся.
Вопрос:
Как обновлять сервер?
Ответ: Точно так же, как и устанавливать.
Вопрос:
У меня небольшие неполадки при загрузке. SteamCMD пишет ERROR: ... \ srcds пишет ERROR: ...
Ответ: Какая бы ошибка там не скрывалась, я могу попробовать помочь вам. Напишите мне в Steam.
Как создать сервер Garry"s mod?
Garry"s Mod формально является очередной модификацией всеми известного шутера Half-Life2. Целью создания этой модификации стала демонстрация движка Source, в которой игроку предоставляется возможность проводить эксперименты с физикой и взаимодействовать с объектами.
Сервер может быть двух типов - слушающий и выделенный, которые имеют как плюсы, так и минусы в отношении друг друга.
Началом настройки является подготовка "рабочего места". Подключение к вашему серверу возможно только в случае наличия постоянного IP-адреса во внешней сети. Иначе, если динамически обновляемый IP-адрес, воспользуйтесь сервисом NO-IP, который позволяет привязать IP к доменному имени. Установите программу с этого сервиса. Ее задача - автоматически обновлять IP-адрес к привязанному имени, обновление адреса происходит каждые 5 минут. Минусом динамически обновляемого IP является то, что в случае отключения интернета нужно обновлять его в присвоенном имени.
Второй шаг - открыть порт, на который будет настроен сервер (UDP - для клиентов и TCP - для удаленного администрирования)
Настройка не требует специальных программ, также данный способ подойдет и для пиратских версий клиента Garry"s Mod.
Не сворачивайте игру, иначе к вам не смогут подключиться.
Завершающий этап настройки сервера - установка плагинов и добавление администраторов.
Запускаем файл запуска и в клиенте, выполнив команду connect IP (или имя настроенное в сервисе NO-IP):Порт, подключаемся к серверу.
В игре можно воссоздать множество необычных объектов. Перейдя по ссылке, вы узнаете, .
На самом деле, ничего сложного здесь нет. Нам понадобится утилита SteamCMD. Загрузить её можно с официальной вики Valve Developers Community. Нажмите сюда для начала загрузки.
Распакуйте содержимое архива в любую папку на вашем компьютере. После чего откройте папку, и зажав клавишу SHIFT на клавиатуре, нажмите правую кнопку мыши. Далее выберите пункт "Открыть окно команд". Появится чёрное окно с одной строчкой - пути к папке. Далее всё очень просто.
Вам надо запустить SteamCMD. Для этого, в появившемся окне введите steamcmd. Начнут мелькать строчки. Пойдёт обновление утилиты. С ней в папке появится много других файлов. Не пугайтесь, так и должно быть. Когда последней строкой станет Steam>
, значит, загрузка завершена.
Нам надо авторизоваться в системе Steam Community.
2. Указание пути для загрузки сервера
В командной строке начнут бегать строчки:
Всё нормально. Когда последней строкой снова станет Steam> , введите два раза quit
Глава 2. Создание bat-файла
Заметка: Строку: srcds.exe -console -game garrysmod -secure +map gm_construct +maxplayers 32 можно изменять, добавляя свои переменные и настройки.
Можно делать первый запуск сервера. Для этого используйте файл start.bat
На этом всё. Продолжение следует . Во второй части статьи мы установим администраторскую панель на сервер, разберёмся со сменой игрового режима (по-умолчанию будет только Sandbox) и подключим к серверу аддоны из Steam WorkShop.