Добрий день, дорогі читачі і гості, яким цікава ця тематика.
Як відомо, для роботи ігрового сервера менше ресурсів (а значить і менше витрат) потрібно саме на ОС сімейства Linux. Установка сервера Counter-Strike: Source на Linux з нуля в цілому не складна, але якщо ви не розбираєтеся в Лінуксі, тоді краще все робити по покрокової інструкції. В інтернеті можна знайти інформацію по установці сервера з нуля на Linux, але досить грамотних статей я зустрічав за все парочку. Нещодавно ми з друзями запустили свій сервер для CS: Source, тому я вирішив свіжим поглядом описати і показати весь процес, а також звернути увагу на можливі проблеми та шляхи їх вирішення.
Відразу обмовлюся, що мова йде про встановлення офіційного Steam сервера, тому що я не схвалюю піратство (принаймні з іграми) і вам не раджу. На момент написання статті, ціна на Counter-Strike: Source в Steam - всього 435р.
Для запуску сервера Counter-Strike: Source на Linux нам підійде комп'ютер або VDS (віртуалізація KVM) на будь-який ОС сімейства Linux, який має мінімум 1 ядро, 1 Гб ОЗУ і вільні 3 Гб місця на диску під сам сервер. Якщо ви збираєтеся запускати сервер будинку, то вам знадобиться зовнішній IP адреса або доведеться налаштовувати no-ip. Недорогі VDS з DDoS захистом ви можете подивитися тут . У цій статті ми будемо віддалено встановлювати сервер на Ubuntu 14.04.5 LTS.
Якщо у вас під рукою комп'ютер на ОС Linux, то вам знадобиться консоль і менеджер файлів, а якщо підключатися будемо віддалено, то нам знадобляться shell-клієнт PuTTY і FTP-клієнт FileZilla (Або будь-який інший, зручний вам).
Підготовка до встановлення сервера
1. Якщо у вас 64-бітна система, то в першу чергу потрібно встановити бібліотеки для запуску 32-бітових додатків, тому що сервер гри як раз 32-бітний. Зробити це можна однією командою:
sudo apt - get install lib32gcc1 libc6 - i386
2. Запускати сервер з метою безпеки рекомендується від імені окремого користувача, тому давайте створимо нового користувача. У моєму прикладі це буде test.
Після виконання цієї команди, вам потрібно буде вказати пароль для створюваного користувача, а також додаткові дані. Ви можете пропустити введення доп. даних, просто натискаючи Enter. В кінці, вам потрібно буде підтвердити введення даних, відправивши Y.
установка сервера
1. Заходимо під ім'ям створеного користувача:
Вводимо його пароль, а після відправляємо команду cd, щоб перейти в домашній каталог користувача. Ви можете відправити команду ls і у відповідь нічого не прийде, тому що в домашньому каталозі нового користувача порожньо, там є тільки системні файли.
2. Тепер нам потрібно створити папку для установки SteamCMD і перейти в неї. Для цього по черзі набираємо команди:
mkdir steamcmd
cd steamcmd
Якщо все пройшло успішно, ви побачите ~ / steamcmd $
3. Завантажуємо архів SteamCMD:
wget http: //media.steampowered.com/installer/steamcmd_linux.tar.gz
Завантажити він повинен швидко, тому що його розмір невеликий. Потім відразу розпаковуємо його:
tar - xvzf steamcmd_linux. tar. gz
Після розпакування, у вас з'являться файли і папки:
linux32 /
linux32 / libstdc ++. so.6
linux32 / steamcmd
steamcmd.sh
steam.sh
Значить все добре і можна видалити завантажений архів:
4. Запускаємо командну оболонку Steam:
Чекаємо завантаження оновлень, після чого повинна з'явитися консоль SteamCMD, ви зрозумієте це по заголовку Steam>
5. Отримуємо гостьовий доступ до сервісу скачування серверів:
Повинно з'явитися 2 рядки, в кінці обох має бути OK.
Тепер вказуємо, в яку папку будемо завантажувати сервер (папка буде створена автоматично). Сервер для CS: Source можна встановити в папку css, але ви можете назвати її по своєму.
force_install _ dir. . / Css /
Директорія css буде створена в домашньому каталозі, поруч з папкою steamcmd.
6. Запускаємо завантаження сервера гри, вказуючи спеціальний стімовскій app_id. Для CS: Source це 232330.
app _ update 232330 validate
Почнеться завантаження, яка буде видавати Update state в процентах. Розмір даних при завантаженні приблизно 2.30 Гб, тому доведеться почекати кілька хвилин до закінчення завантаження.
Примітка: Якщо раптом завантаження перерветься і у вас буде написано "Error! App '232330' state is 0x402 after update job." Або схожа помилка, то просто знову відправте команду app_update 232330 validate і процес продовжиться з того місця, де перервався.
Після успішного завантаження, ви побачите наступне:
7. Виходимо з SteamCMD натисканням сполучення клавіш Ctrl + C або відправивши команду quit.
Потім переходимо в папку завантаженого сервера.
Оскільки сервер фактично встановлено, ми можемо спробувати зробити тестовий запуск.
. / Srcds_run - console - game cstrike + maxplayers 20 + port 27015 + map de_dust
У вас перед очима пробіжить багато рядків і в кінці повинно бути VAC secure mode is activated.
Однак, як ми бачимо на скріншоті, в процесі завантаження сервера виникли деякі помилки. Іноді він запускається при їх наявності, а іноді може видати FATAL ERROR.
Якщо при запуску ви бачите помилку ... /.steam/sdk32/steamclient.so: can not open shared object file: No such file or directory, то не лякайтеся, вона легко поправна:
ln - s ~ / steamcmd / linux32 ~ /. steam / sdk32
Ця команда створить символьне посилання з директорії sdk32 на директорію linux32 і при наступному запуску, таких помилок ви вже не побачите:
Первинна настройка сервера
Тепер давайте перейдемо до візуальної роботі з файлами, оскільки це зручніше, ніж в консолі. Для цього підключаємося по FTP до нашого сервера (в разі віддаленої роботи).
1. Заходимо в папку / css / cstrike / cfg /
У цій папці повинен знаходитися головний файл конфігурації сервера - server.cfg. Ви можете створити цей файл, знайти його опис та параметри в інтернеті, потім завантажити готовий файл в зазначену папку з FTP. Але я рекомендую скористатися кращим детальним конфіг, який я знайшов і підкоригував - в ньому все настройки описані російською мовою і вам не важко буде змінити все під ваші потреби. Скачайте його (ПКМ-> Зберегти як), потім відкрийте в будь-якому текстовому редакторі, змініть назву сервера і інші необхідні налаштування під себе, потім завантажте в папку css / cstrike / cfg на вашому сервері.
ЗАВАНТАЖИТИ (19,4 KiB, 178 завантажень)
2. У цій же папці ви побачите і інші файли конфігурації. Зверніть увагу на файли motd_default.txt, motd_text_default.txt і mapcycle_default.txt. Ці файли ви можете завантажити, змінити під себе і завантажити на сервер, прибравши суфікс default.
- motd.txt - файл використовується для відображення інформації на екрані запрошення при підключенні до сервера. Можна використовувати HTML, картинки і навіть музику.
- motd_text.txt - простий текстовий варіант вітання, якщо не використовується motd.txt
- mapcycle.txt - файл зі списком карт, зміна карт відбувається за списком з нього. У нього ви будете додавати і нові карти, якщо будете завантажувати їх на сервер.
3. При запуску сервера ми в логах бачили напис "anonymous game server account". Для повноцінної роботи сервера і перевірки гравців по STEAM_ID, нам потрібно прив'язати сервер до Steam. Для цього переходимо на цю сторінку Steam , Авторізуемся в своєму акаунті, внизу сторінки вводимо номер програми: 240 і натискаємо кнопку Створити. Отриманий ідентифікатор копіюємо і зберігаємо десь, він нам скоро знадобиться.
4. Щоб сервер було простіше запускати, ми можемо створити спеціальний файл для запуску, в якому буде прописана команда запуску сервера з необхідними параметрами. Пізніше, ви зможете додати цей файл в автозавантаження (Cron) і сервер гри буде запускатися автоматично при перезапуску самого сервера Linux.
Створюємо на робочому столі текстовий файл start.sh. У нього прописуємо:
#! / Bin / bash
. / Srcds_run - console - game cstrike + port 27015 + sv_setsteamaccount E25F0F3C2B8DADDCC5589D5538CF7343 + maxplayers 20 + map de_dust2 &
- port - порт на сервері, ви можете вказати будь-який, починаючи від 27015
- якщо на вашому VDS кілька зовнішніх IP, додайте + ip ваш_ip перед + port;
- sv_setsteamaccount - тут як раз і вказуємо ідентифікатор, який отримали в Steam;
- maxplayers - кількість слотів на сервері;
- map - карта.
Зберігаємо файл, в FileZilla переходимо в папку / css / і завантажуємо створений файл туди. Не забудьте поставити цього файлу права 765 або 775, щоб для користувача / групи були права на виконання.
Тепер ви можете запускати сервер командою ./start.sh, перебуваючи в папці css, а також додати цей файл в Cron на автозапуск. Після запуску сервера, зверніть увагу на сторінку, де отримували ідентифікатор Steam для сервера, у вас повинно оновитися поле "Останній вхід" - це значить що сервер коректно запустився з прив'язкою Steam.
На цьому установка сервера Counter-Strike: Source завершена. Для коректної роботи сервера через інтернет, на комп'ютері / VDS, де ви його запускаєте, повинні бути відкриті порти 27000-27040.
PS У наступних статтях я розповім про те, як додавати карти на сервер, зробити швидке завантаження файлів, а також про SourceMod і можливості плагінів для нього.