Запуск в локальній мережі виділеного сервера urban terror на debian, haikudjin

Запуск в локальній мережі виділеного сервера urban terror на debian, haikudjin
Наступною вільної і безкоштовною грою, яка привернула мою увагу, стала Urban Terror. Трохи про цю гру. Отже, як написано на одному з ігрових сайтів в Інтернеті, Urban Terror (Міський Терор) - якісний мультиплеєрний тривимірний шутер від першої особи під Linux. Гру Urban Terror багато хто порівнює з Counter Strike і це не випадково. Ігровий процес, тактика і атмосфера дійсно дуже схожі на Counter Strike. У грі представлено сім ігрових режимів, широкий вибір зброї і спорядження.

Urban Terror це повністю мультиплеерная гра. Для того, щоб підключитися до якого-небудь сервера, досить натиснути в меню Play Online і вибрати зі списку доступних серверів будь-який вподобаний. Ви також можете впорядкувати сервера по доступності або, наприклад, зробити вибірку по режимам гри.

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

Urban Terror поширюється безкоштовно, але ліцензія забороняє модифікацію і продаж гри. Движок гри ioQuakeEngine (ioQuake) поширюється безкоштовно.

Гра доступна під Linux, Windows і Mac Os.

Установка виділеного сервера

Передбачається, що операційна система для сервера (Debian) вже встановлена ​​і, таким чином, зупинятися на цьому не будемо.

Створюємо нового користувача, від імені якого буде працювати сервер гри (нехай це буде користувач ut):

Додаємо користувача в групу sudo:

Встановлювати будемо останню на момент написання статті версію 4.2.017 ( «важить» архів близько 1,7 Гб). Заходимо під нашим користувачем, качаємо в домашній каталог пакет з грою і розпаковуємо його (пакет можна взяти на офіційному сайті):

Хотілося б відзначити, що даний пакет не вимагає установки і після його розпакування ми отримуємо готові до використання виділені сервери і клієнти для Linux, Windows і, судячи з опису розробників, Mac (сам для Mac не пробував, зважаючи на відсутність такого).

В результаті отримуємо в домашній папці каталог UrbanTerror42 і, для спрощення звернення до знаходяться в ньому файлів, перейменовуємо його:

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

/ Urbanterror / q3ut4 / розташований файл server_example.cfg, який ми копіюємо в server.cfg і, який буде основним конфігураційним файлом нашого виділеного сервера Urban Terror.

Аналогічно робимо з файлом mapcycle_example.txt і перейменовуємо його в mapcycle.txt. Цей файл відповідає за ротацію карт в грі, тобто в ньому вказано які і в якому порядку будуть змінюватися карти.

На офіційному сайті описані можливі режими гри, ось вони:

  1. Bomb Defuse (Bomb - gametype 8) Бомба і розмінування. Червона команда виконує роль атакуючої і протягом відведеного часу намагається закласти бомбу в одному з двох стратегічно важливих місцях, позначених на карті пульсуючим значком. Синя команда захищає це місце і, або намагається вбити всю команду червоних, або знешкодити закладену бомбу. Після того, як бомба закладена, відлік часу раунду зупиняється і таймер бомби починає зворотний відлік до детонації. Закладена бомба або вибухає, або буде знешкоджена командою, що захищається.
  2. Capture Hold (CH - gametype 6) Захоплення і утримання. На карті розташовані численні прапори або точки для захоплення. Коли ви захоплюєте точки, їх колір змінюється на колір вашої команди (червоний або синій). Кожну хвилину ваша команда отримує очки за кожен прапор кольору вашої команди. Ваша мета полягає в утриманні, як можна більшої кількості прапорів певний час. Якщо вас уб'ють, ви відроджується після невеликої затримки.
  3. Capture the Flag (CTF - gametype 7) Захоплення прапора. У кожної команди є своя база, на якій знаходиться її прапор. Мета команди - захопити прапор на базі противника і принести його на свою базу. Ви не повинні дати ворогові зробити те ж саме. Якщо ви були вбиті, через деякий час повернетеся в гру.
  4. Free for All (FFA - gametype 0) Кожен сам за себе. У цьому динамічному режимі гри кожен гравець грає сам за себе. Після закінчення часу раунду переможцем стає гравець з найбільшою кількістю вбитих ворогів. Якщо ви були вбиті, ви відродити після невеликої затримки у випадковому місці карти.
  5. Follow the Leader (FTL - gametype 5) Проходження за лідером. На початку кожного раунду сервер вибирає одну людину у вашій команді в якості лідера. Лідер позначається червоною або синьою каскою. У вашої команди також є прапор. Ваша мета - отримати якомога більше очок. Однак, тільки лідер може отримувати окуляри від дотику до ворожого прапора. Раунд закінчується, коли лідер стосується ворожого прапора або одна з команд буде вбита. Якщо ви були вбиті, ви не відроджується до кінця раунду.
  6. Team Deathmatch (TDM - gametype 3) Командний десматч. Ваша мета полягає в отриманні очок для вашої команди за знищення членів команди суперника. Після закінчення часу раунду або досягнення встановленої кількості Фрагів раунд завершується і командою-переможцем стає команда, яка знищила більшу кількість ворогів. Якщо ви були вбиті, ви відроджується у випадковому місці карти після невеликої затримки.
  7. Team Survivor (TS - gametype 4) Командне виживання. Ваша мета знищити команду супротивника. Раунд закінчується, коли всі члени однієї команди гинуть, а команді, у якій залишилися вижили гравці, нараховується очко. Якщо ви були вбиті, ви не можете відродиться до наступного раунду.

За настройку режиму гри відповідає значення параметра g_gametype в розділі «GENERAL GAMEPLAY SETTINGS» файлу server.cfg.

Організація запуску сервера

Запускати наш сервер будемо демоном. Для цього ставимо пакет daemon:

З правами адміністратора створюємо в каталозі /etc/init.d файл ut_ded такого змісту:

Даний файл необхідно відкоригувати під свої потреби або залишити як є в разі, якщо не змінювалися наведені в цій статті ім'я користувача, під яким буде працювати сервер (ut), шлях до каталогу з файлами (/ home / ut / urbanterror /) і порт, який буде слухати сервер (27962). За замовчуванням сервер UT слухає порт 27960, однак, якщо з яких-небудь причин цей порт вже зайнятий (наприклад, на цьому ж комп'ютері працює інший ігровий сервер), порт можна змінити відредагувавши наступний рядок файлу ut_ded:

Додаємо його в автозапуск:

Перевантажуємося і перевіряємо старт нашого сервера:

Якщо висновок команди схожий на цей - значить сервер запустився.

Управління демоном ut_ded здійснюється наступним чином:

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

Як уже згадувалося вище, в каталозі з грою знаходяться як файли для запуску сервера, так і клієнти для Linux, Windows і Mac. Клієнти для Linux - це Quake3-UrT.i386 і Quake3-UrT.x86_64 (для 32 і 64 розрядних систем, відповідно), для Windows - Quake3-UrT.exe і Quake3-UrT-no-SSE2.exe (для процесорів, які не підтримують SSE2 інструкції - процесори нижче, ніж Athlon, Pentium 3 або 4, деякі Celeron), для Mac відведений каталог Quake3-UrT.app. Виконувані файли, в імені яких присутня «Ded», призначені для запуску виділеного сервера.

Для підключення до запущеного нами сервера запускаємо відповідний вашій системі клієнт, вказуємо ім'я гравця і налаштовуємо необхідні параметри. Як я зрозумів з існуючих в клієнті меню, підключення до сервера в локальній мережі можливо тільки за допомогою параметрів Favorite (play online - Source: Favorites - Create Favorite), однак, у мене сервер знаходився не завжди і якось невпевнено. Тому рекомендую запускати клієнт з використанням наступної опції до виконуваного файлу: + connect 192.168.0.182:27962. Запуск з використанням цієї опції можна оформити у вигляді виконуваного файлу:

  • для Linux виконуваним файлом start.sh (не забуваємо дати файлу права на виконання: chmod + x start.sh):
  • для Windows пакетним bat-файлом. Створюємо файл, наприклад, start.bat такого змісту (в каталозі з виконуваним файлом клієнта):

Також, можна підключитися до сервера в локальній мережі, використовуючи консоль гри (викликається натисканням клавіші

після завантаження гри):

Додавання нових карт

Додавання нових карт здійснюється досить просто: скачується карта (файл у форматі .pk3) і копіюється в каталог

1. На нашому сервері встановлюємо і налаштовуємо web-сервер в необхідної нам мінімальній конфігурації. Його настройка описана в цій статті. Створюємо каталог / home / www / UT / q3ut4, копіюємо туди і в каталог / home / ut / urbanterror / q3ut4 карти (файли у форматі * .pk3) і перезапускаємо nginx:

Заходимо в браузері на наш web-сервер і, якщо бачимо список файлів і каталогів з / home / www, значить все в порядку.

2. Web-сервер встановлений і функціонує, далі, потрібно внести корективи в конфіг сервера гри, вказавши йому, щоб він перенаправляв клієнтів для скачування відсутніх файлів на наш web-сервер. Змінюємо наведені нижче значення в файлі /home/ut/urbanterror/q3ut4/server.cfg наступним чином:

3. Додаємо нову карту в конфігураційний файл ротації карт. Раніше ми створили файл /home/ut/urbanterror/q3ut4/mapcycle.txt, який, як раз, і відповідає за ротацію карт на сервері. Додаємо назва нашої карти в цей файл (як правило, це ім'я файлу без .pk3) окремим рядком в тому порядку, в якому вона повинна завантажуватися сервером. Файл ротації карт вказано в наступному параметрі server.cfg:

Також, основною конфиг сервера server.cfg містить параметр, який вказує з якою карти починається гра (з подальшим «перебором» їх зверху вних і знову спочатку списку):

Перезапускаємо демон ut_ded:

Матеріали по темі

Було б добре зробити статтю, що-б сервер було видно в самій грі всім. Навіть на своєму прикладі.

Може бути, коли-небудь напишу. Зараз для мене це не зовсім актуально. Я не думаю, що реалізація загальнодоступного сервера - дуже складне завдання, при наявності бажання цілком піддається реалізації.

Схожі статті