Настройка сервера Garrys Mod

Инструкции предназначены для 32-битной Ubuntu 14.04, но должны работать на всех версиях Ubuntu. Из этого туториала вы узнаете, как создать игровой сервер Garry's Mod.

Войдите через терминал как root.

Во-первых, нам нужно убедиться, что брандмауэр защищен, чтобы уменьшить вероятность проблем с безопасностью. Предполагая, что этот сервер будет выделен для мода Garry, безопасно заблокировать абсолютно все входящие порты (включая ICMP), кроме тех, которые требуются для мода Garry. ICMP не требуется для работы сервера, и его полная блокировка не окажет негативного влияния на мод Garry's, однако это поможет уменьшить векторы атак DDoS-атаки.

Чтобы заблокировать все ненужные порты, необходимы следующие команды:

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP

Это в основном говорит брандмауэру игнорировать каждый пакет ICMP, который он получает, и не предпринимать никаких действий с ним. Это также означает, что если кто-то попытается пропинговать ваш сервер, он не получит ответа. Вторая строка указывает брандмауэру блокировать все исходящие ICMP-пакеты, это гораздо менее важно, но только двойная гарантирует, что ICMP-соединения не будет.

Далее нам нужно специально разрешить все порты, необходимые для мода Гарри (27005 - 27015 включительно), с помощью этих команд:

iptables -I INPUT -p tcp --dport 27005:27015 -j ACCEPT
iptables -I INPUT -p udp --dport 27005:27015 -j ACCEPT

Это говорит о том, что все порты между 27005 и 27015 разрешены. Первая команда предназначена для TCP, а вторая - для UDP. Вторая команда (UDP) здесь наиболее важна, так как почти вся связь между сервером и игроками осуществляется по UDP. Некоторые люди сообщают о проблемах с заблокированным TCP, поэтому по этой причине мы должны это разрешить.

Теперь мы хотим сообщить брандмауэру, чтобы разрешить соединения, которые мы открыли сами (или программное обеспечение на сервере). Это означает, что если мы свяжемся с сервером, мы сможем увидеть ответ. Введите эту команду, чтобы разрешить это:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Если вы будете использовать SSH для управления сервером (а не консоль в своей учетной записи), эта команда необходима для того, чтобы SSH работал на стандартном порту. Если вы не используете SSH, не запускайте это:

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

И, наконец, последняя команда для настройки брандмауэра. Эта команда заблокирует все входящие соединения, кроме тех, которые мы разрешили:

iptables -A INPUT -j REJECT

Эти настройки применяются только до тех пор, пока мы не перезапустим наш сервер, а это значит, что нам придется вручную переконфигурировать его при каждой перезагрузке компьютера. Это неприемлемо, поэтому необходимо установить пакет, который сохраняет правила брандмауэра в файл, а затем загружает его каждый раз при запуске сервера. Чтобы установить этот пакет, введите следующее:

apt-get install iptables-persistent

Следуйте инструкциям на экране. Когда вас спросят, хотите ли вы сохранить текущие правила брандмауэра, нажмите да.

Теперь наш брандмауэр настроен, и больше не требуется никакой настройки в отношении брандмауэра.

Если вы используете SSH, вам следует установить пакет, который автоматически блокирует соединение людей с сервером, если они продолжают пытаться использовать неверный пароль SSH. Это очень полезно для предотвращения подбора вашего пароля SSH ». Чтобы установить пакет, используйте следующую команду:

apt-get install fail2ban

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

Далее нам нужно установить «экран». Это в основном позволяет выполнять команды непрерывно, даже если вы выходите из системы с сервера. Это жизненно важно, чтобы ваш сервер Garry Mod работал непрерывно в течение длительного времени, особенно когда вы управляете сервером по SSH. Чтобы установить «экран», введите следующее:

apt-get install screen

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

screen

Отказ от ответственности появится на экране, просто нажмите Enter, чтобы продолжить. Ввод screenна экране запуска консоли и позволяет вам работать внутри виртуальной консоли, если вы отключаетесь от SSH или выходите из системы, эта виртуальная консоль будет продолжать работать с вашей командой в стороне от нее (сервер Mod Garry работает как команда Linux, поэтому это где мы должны использовать экран).

Теперь, прежде чем устанавливать Steam, Garry's Mod и необходимые файлы, нам нужна отдельная учетная запись. Я предлагаю назвать это steam. Чтобы создать новую учетную запись, введите следующее:

adduser steam

Вам нужно использовать пароль, отличный от вашего пароля root, чтобы сохранить все в безопасности. Вы очень редко будете использовать этот пароль. Вам будет задано несколько вопросов об учетной записи, таких как полное имя, номер телефона и т. Д. Оставьте все эти поля пустыми.

Теперь мы хотим войти в учетную запись «steam», пока мы загружаем все необходимые файлы. Это означает, что «steam» получает все права доступа к этим файлам, а разрешения Linux установлены правильно без какой-либо настройки. Гораздо сложнее получить правильные разрешения, если вы установите Steam от имени пользователя root, а затем попытаетесь изменить эти разрешения. Чтобы войти в систему как steam, введите следующее:

su steam

Нам нужен каталог (папка) для сохранения программного обеспечения Steam. Чтобы создать каталог, используйте эту команду:

mkdir ~/Steam

Теперь мы хотим быть внутри этого каталога. Чтобы сделать его текущим рабочим каталогом, введите следующее:

cd ~/Steam

Теперь нам нужно загрузить программное обеспечение Steam, набрав:

wget http://media.steampowered.com/client/steamcmd_linux.tar.gz

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

tar -xvzf steamcmd_linux.tar.gz

Если вы используете 64-битную ОС, вам нужно установить 32-битные библиотеки для запуска Steam.

apt-get install lib32stdc++6
apt-get install lib32gcc1

Запустите следующую команду, чтобы открыть Steam, скажите, чтобы он входил в систему как «анонимный» (учетная запись Steam, которую каждый может использовать для загрузки бесплатного программного обеспечения со своих серверов), и попросите его установить сервер Garry's Mod в папку gmodds (хранится в домашний каталог аккаунта Steam).

./steamcmd.sh +login anonymous +force_install_dir ../gmodds +app_update 4020 validate +quit

Мы можем ожидать, что эта команда будет длиться долго, но мы можем наблюдать за ее выполнением. Возможно, что эта команда потерпит неудачу, серверы Steam нередко сталкиваются с небольшими трудностями, которые приводят к сбою загрузки (или не запуску вообще). Если это произойдет, просто запустите его снова.

Как только эта команда будет выполнена, у нас будет рабочая копия мод-сервера Garry, однако для большинства модов Garry требуется установить CounterStrike: Source (сокращенно CS: S). Чтобы установить CS: S, выполните следующую команду:

./steamcmd.sh +login anonymous +force_install_dir ../cssds +app_update 232330 validate +quit

Эта команда также займет некоторое время.

После установки Garry Mod и CounterStrike их необходимо связать вместе с помощью файла конфигурации. Для этого нам нужно отредактировать следующий файл с помощью этой команды:

nano /home/steam/gmodds/garrysmod/cfg/mount.cfg

В строке, содержащей «cstrike», нам нужно удалить две косые черты (//) в начале строки, а затем заменить весь участок пути строки (начинается с C:/). Эта часть строки должна быть заменена на:

/home/steam/cssds/cstrike

Теперь вся строка должна выглядеть так:

"cstrike"       "/home/steam/cssds/cstrike"

Перед словом cstrike должно быть пространство табуляции, и строка нигде не должна содержать двойной косой черты (//). Когда вы закончите, вы можете сохранить этот файл с помощью Ctrl + X, а затем Y. Это говорит моду Гарри, где найти CounterStrike, чтобы его можно было использовать.

Теперь у нас установлен базовый Mod-сервер Garry. Чтобы запустить его, убедитесь, что мы находимся в правильном каталоге с этой командой:

cd /home/steam/gmodds/

Затем выполните следующую команду:

./srcds_run -game garrysmod +gamemode terrortown +maxplayers 16 +map cs_office

Как только он запустится, вы сможете присоединиться, набрав в консоли Garry's Mod Console следующее (НЕ серверный терминал):

connect IP_ADDRESS

Замените IP_ADDRESSна IP-адрес сервера. Если вы не знаете свой IP-адрес, введите следующее в терминале сервера, чтобы узнать, что это такое:

url -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

Если вы хотите изменить количество игроков, разрешенных на вашем сервере, остановите сервер, нажав Ctrl + C, и снова введите команду запуска, но замените его maxplayers 16на maxplayers x(измените xколичество игроков на нужное). Чтобы изменить карту по умолчанию (первая играемая карта), замените ее cs_officeна название карты, которую вы хотите. И, наконец, чтобы изменить режим игры, замените terrortownрежим игры, который вы хотите. Garry's Mod поставляется только с terrortown(Short for Trouble in Terrorist Town) и Sandbox по умолчанию.

Для дальнейшей настройки сервера существует файл конфигурации, который можно редактировать. Каждая строка в этом файле называется переменной конфигурации (cVar). Запустите эту команду для редактирования файла:

nano /home/steam/gmodds/garrysmod/cfg/server.cfg

Следующие значения могут быть изменены, я объясню, что каждый из них делает в ближайшее время:

hostname "server name"
sv_downloadurl "http://example.com/files/"
sv_allowupload 1
sv_password "secret password"
sv_timeout 60

Изменение значения имени хоста позволяет вам изменить имя вашего сервера. Он будет называться «Garry's Mod», если вы его не измените. Например, это будет называть ваш сервер "Мой крутой сервер":

hostname "My cool server"

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

sv_downloadurlПеременный позволяет выбрать , где содержание пользовательского сервера загружаются с. Пользовательский контент включает в себя мод карты Гарри, звуки, дополнения и текстуры. По умолчанию мод Garry's Mod позволяет загружать данные с вашего сервера только с очень низкой скоростью, поэтому нам необходимо предоставить URL-адрес, с которого данные можно загружать с полной скоростью. Предоставленный вами URL-адрес должен быть клоном вашей папки "garrysmod", чтобы все файлы были доступны.

sv_allowuploadМожет иметь два варианта, 0 или 1, это указывает, хотите ли вы, чтобы люди могли загружать контент на сервер. Это используется только для распыления (графика, которую игроки могут распылять на стены) и может вызвать проблемы с безопасностью. Спреи часто запрашиваются, поэтому использование «1» сделает игроков счастливыми, но «0» сделает ваш сервер более безопасным.

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

sv_timeoutколичество времени в секундах, которое вы хотите, чтобы сервер ждал, прежде чем ударить кого-то, кто потерял соединение. Сервер будет автоматически ждать, пока они вернут свое соединение, но пока это происходит, проигрыватель будет стоять на месте. Лучше иметь это на 60 или менее секунд. После того, как вы изменили эти настройки, требуется перезагрузка сервера.

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

cd /home/steam/gmodds/garrysmod/addons/
wget http://example.com/addon.zip
unzip addon.zip

Замените http://example.com/addon.zipURL-адресом, где расположен аддон. Вам также нужно будет изменить addon.zipимя zip-файла аддона. Теперь аддон загружен и разархивирован, вы можете удалить zip-файл, чтобы сэкономить место, например:

rm addon.zip

Снова замените addon.zipфактическим именем zip-файла.

Если сервер в данный момент работает, необходимо перезапустить его с помощью Ctrl + C и еще раз ввести команду запуска. Вы можете нажать стрелку вверх на клавиатуре, чтобы автоматически вставить последнюю команду, которую вы выполнили.

Если вы потеряете SSH-соединение, при повторном подключении вам нужно будет выполнить команду screen -r command, которая позволит вам возобновить с того места, где вы в последний раз были (игровая консоль).



Leave a Comment

Создание сервера Teamspeak 3 в Ubuntu 14 64-bit

Создание сервера Teamspeak 3 в Ubuntu 14 64-bit

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

Как настроить сервер Left 4 Dead 2 в Ubuntu

Как настроить сервер Left 4 Dead 2 в Ubuntu

В этом руководстве вы узнаете, как настроить сервер Left 4 Dead 2 в Ubuntu. Это руководство было протестировано на сервере Ubuntu 15.10. Необходимые условия обновления th

Как установить Starbound Server в CentOS 7

Как установить Starbound Server в CentOS 7

Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.

Как установить Unturned 2.2.5 на CentOS 6

Как установить Unturned 2.2.5 на CentOS 6

В этом руководстве вы узнаете, как настроить сервер Unturned 2.2.5 на Vultr VPS с CentOS 6. Примечание. Это отредактированная версия Unturned, которая не

Как установить сервер FiveM в Ubuntu 19.04

Как установить сервер FiveM в Ubuntu 19.04

Предварительные условия Система Linux под управлением Ubuntu 19.04 с как минимум 1 ядром ЦП и 2 ГБ памяти. Пользователь без полномочий root в системе Прежде чем мы начнем Чтобы убедиться, что вы

Настройка Counter Strike: Source в Debian

Настройка Counter Strike: Source в Debian

В этом руководстве мы будем настраивать игровой сервер Counter Strike: Source на Debian 7. Эти команды были протестированы на Debian 7, но они также должны работать.

Как настроить сервер Tekkit Classic в Ubuntu 16.10

Как настроить сервер Tekkit Classic в Ubuntu 16.10

Используете другую систему? Что такое Tekkit Classic? Tekkit Classic - это модпак для игры, которую все знают и любят; Майнкрафт. Он содержит некоторые вер

Настройка Multi Theft Auto Server в Debian

Настройка Multi Theft Auto Server в Debian

Это руководство объясняет, как установить сервер Multi Theft Auto в Debian. Последнее обновление для Debian 7 и MTA 1.5.4. Любой VPS от Вультр это грей

Как установить мультиплеер SA-MP San Andreas на CentOS 7

Как установить мультиплеер SA-MP San Andreas на CentOS 7

Из этого руководства вы узнаете, как настроить сервер SA-MP (San Andreas Multiplayer) в CentOS 7. Предварительные условия Позволяет убедиться, что система полностью обновлена.

Как установить сервер Teamspeak 3 на 64-битную версию Ubuntu 16.04

Как установить сервер Teamspeak 3 на 64-битную версию Ubuntu 16.04

Используете другую систему? Обзор Надоело пользоваться Discord / Skype? Устали от отсутствия полного контроля над вашим сервером? Или, может быть, из-за отсутствия O

Как установить Garrys Mod на Windows Server

Как установить Garrys Mod на Windows Server

Введение В этой статье объясняется, как загрузить и установить сервер Garrys Mod на Windows Server 2012. Это руководство сделано для того, чтобы быть в курсе.

Как установить ARK Survival Evolved (ArkSE) на CentOS 7

Как установить ARK Survival Evolved (ArkSE) на CentOS 7

Из этого руководства вы узнаете, как настроить сервер ARK Survival в CentOS 7. Предварительные условия Для работы ARK требуется большой объем памяти. Я рекомендую использовать V

Как установить Counter-Strike: Global Offensive Сервер в Windows

Как установить Counter-Strike: Global Offensive Сервер в Windows

Введение В этом руководстве вы узнаете, как установить сервер Counter-Strike: Global Offensive в Windows. Предварительные условия Прежде чем мы начнем, вы

Как установить Cuberite на сервере CentOS 6 или 7

Как установить Cuberite на сервере CentOS 6 или 7

Введение Что такое куберит? Cuberite - это масштабируемая реализация сервера Minecraft с открытым исходным кодом, написанная на C ++. Имеет простой в использовании плагин

Настройка сервера Counter-Strike: Global Offensive (CSGO) в Arch Linux

Настройка сервера Counter-Strike: Global Offensive (CSGO) в Arch Linux

Из этого туториала Вы узнаете, как настроить сервер Counter-Strike: Global Offensive в Arch Linux. В этом руководстве предполагается, что вы вошли со стандартным использованием

Как установить Left 4 Dead Server на CentOS 7

Как установить Left 4 Dead Server на CentOS 7

В этом руководстве я объясню, как установить и настроить сервер L4D в CentOS 7. Установка Left 4 Dead Прежде чем мы начнем, мы должны убедиться, что

Установка сервера Reflex в Windows

Установка сервера Reflex в Windows

Введение Reflex - это перспективная конкурентная арена FPS от Turbo Pixel Studios. Из этого туториала Вы узнаете, как настроить собственный сервер Reflex на

Terraria Server с TShock в Linux

Terraria Server с TShock в Linux

Terraria - MMORPG, основанная на майнинге, строительстве и сражениях. Некоторые люди говорят, что это 2D-версия Minecraft, но это не будет справедливо для Террарии

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

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

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше