Запуск в локальній мережі сервера wolfenstein enemy territory на debian, haikudjin

Запуск в локальній мережі сервера wolfenstein enemy territory на debian, haikudjin
У попередній статті ми налаштовували виділений сервер гри Open Arena на Debian 7. Розвинемо наше вміння і запустимо сервер Wolfenstein: Enemy Territory також для гри в локальній мережі.

Трохи про гру: Wolfenstein: Enemy Territory - безкоштовний тривимірний online-мультиплеєрний шутер від першої особи для Linux. Створено на основі гри Return to the Castle Wolfenstein. Дія гри відбувається під час Другої світової війни.

Спочатку гру хотіли зробити платною, як доповнення до Return to the Castle Wolfenstein, але так як в ній повністю відсутня одиночний режим гри, то вирішено було зробити її окремою безкоштовною грою.

Грати можна як по мережі, так і через інтернет. У грі представлено кілька карт від розробників гри, які є копіями реальної місцевості. Додаткові карти можна скачати в Інетернет. Якщо ви підключаєтеся до сервера, на якому використовується карта, якою у вас немає, то вона автоматично скачується. Грати можна за одного з п'яти типів персонажів. Причому, протягом гри ви підвищуєте рівень свого персонажа - «прокачування гравця».

Ігри доступна для Linux, Windows і MacOS X.

Налаштовувати новий ігровий сервер можна як на окремій системі, так і на тій же, де ми встановлювали Open Arena. Відрізнятися ці варіанти особливо не будуть - відмінність тільки в використовуваному сервером гри номером порту для підключення клієнтів. Розглянемо варіант установки Wofenstein: Enemy Territory на наявний сервер з Debian.

установка сервера

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

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

В результаті отримуємо в домашньому каталозі два файли: et260b.x86_keygen_V03.run і текстовий файл від розробників з невеликим описом. Якщо файл et260b.x86_keygen_V03.run не є виконуваним, робимо його таким:

Як пишуть розробники, цей пакет містить в собі установник клієнта / сервера гри для Linux, etkey генератор, поточну версію клієнта / сервера Punkbuster і патч ET 2.60b. Також, відповідно до керівництва розробників, для установки пакета в системі повинні бути встановлені ntp, dialog, xterm, sudo. Ставимо оні:

Після перевірки цілісності пакету і наявності необхідних додатків буде виведено меню для створення etkey - вибираємо «etkey not required», тиснемо OK.

Далі буде запропоновано встановити гру в / usr / local / games і інсталятор запитає пароль root для доступу в цей каталог. Ставити будемо в домашній каталог, тому тут замість введення пароля адміністратора просто натискаємо ENTER. Буде надана для ознайомлення ліцензія на використання гри (прокручуємо до кінця пропуском), приймаємо її умови. Далі, якщо хочете, можете прочитати файл CHANGES і переглядаємо керівництво до гри. Нарешті, потрібно ввести шлях для установки - вводимо / home / wet / wolfenstein і шлях для створення символічного посилання на виконувані файли: вводимо / home / wet. На пропозицію встановити клієнт / сервер Punkbuster відповідаємо ствердно. Читаємо ліцензійну угоду на використання цієї програми і погоджуємося.

Далі інсталятор запропонує створити меню запуску - відповідаємо негативно. Коли нарешті з'явиться створених параметрів установки, приймаємо їх і починається процес копіювання файлів в вказану директорію. Після закінчення установки інсталятор запропонує запустити гру - відмовляємося.

Все, гра встановлена ​​- приступаємо до конфігурації сервера.

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

Завантажити файли конфігурації можна тут.

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

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

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

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

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

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

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

корисності

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

У стандартній комплектації гри йде ряд карт, які з часом захочеться розширити. Для цього потрібно вирішити питання з отриманням доданих карт клієнтами. Це вирішується двома способами: скачування клієнтом карти вручну і розміщення її в каталозі etmain робочої директорії клієнта і отримання карти автоматично при приєднанні до гри. Зрозуміло, другий спосіб є кращим його і будемо реалізовувати. Сам сервер гри віддає файли дуже повільно (близько 20 KBps) тому нам потрібно використовувати альтернативний спосіб для забезпечення клієнтів файлами карт і він є - це web-сервер. Я використовую Nginx з мінімальними настройками. Тож почнемо:

1. Встановлюємо та налаштовуємо nginx:

Після установки web-сервера приступаємо до його налаштуванні. Робимо лише мінімальну настройку для можливості отримання файлів по http протоколу. Конфігураційний файл web-сервера знаходиться в каталозі / etc / nginx і називається, як не дивно, nginx.conf. Його ми чіпати не будемо. Нас цікавить каталог / etc / nginx / sites-available і розташований там файл default, який описує налаштування хоста за замовчуванням. Але, для початку створимо каталог, в якому будуть зберігатися наші файли для завантаження. Припустимо, це буде каталог / home / www. Створюємо його і приступаємо до налаштування віртуального хоста web-сервера з кореневим каталогом в / home / www. Робимо резервну копію файлу / etc / nginx / sites-available / default:

Копіюємо файл default в файл games (це буде конфиг нашого віртуального хостингу):

і редагуємо файл games. Змінити потрібно тільки одне значення: root в секції server, вказавши шлях до створеного нами каталогу / home / www і додати параметр «autoindex on» в підсекції «location /» (для формування списку файлів і каталогів, що знаходяться на web-сервері):

Залишилося тільки активувати наш віртуальний хостинг (вставити посилання на наш конфиг games в каталозі / etc / nginx / sites-enabled) і дектівіровать хостинг default:

Створюємо каталог / home / www / wet / etmain, копіюємо туди і в каталог / home / wet / wolfenstein / etmain карти (файли у форматі * .pk3) і перезапускаємо nginx:

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

2. Коректуємо настройки сервера

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

3. Додаємо нову карту в конфігураційний файл ротації карт

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

Таким чином, додавання додаткових карт на ігровий сервер полягає в копіюванні файлів у форматі * .pk3 в каталог / home / www / wet / etmain (каталог web-сервера для скачування клієнтами) і в каталог / home / wet / wolfenstein / etmain (каталог з картами сервера гри), додавання нової карти в відповідний конфігураційний файл ротації карт, а також перезапуску демона ігрового сервера wet_ded.

Додавання ботів в мережеву гру

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

Беремо omnibotа (v. 0.71) звідси.

Розпаковуємо архів і заливаємо архів Omni-Bot Linux ET 0.71 STABLE.zip, що знаходиться всередині, на наш сервер.

Розпаковуємо його в папку

/ Wolfenstein. В результаті, в цьому каталозі повинні з'явитися два нових каталогу: omnibot і omnibot.

Додаємо в файл server.cfg параметр, який дозволяє запуск бота і вказує шлях до його робочого каталогу:

Для отримання клієнтами архіву з ботом створюємо на нашому web-сервері новий каталог / home / www / wet / omnibot і копіюємо туди файл

Додаємо в файл демона /etc/init.d/wet_ded наступне:

2. Налаштування ботів

Загальне налаштування ботів здійснюється шляхом редагування файлу

Додавати ботів в гру можна декількома способами:

1. Використовуючи параметри MinBots і MaxBots в секції [ServerManager] файлу

/wolfenstein/omni-bot/et/user/omni-bot.cfg. Встановлюючи значення MinBots менше, ніж MaxBots, при запуску гри ми отримаємо ботів в кількості, визначеній значенням MaxBots, і, при вході в гру кожної людини, відповідну кількість ботів буде виходити з гри поки їх кількість не буде дорівнює значенню MinBots. Якщо вказати в обох параметрах. -1, цей параметр розглядатись не буде і в грі боти автоматично не з'являться і можна додати вручну або з конфіга потрібну кількість;

2. Командою / bot addbot в консолі клієнта. Для управління сервером з клієнтської консолі гри і встановлення будь-яких значень необхідно в файлі /wolfenstein/etmain/server.cfg в параметрі set rconpassword «you_password» встановити пароль. Запускаємо клієнт гри і відкриваємо консоль (консоль відкривається натисканням тильди

). Тут також можна встановити значення мінімального і максимального кількості ботів в грі, перевизначивши значення, вказане у файлі omni-bot.cfg. наприклад:

Структура цієї команди наступна: bot addbot [1 = Axis, 2 = Allies] [1 = soldier, 2 = medic, 3 = engineer, 4 = field ops, 5 = covert ops] [^ 4 = blue = Allies, ^ 1 = red = Axis NameBot]. Отже, ми додали два бота: солдата в команду німців на ім'я RAMMSTEIN і медика в команду американців на ім'я METALLICA.

Щоб боти автоматично не додають і була можливість чітко контролювати їх додавання вручну, рекомендую встановити параметри MinBots і MaxBots в -1 а потім вже додавати їх з консолі.

3. За допомогою конфігураційного файлу omnibot.cfg. Цей спосіб зручний, коли потрібно додати кілька ботів в різні команди з різними параметрами і, щоб не вводити все це в консолі.

Створюємо в каталозі

/.etwolf/etmain файл omnibot.cfg такого змісту:

Структура цього файлу така ж, як і команди addbot: bot addbot [1 = Axis, 2 = Allies] [1 = soldier, 2 = medic, 3 = engineer, 4 = field ops, 5 = covert ops] [^ 4 = blue = Allies, ^ 1 = red = Axis NameBot]. На початку цього файлу встановлюється максимальна кількість ботів (10), видаляються всі наявні боти з гри (bot kickall) і встановлюється рівень ботів (bot difficulty 4).

Для того, щоб завантажити цей конфігураційний файл заходимо в консоль і вводимо:

/wolfenstein/omni-bot/et/user/omni-bot.cfg додаємо в секцію [ServerManager] параметр SleepBots = 1. Цей параметр присипляє ботів, якщо в грі немає жодного Неботов.

Після внесення змін в конфігураційні файли перезапускаємо демон сервера:

Якщо ми додаємо ботів в гру, то нам потрібно і вміти їх отттуда виганяти. Для того, щоб вигнати бота з гри нам потрібно знати ідентифікатор (id) цього бота. Щоб його дізнатися, в консолі вводимо:

Буде виведений повний список гравців (як живих, так і ботів). Нас цікавить крайній лівий стовпчик - це і є ідентифікатор гравця. Для того, щоб вигнати бота, наприклад, з id 5, вводимо в консолі:

Щоб вигнати всіх ботів з гри, вводимо в консолі:

Однак, якщо значення MinBots або MaxBots встановлено в відмінне від 0 або -1 значення, боти підуть, але увійдуть у гру інші зі списку за замовчуванням в кількості, встановленому MinBots і MaxBots. Щоб цього не відбувалося, встановлюємо значення MinBots і MaxBots в 0 або -1, наприклад, так:

Advanced Wolfenstein: Enemy Territory Server Setup Guide

Схожі статті