Как сделать свой сервер гаррис мод. Установка и настройка выделенного сервера Garry’s Mod

Из этой статьи Вы узнаете, как можно создать свой собственный сервер для игры 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:

"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
Далее, вписываете в этот файл скрипт:


@echo off
cls
echo Running Server...
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 Server
echo WARNING: If server was closed or crashed, then restarted!
:srcds
echo (Ъte% %time%) Server started sucsessful.
reg add "HKCU\Software\Valve\Steam\ActiveProcess" /v SteamClientDll /t REG_SZ /d "" /f
start /wait srcds.exe -console -game garrysmod -port 27015 +maxplayers 32 +map gm_construct +exec server.cfg
goto srcds
exit

Скачать инструментарий:


На самом деле, ничего сложного здесь нет. Нам понадобится утилита SteamCMD. Загрузить её можно с официальной вики Valve Developers Community. Нажмите сюда для начала загрузки.
Распакуйте содержимое архива в любую папку на вашем компьютере. После чего откройте папку, и зажав клавишу SHIFT на клавиатуре, нажмите правую кнопку мыши. Далее выберите пункт "Открыть окно команд". Появится чёрное окно с одной строчкой - пути к папке. Далее всё очень просто.
Вам надо запустить SteamCMD. Для этого, в появившемся окне введите steamcmd. Начнут мелькать строчки. Пойдёт обновление утилиты. С ней в папке появится много других файлов. Не пугайтесь, так и должно быть. Когда последней строкой станет Steam> , значит, загрузка завершена.
Нам надо авторизоваться в системе Steam Community.


Для входа под своей учётной записью: Для входа введите login ваш_логин_steam ваш_пароль_steam . Вам на почту придёт SteamGuard код. Его надо будет ввести для продолжения работы.
Для входа под общественной учётной записью: Для входа введите login anonymous . И всё.

2. Указание пути для загрузки сервера


Тут команда одинакова в любом случае.
force_install_dir путь_к_папке_для_сервера
Например, force_install_dir Z:\Source\Dedicated Servers\GarrysMod
Внимание! Путь к папке для сервера не должен содержать русские буквы !


Просто введите app_update 4020 validate

В командной строке начнут бегать строчки:

Всё нормально. Когда последней строкой снова станет Steam> , введите два раза quit

Глава 2. Создание 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
И сохраните в папке с сервером как start.bat :

Заметка: Строку: srcds.exe -console -game garrysmod -secure +map gm_construct +maxplayers 32 можно изменять, добавляя свои переменные и настройки.

Можно делать первый запуск сервера. Для этого используйте файл start.bat

На этом всё. Продолжение следует . Во второй части статьи мы установим администраторскую панель на сервер, разберёмся со сменой игрового режима (по-умолчанию будет только Sandbox) и подключим к серверу аддоны из Steam WorkShop.

Создание сервера в 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 была внесена строка вида:


3. (если сервер был запущен) В консоль была введена команда exec autoexec и в принципе всё. При подключении на сервер, игрок будет видеть вашу страницу.

Некоторые веб-хостеры считают, что достаточно отредактировать файл в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.

Как создать сервер в Гаррис Мод

4 (79%) 20 голосов

Установка выделенного сервера на линуксе порой может быть весьма муторным занятием, особенно если вы пробуете это сделать в первый раз. К тому же существует огромное количество старых гайдов на тему того как создать сервер в Гаррис Мод стим версии, среди которых очень тяжело найти истину. А если что-то пошло не так? Даже решение типичных проблем может быть уже устаревшим. Надеюсь этим туториалом я помогу наставить вас на правильный путь при поднятии своего сервера в гаррис моде. По аналогии с ним вы можете установить какой угодно. Либо же можете воспользоватся другими моими руководствами о том .

Как создать сервер в Гаррис Мод Стим?

Для того чтобы начать, прежде всего вам потребуется сервер (вот это поворот). Вы можете попробовать запустить и на своем железе, либо же воспользоваться платными услугами. Рекомендовать хостера я вам пока не буду (пока), вы можете его найти сами по запросу «игровой хостинг» или типа того в гугле. Главное это приемлемое для вас соотношение цена/железо/трафик. Но совсем дешманское брать не стоит, оно может не потянуть и 10 слотов.

В этом гайде (как и в большинстве других своих гайдов, потому что деваться некуда) я использую 64 битную версию операционной системы Debian 7. Аналогию при установке можно провести с любой Linux-like ОС, и накатить все точно так же просто подкорректировав команды. Самым сходным будет, пожалуй, Ubuntu.

Так же вам потребуется:

  • Стим аккаунт, на котором будут куплены игры, контент которых вы хотите запилить на сервер.
  • Путяшечка (PuTTY) — для доступа к серверу по протоколу SSH.
  • WinSCP — для более простого редактирования и передачи файлов на сервер.

Пользователи, директории и SteamCMD

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

Итак, первым делом мы должны добавить 32 битные библиотеки, ибо ГАБЕН заклинал работать SteamCMD именно с ними. Выполняем:

apt-get install lib32gcc1

После этого, дабы если наш сервер Гаррис Мод горе хацкеры ломанут, мы специально запустим его под отличимым от суперюзера (root который) пользователем. Добавим же его:

Придумываем ему пароль, остальное можно и не заполнять. Соглашаемся. По-умолчанию его домашний каталог /home/garrysmod. Само собой, для упрощения жизни мы сразу будем работать из под созданного пользователя. Заходим под ним:

Теперь, чтобы сразу организовать некое подобие структуры сервера, перейдем в домашний каталог и создадим ряд папок:

cd /home/garrysmod

mkdir content server steamcmd content/css

Тут мы создали папку для сервера, стимцмд, и контента других игр. Начинаем работу над стимом. Переходим в его директорию, скачиваем дистрибьютив, и распаковываем его.

Вуаля, у нас есть дистр SteamCMD. При первом запуске нам нужно его обновить. Вернее он это и сам прекрасно сделает. Выполняем:

./steamcmd.sh +login anonymous +quit

Эта команда выполнит скрипт, автоматически залогинившись под анонином и сама же его завершит. Чудеса да и только. Итак, мы можем приступать к скачиванию нашего сервера Гаррис Мод. Для этого вспоминаем, что создали специальный каталог server и делаем:

./steamcmd.sh +login anonymous +force_install_dir «/home/garrysmod/server» +app_update 4020 validate +quit

Начнется процесс скачивания. Берем чашку чаю и печеньки. В данном случае скрипт стима заходит под анонимом в свою сеть, выставляет в конфигурации директорию сервера /home/garrysmod/server, выполняет команду на скачку ид 4020, который и является ид гаррис мода, после чего успешно выключает скрипт. Дожидаемся сообщения «Success! App ‘4020’ fully installed.». Переходим в директорию с сервером и проверяем что там у нас накачалось:

cd /home/garrysmod/server

Отлично! Первая часть нашего путешествия закончена.

Старт сервера и начальное конфигурирование

На этом моменте у вас должны быть работающий, чистый (без аддонов и прочего) сервер Гаррис Мода. Я полагаю, что сейчас было бы неплохо проверить нормально ли он запускается и спокойно ли вы можете к нему присоединяться. Из домашнего каталога сервера выполняем команду:

Нас должно ласково встретить примерно следующее содержимое:

Великолепно. Сервер запустился и работает. Если вы сейчас закроете окно Пути, вы его прикончите (сервер гмода), так что учтите это. Пытаемся законктится используя наш ИП и стандартный порт 27015 в игре командой connect. В моем случае все подсоединилось. Продолжаем карнавал, вводим команду quit в консоль сервера. Это его выключит и мы снова попадем в домашнюю директорию с которой его и стартовали.

Перед тем как добавить дополнительный контент и начать творить вакханалию стоит немного персонализировать ваш сервер отредактировав конфиги. Сделать это можно либо через встроенный консольный текстовой редактор типа nano, либо подняв фтп сервер и использовать FileZilla, или через тот же WinSCP. Я покажу вариант для тех кому лень, а именно через обычный текстовой редактор nano, который идет в комплекте с Дебиан.

Общее конфигурирование

Переходим в директорию с конфигурацией сервера и открываем наш файл настроек:

Перед нами не появится практически абсолютно ничего просто потому что файл пустой. Мы будем наполнять его сами. Для совсем ленивых могу предложить вариант этого сервиса . Тут просто повыбирать галочками, что вы хотите и снизу появиться полная конфигурация которую просто надо скопировать и сохранить. Ниже представлен пример базовой конфигурации, которую мы просто скопируем «лишь бы работало».

hostname «сайт»
rcon_password «»
sv_password «»
sv_region 255
sv_lan 0
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0
sv_noclipspeed 5
sv_noclipaccelerate 5
logging on
//Настройки песочницы
sbox_allownpcs 0
sbox_godmode 0
sbox_plpldamage 0
sbox_playergod 0
sbox_noclip 1
sbox_maxprops 250
sbox_maxragdolls 5
sbox_maxnpcs 5
sbox_maxballoons 25
sbox_maxeffects 25
sbox_maxdynamite 5
sbox_maxlamps 10
sbox_maxthrusters 250
sbox_maxwheels 50
sbox_maxhoverballs 50
sbox_maxvehicles 8
sbox_maxbuttons 50
sbox_maxsents 20
sbox_maxemitters 5
sbox_maxspawners 3
sbox_maxturrets 10
//Настройки сервера
net_maxfilesize 30
sv_minrate 0
sv_maxrate 2500
decalfrequency 10
sv_maxupdaterate 66
sv_minupdaterate 10
//Извлечь настройки банов
exec banned_ip.cfg
exec banned_user.cfg

Выбираем все это, копируем. Переходим в консоль, один раз нажимаем правой кнопкой мыши и это все магией телепорта появляется там. Нажимаем комбинацию Ctrl — X и соглашаемся на перезапись файла.

Загрузка и импортирование дополнительного контента для Гаррис Мода

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

Тестовый контент мы добавим из игры Counter-Strike: Global Offensive (ее ИД 740, коды других игр можно ), как пример игры, для которой нужна купленная лицензия на аккаунте. Мы должны залогинится под именем пользователя из под которого запускается сервер и снова перейти в директорию стима:

cd /home/garrysmod/steamcmd

Теперь мы фактически запускаем тоже самое скачивание игры, только используя другой аккаунт и другую, ранее созданную нами директорию (content/css).

./steamcmd.sh +login user pass +force_install_dir /home/garrysmod/content/css +app_update 740 validate +exit

Меня дружелюбно встретила надпись от Steam Guard о том, что мне надо подтвердить то что я не своровал этот аккаунт при помощи письма на почте (будто я бы и почту не своровал если хотел бы) и кода. Вводим код и нажимаем Enter. Пошел процесс скачивания. Дожидаемся надписи «Success! App ‘740’ fully installed». Пришло время монтирования скачанного нами пакета в систему Гаррис Мод. Для этого нужно отредактировать лишь один файл:

cd /home/garrysmod/server/garrysmod/cfg

По-умолчанию данный файл предназначен для Windows систем. Нам надо лишь подставить нашу игру и наш путь в системе. Приводим файл к такому виду:

//
// Use this file to mount additional paths to the filesystem
// DO NOT add a slash to the end of the filename
//

«mountcfg»
{
// «cstrike» «C:\steamcmd\steamapps\common\Counter-Strike Source Ded$
// «tf» «C:\mytf2server\tf»
«csgo» «/home/garrysmod/content/css/csgo»
}

Сохраняем файл все теми же комбинациями. Переходим в папку сервера и пытаемся опять запустить.

cd /home/garrysmod/server

./srcds_run -console -game garrysmod +maxplayers 16 +map gm_construct

При успешном запуске и конфигурировани мы увидим эти сообщения:

Adding Path: FIND ADDING

Соответственно наши файлы успешно замаунтились. Проверяем в игре. Все работает.

Великолепно! Если это у вас получилось с первого раза:

Теперь вы можете повторить эти действия добавив нужные вам игры, предварительно создав для них директории и прописав нужные в файле mount.cfg. Мы на финишной прямой. Закрываем наш сервер через комбинацию Ctrl — C либо командой quit.

Запуск в фоне и Воркшоп

Как вы могли заметить, мы с вами никак не могли просто запустить сервер и заняться своими делами. Для этого и существует утилита screen. Устанавливаем ее:

Теперь, перед тем как запустить сервер гаррис мод с воркшопом нам необходимо создать коллекцию в стиме используя этот самый воркшоп . Данный путь вроде и так неплохо задокументирован, особенно на иностранных источниках, по-этому примените тут немного гугл-магии.

Для того чтобы запустить сервер без воркшопа используем:

cd /home/garrysmod/server

screen -A -m -d -S garry ./srcds_run -console -game garrysmod +maxplayers 16 +map gm_construct

Используем воркшоп контент:

cd /home/garrysmod/server

screen -A -m -d -S garry ./srcds_run -console -game garrysmod +maxplayers 16 +map gm_construct +host_workshop_collection XXXX -authkey YYYY

Соответственно делаем замену ХХХХ на ваш колекшн ИД и YYYY — на ключ авторизации.

При запуске команды вам покажется, что ничего не произошло. Но на самом деле он запустил в бекграунде сервер и пометил его как garry. Вводим и выполняем:

Это откроет окно того самого сервера Гаррис Мода, что мы только что запустили. Для того чтобы опять отсоединиться и оставить его работать в фоне выполняем Ctrl — d + r.

Напутственное слово

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