Як створити сервер TF2 - Game Hub

Багато хто проводив численний годинник у Team Fortress 2 сам або з друзями часом замислювався про підняття свого сервера. Для гри з друзями, створення свого ігрового проекту (зі своїми модами, адмінкою та конфігами) або просто спробувати та помацати, щоб зрозуміти як це робиться. У цій статті я розповім вам, як створити сервер TF2 за допомогою SteamCMD та базово налаштувати його.

Я розповідатиму на прикладі OS Debian 7 версії 64 розрядна. Взагалі зараз все трохи ускладнилося в порівнянні з тим, як було раніше (2008-2009) рік. Тоді було достатньо завантажити виконуваний .bin файл і запустити його з параметрами і через 20-30-40 хв. (залежно від швидкості інтернет-з'єднання) у вас на сервері вже знаходився завантажений сервер, тієї ж tf2, наприклад. Але і зараз процедура не дуже важка. Нам потрібно 5,7 гігабайта пам'яті на жорсткому диску, і *бажано* базові знання про принципи управління файлами та папками за допомогою консолі (для кращого розуміння яка папка і де створилася).

1. Оновлюємо системні пакети.

Це необхідно, щоб отримати з репозиторіїв останню версію необхідних бібліотек. Виконуємо команду:

apt-get update apt-get upgrade

2. Встановлення додаткових бібліотек.

Для повноцінного запуску утиліти виділеного сервера на системах під архітектурою х64 нам потрібні додаткові бібліотеки. Для 32 розрядних цей пункт не має потреби. Перевірити розрядність своєї системи можна за допомогою команди:

Для 64 бітних систем її виведення буде приблизно наступним:

Linux Debian-78-wheezy-64-minimal 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2x86_64 GNU/Linux

Після того, як ми визначилися чи потрібна нам бібліотека, виконуємо наступну команду:

apt-get install lib32gcc1

створити

Погоджуємося, після чого відбувається встановлення пакета. Тепер переходимо до моментів безпеки.

3. Додавання користувача до системи, від якого буде здійснюватися встановлення та обслуговування сервера.

Як правило, ви заходите у систему під логіном root. Це суперкористувач, який має право робити ЩО ЗГОДНО з файлами сервера. Тому, якщо раптово через ваш сервер, запущений від логіна root, буде знайдено брежь у коді програми або плагінів, і зловмисник отримає доступ до виконання команд від цього користувача, він може так само зробити що завгодно. Від повного видалення файлів до редагування конфігурації та використання вашої машини в своїх цілях. Саме для цього ми створимо окремого користувача, який запускатиме наші сервери і який не матиме доступу ні до чого іншого, крім файлів сервера team fortress 2.

Виконуємо наступну команду, яка додасть користувача з логіном server:

На початку вас попросить ввести двічі пароль. Сам пароль не видно. Після цього попросять ввести різну інформацію (ім'я, телефон та інше), цього можна не робити просто натискаючи Enter і залишаючи поля порожніми. Після цього підтверджуємо введену інформацію вводячи «Y» і тиснемо ентер. Все, користувач створено.

створити

Як очевидно з виведення консолі, його домашня директорія /home/server. Якщо ви хочете, щоб користувач, що додається, мав іншу домашню директорію:

useradd –d /шлях_до_директорії

Якщо потрібно змінити директорію існуючого користувача:

usermod -d /шлях_до_нової_директоріїлогін

4. Входимо під новим користувачем з-під root. Скачування та встановлення SteamCMD.

Тепер ми можемо зайти під нашим користувачем абовідкривши нову SSH-сесію і ввести його ім'я та пароль, або ж прямісінько через вже відкриту сесію:

Переходимо в нашу домашню директорію:

Створюємо окрему директорію для steamcmd і переходимо до неї:

mkdir steamcmd cd steamcmd

Завантажуємо та розпаковуємо архів зі steamcmd (встановлюємо вміст):

Бачимо приблизно таке:

створити

5. Запуск, логін у SteamCMD. Конфігурування та початок скачки сервера.

Для запуску в тому самому каталозі набираємо команду:

Бачимо, що пішов процес її поновлення:

його
Після перед нами постає вже запущена програма, яка зустрічає написом Steam. Логін як анонім:

Переходимо до визначення директорії установки сервера:

І нарешті, завантаження (і перевірка завантажених файлів) сервера:

app_update 232250 validate

Бачимо загальний стан та відсоток завантаженого:

його

Після фрази «Success! App ‘232250’ fully installed» ми можемо вводити в консоль quit, тим самим виходячи із SteamCMD.

Надалі можна використовувати більш коротку команду:

./steamcmd.sh +login anonymous +force_install_dir /home/server/tf2 +app_update 232250 +quit

Або налаштувати запуск наступного скрипта:

// tf2_update.txt // @ShutdownOnFailedCommand 1 //set to 0, якщо updating multiple servers at once @NoPromptForPassword 1 login

//for servers which don't need a login //login anonymous force_install_dir /home/server/tf2 app_update 740 validate quit

Виконавши його командою:

./steamcmd.sh +runscript tf2_update.txt

6. Запуск сервера.

Переходимо в папку зі скачаним сервером:

Тепер ми можемо запустити сервер:

./srcds_run -console -game tf +map cp_dustbowl-maxplayers 16

Сервер успішно запущено:

сервера

І доступний із поза:

game

7. Возможные помилки.

steamcmd: помилка під час завантаження спільних бібліотек: libstdc++.so.6: неможливо відкрити спільний об’єктний файл: немає такого файлу чи каталогу:

apt-get інсталювати lib32stdc++6

Наступні пакунки мають невирішені залежності: ia32-libs : Залежить: ia32-libs-multiarch, але його неможливо встановити E: Не вдається виправити проблеми, ви тримаєте несправні пакунки:

dpkg --add-architecture i386 apt-get update apt-get install lib32gcc1

Помилка входу: немає з’єднання:

iptables -A INPUT -p udp -m udp --sport 27000 : 27030 --dport 1025 : 65355 -j ACCEPT iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025 : 65355 -j ПРИЙНЯТИ

[S_API FAIL] SteamAPI_Init() не вдалося; не вдалося знайти запущений екземпляр Steam або локальний steamclient.dll:

ln -s steamcmd/linux32/steamclient.so

На цьому даному посібнику про те, як підняти сервер tf2 (team fortress 2) завершено. Далі ми розглянемо, як зробити так, щоб сервер запускався у фоновому режимі, а також його подальшу настройку. Залишайтеся на зв'язку.