Передмова
На мій подив, в інтернеті вкрай мало осудних посібників по установці Dedicated Server (виділеного сервера) гри Counter-Strike на Linux. Кілька методів у мене не спрацювали, або сервер глючил, в результаті знайшов керівництво, яке у мене запрацювало. Адаптована його версія перед вами.
Важливе зауваження: наступне керівництво підійде для практично всіх ігор від Valve, у яких є окремий модуль Dedicated Server. Тобто це - Counter-Strike: Source. Counter-Strike: Global Offensive, Half-Life 2: Deathmatch, Left 4 Dead і т.п. повний список в Офіційний вікі Valve тут. І ще один момент - я описую, як ставити ліцензійний сервер для гри по Steam. Школярі з No-steam збірками, моя вам порада: кінчайте бухати ягу, і заробите чортових 200 рублів собі на ліцензійну гру. Ну може, 300.)
підготовка
У моєму випадку ми починаємо з тільки що встановленої системи і палаючої перед очима консоллю. Ми увійшли в систему під своїм користувачем. Природно, безпосередньо з-під root'a ми нічого не робимо. Виділене в цитату - одна ціла команда, яку пишемо в консоль. Якщо в цитаті кілька рядків - це кілька команд, пишемо перший рядок, тиснемо Enter, пишемо наступний рядок, також Enter.
Насамперед перевіряємо, що система оновлена:
sudo apt-get update
sudo apt-get upgrade
У моєму випадку система була 64-бітної, а сам сервер гри - 32-бітний. Тому, встановлюємо бібліотеки для запуску 32-розрядних додатків (Якщо ваша система 32-бітна, цей крок пропускаємо):
sudo apt-get install lib32gcc1 libc6-i386
Додаємо окремого користувача, під яким буде запускатися сервер. Так правильно і так безпечніше. Назвемо його «steam»:
sudo adduser steam
При цьому директорія, в якій ми знаходимося, залишиться від попереднього користувача. Потрібно перейти в нашу директорію і створити там папку з назвою «steamcmd» і перейти в неї:
Далі нам потрібно завантажити, власне архів з командною оболонкою Steam, через яку трохи згодом скачати сам сервер. пишемо:
Завантажити повинно швидко, файл невеликий - 3 МБ. Разархівіруем:
tar -xvzf steamcmd_linux.tar.gz
Якщо все пройшло успішно - виведеться список розпакованих файлів. Видаляємо паче не потребується нам скачаний архів:
Запускаємо консольний Steam:
Він тут же оновиться. Якщо запуск пройшов успішно, ви побачите перед собою консоль самого Steam'а (починається з «Steam>»). У цій консолі ми пишемо:
Так ми увійдемо під гостьовим доступом до сервісів скачки серверів. В результаті виконання повинен видати «... Success». Потім прописуємо заздалегідь папку, куди буде ставитися, власне наш сервер Counter-Strike. Перший важливий момент, де потрібно бути уважним. Назва папки «css» в команді нижче, потрібно замінити на «cs_go», якщо ви ставите Global Offensive. Я буду ставити Counter-Strike: Source, тому папка буде називатися «css»:
Наступний важливий момент. Пишемо команду для початку скачування сервера. Вона містить в собі так званий app_id, тобто унікальний ідентифікатор (номер з цифр) ігрового сервера, який ми будемо качати. Для CS: Source, app_id дорівнює 232 330, для CS: GO - 740. Я ставлю CS: Source, тому моя команда виглядає так:
app_update 232330 validate
Відповідно, у випадку з GO, міняєте на 740 число. Після введення цієї команди, почнеться процес скачування самих файлів сервера. Для Counter-Strike: Source цей розмір приблизно 2.5 ГБ, для Global Offensive напевно більше, так що будьте обережні з трафіком. Даний процес може бути реально довгим, все залежить від швидкості вашого інтернету. У мене викачав приблизно за хвилин 20. При успішному завантаженні виведе: «Success! App app_id fully installed ». Повертаємося в консоль сервера, написавши:
Тепер ми вийшли з стіма, очистили екран і перед нами термінал сервера. Створимо головний конфігураційний файл server.cfg:
Логічно розмірковує читач, напевно сам зрозумів, що якщо він ставить GO, то замість «css» в командах він пише «cs_go». Після виконання всього, що я писав вище, перед вами відкриється щось на кшталт «блокнота» в командному виді. Це наповнення нашого конфігураційного файлу. Зараз туди нічого писати не потрібно, просто збережемо його - Ctrl + O і закриємо блокнот на Ctrl + X. В майбутньому, відредагувавши цей файл, можна буде встановлювати змінні сервера. Наприклад «bot_difficulty», «sv_gravity» і купу інших.
Повертаємося на два каталогу тому, в папку «css». З неї ми наступним кроком запустимо сервер:
Пробний запуск! Команда нижче відноситься до Counter-Strike: Source, якщо ви ставите Global Offensive, дивіться список стартових команд тут. пишемо:
/ Srcds_run -console -game cstrike -maxplayers 20 -port 27015 + map de_dust
Це, як ви самі зрозуміли вже (я сподіваюся) запустить сервер з такими параметрами: карта de_dust, максимум гравців - 20, порт сервера - 27015. При завантаженні сервер виводить дуже багато балок, швидше за все перше ви навіть не встигнете прочитати, як швидко і багато їх буде. В кінці завантаження в термінал виведеться: «VAC cecure mode is activated», що означає що наш сервер успішно запустився.
висновок
У висновку ще пара важливих речей. Для гри по інтернету, на фаєрволі вашого сервера повинні бути відкриті порти від 27000 до 27040 включно, і TCP і UDP протоколи. Як прокидати порти в Лінуксі і на роутерах, шукайте в інтернеті.