Налаштування сервера Garrys Mod

Налаштування сервера Garrys Mod

Інструкції розроблені для Ubuntu 14.04 32 bit, але повинні працювати на всіх версіях Ubuntu. Цей підручник навчить вас, як створити ігровий сервер Garry's Mod.

Увійдіть через термінал як root.

По-перше, нам потрібно переконатися, що брандмауер захищений, щоб зменшити ймовірність проблеми з безпекою. Якщо припустити, що цей сервер буде призначено для Garry's Mod, можна безпечно заблокувати абсолютно всі вхідні порти (включаючи ICMP), крім тих, які необхідні для Garry's Mod. ICMP не потрібен для роботи сервера, і його повне блокування не матиме жодного негативного впливу на Garry's Mod, проте допоможе зменшити вектори атаки 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 не буде відбуватися.

Далі нам потрібно спеціально дозволити всі порти, необхідні для Garry's Mod (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's Mod протягом тривалого періоду часу, особливо коли ви керуєте сервером за допомогою SSH. Щоб встановити «екран», введіть наступне:

apt-get install screen

Після завершення встановлення виконайте цю команду:

screen

На екрані з’явиться застереження, просто натисніть Enter, щоб продовжити. Введення тексту screenв консоль запускає екран і дозволяє вам працювати всередині віртуальної консолі, якщо ви відключитеся від SSH або вийшли з системи, ця віртуальна консоль продовжуватиме працювати з вашою командою всередині неї (сервер Garry's Mod працює як команда 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's Mod, однак більшість вмісту Garry's Mod вимагає встановлення CounterStrike: Source (коротко CS:S). Щоб встановити CS:S, виконайте таку команду:

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

Ця команда також займе деякий час.

Після встановлення Garry's 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. Це вкаже Garry's Modu, де знайти CounterStrike, щоб його можна було використовувати.

Тепер у нас встановлений базовий сервер Garry's Mod. Щоб запустити його, переконайтеся, що ми знаходимося в правильному каталозі за допомогою цієї команди:

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(скорочення від 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_allowuploadcan має два варіанти, 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, що дозволить відновити роботу з того місця, де ви були востаннє (ігрової консолі).


Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Використання іншої системи? Що таке Tekkit Classic? Tekkit Classic — це модпак для гри, яку всі знають і люблять; Майнкрафт. Він містить деякі з вер

Налаштуйте сервер 7 Days to Die на Ubuntu 14

Налаштуйте сервер 7 Days to Die на Ubuntu 14

У цьому посібнику ви дізнаєтеся, як налаштувати власний сервер 7 Days to Die (7D2D) на Ubuntu. Зверніть увагу, що ця гра все ще має ранній доступ і що th

Налаштування сервера Half Life 2 на CentOS 6

Налаштування сервера Half Life 2 на CentOS 6

У цьому посібнику буде описано процес встановлення ігрового сервера Half Life 2 на систему CentOS 6. Крок 1: Встановлення необхідних умов Щоб налаштувати ou

Counter-Strike Global Offensive Server Launcher на Ubuntu

Counter-Strike Global Offensive Server Launcher на Ubuntu

Ті, хто має досвід налаштування спеціальної CS:GO (Counter-Strike: Global Offensive), знають, що процес використання інтерфейсу командного рядка для керування

Налаштування Counter Strike: Source на Debian

Налаштування Counter Strike: Source на Debian

У цьому посібнику ми будемо налаштовувати ігровий сервер Counter Strike: Source на Debian 7. Ці команди були перевірені на Debian 7, але вони також повинні працювати

Як встановити Unturned 2.2.5 на Debian 8

Як встановити Unturned 2.2.5 на Debian 8

У цьому посібнику ви дізнаєтеся, як налаштувати сервер Unturned 2.2.5 на Vultr VPS під керуванням Debian 8. Примітка. Це відредагована версія Unturned, яка не

Як встановити Cuberite на сервері CentOS 6 або 7

Як встановити Cuberite на сервері CentOS 6 або 7

Вступ Що таке куберит? Cuberite — це масштабована реалізація сервера Minecraft з відкритим кодом, написана на C++. Він має простий у використанні плагін

Встановлення Teamspeak на CentOS 7

Встановлення Teamspeak на CentOS 7

Teamspeak — це VOIP-сервер, який можна використовувати для спілкування команд або кількох людей. Він відносно легкий і безпечний, оскільки випускаються оновлення

Як встановити SteamCMD на свій VPS

Як встановити SteamCMD на свій VPS

У цьому підручнику ми встановимо SteamCMD. SteamCMD можна використовувати для завантаження та встановлення багатьох ігрових серверів Steam, таких як Counter-Strike: Global Offensiv

Запуск сервера Teamspeak 3 на CentOS 6.4

Запуск сервера Teamspeak 3 на CentOS 6.4

Виконайте наступні команди, щоб встановити сервер Teamspeak 3. # Безпечний Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Як встановити сервер Left 4 Dead на CentOS 7

Як встановити сервер Left 4 Dead на CentOS 7

У цьому посібнику я поясню, як встановити та налаштувати сервер L4D на CentOS 7. Встановлення Left 4 Dead Перш ніж почати, ми повинні переконатися, що

Як встановити сервер Minecraft на Ubuntu 14.04

Як встановити сервер Minecraft на Ubuntu 14.04

Використання іншої системи? У цій статті ми збираємося встановити сервер Minecraft на Ubuntu. Переконайтеся, що ви ввійшли під користувачем, який isn

Як встановити SA-MP San Andreas Multiplayer на CentOS 7

Як встановити SA-MP San Andreas Multiplayer на CentOS 7

У цьому підручнику ви дізнаєтеся, як налаштувати сервер SA-MP (San Andreas Multiplayer) на CentOS 7.

Налаштуйте сервер TeeWorlds

Налаштуйте сервер TeeWorlds

TeeWorlds — це безкоштовна багатокористувацька онлайн-гра з відкритим вихідним кодом. У цьому підручнику я збираюся пояснити, як створити сервер TeeWorlds. Ці кроки були

Запустіть власний сервер Arma 3 на Ubuntu 14

Запустіть власний сервер Arma 3 на Ubuntu 14

Огляд У цьому посібнику буде описано встановлення та роботу вашого сервера Arma 3 за допомогою SteamCMD та екрана. Для отримання додаткової інформації щодо th

Як встановити Tekkit Classic Server на CentOS 6/7

Як встановити Tekkit Classic Server на CentOS 6/7

Використання іншої системи? У цьому підручнику створіть сервер Tekkit Classic. Tekkit — ще один популярний модпак, створений для Minecraft. За рахунок суми

Як встановити Glowstone (Minecraft) на сервер CentOS 7

Як встановити Glowstone (Minecraft) на сервер CentOS 7

Використання іншої системи? Вступ Glowstone, безсумнівно, є найбільш оптимізованим сервером для Minecraft. Програмне забезпечення має низьке використання пам’яті та використання

Як встановити Unturned на Linux

Як встановити Unturned на Linux

Використання іншої системи? Вступ У цьому посібнику ви дізнаєтеся, як налаштувати та встановити сервер Unturned на Linux. Unturned — популярний виживання

Налаштування ігрового сервера JC2:MP на Debian

Налаштування ігрового сервера JC2:MP на Debian

У цьому посібнику ми будемо налаштовувати сервер Just Cause 2: багатокористувацький сервер Linux. Ці команди були перевірені на Debian 7 x64, але вони також повинні працювати на th

Встановіть сервер Minecraft на Fedora 26

Встановіть сервер Minecraft на Fedora 26

Використання іншої системи? У цьому підручнику я розповім вам, як налаштувати сервер Minecraft на високопродуктивному SSD VPS на Vultr. Ти навчишся хо

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

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

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

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

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

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

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

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

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

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

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