Содержание

SteamCMD - Counter-Strike 2

Все параметры нужно отредактировать

Установка

./steamcmd.sh +@sSteamCmdForcePlatformType linux +force_install_dir /path/to/server/cs2-ds +login anonymous +app_update 730 validate +quit

Или SteamCMD

force_install_dir /path/to/server/cs2-ds
login anonymous
app_update 730 validate

По умолчанию сервер будет доступен только из локальной сети.
Для доступа из интернета, нужно создать токен.

Генерация токена

https://steamcommunity.com/dev/managegameservers

Номер приложения: 730
Примечание: CS:2

Полученный токен добавить в файл autoexec.cfg

Или добавить параметр при запуске
+sv_setsteamaccount <TOKEN>

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

Создать simlink к клиенту steam, чтоб не было ошибки сегментирования при запуске

mkdir ~/.steam
mkdir ~/.steam/sdk64
ln -s /path/to/steamcmd/linux64/steamclient.so ~/.steam/sdk64/

game/bin/linuxsteamrt64/cs2

./cs2 -dedicated +map de_dust2

С токеном

./cs2 -dedicated +map de_dust2 +sv_setsteamaccount <TOKEN>

Параметры запуска

Больше параметров: https://developer.valvesoftware.com/wiki/Command_line_options

Параметр Пример Описание
-dedicated n/a Позволяет запустить Counter-Strike 2 как выделенный сервер.
-ip -ip 1.2.3.4 Позволяет задать IP-адрес сервера.
Полезно, если сервер CS2 необходимо привязать
к определенному IP-адресу.
-insecure n/a Позволяет отключить VAC.
-maxplayers -maxplayers 64 Установите количество слотов для игрового сервера.
-port -port 27015 Установите порт игры игрового сервера.

Консольные переменные (cvars)

cvars можно загрузить из файла конфигурации, включив их в параметры командной строки с помощью +, например +map de_dust2, или из консоли.

Переменная Пример Описание
hostname hostname «My CS2 Server» Имя хоста для сервера.
map map de_dust2 карта <mapname>: загрузить новую карту.
game_alias game_alias deathmatch Установите конфигурацию типа и режима игры на основе псевдонима игры, например «deathmatch»
sv_lan sv_lan 0 Сервер — это локальный сервер (без аутентификации, без адресов).
sv_logfile sv_logfile 1 Регистрируйте информацию о сервере в файле журнала.

Режимы и типы игры

Competitive:
game_alias competitive <- устанавливает команды как игрового режима, так и типа игры
game_mode 1
game_type 0

Wingman:
game_alias wingman <- устанавливает команды игрового режима и типа игры
game_mode 2
game_type 0

Casual:
game_alias casual <- устанавливает команды как игрового режима, так и типа игры
game_mode 0
game_type 0

Deathmatch:
game_alias deathmatch <- устанавливает команды как режима игры, так и типа игры
game_mode 2
game_type 1

Custom:
game_alias custom <- устанавливает команды как игрового режима, так и типа игры
game_mode 0
game_type 3

Соревновательный (Competitive) и Премьер (Premier):

Классические режимы 5v5, где две команды сражаются за контроль над точками установки бомбы (на картах типа de_) или за спасение/уничтожение заложников (на картах типа hostage). Оба режима используют систему званий и рейтинга, но Premier имеет более продвинутую систему подбора игроков и выбора карт.

Напарники (Wingman):

Упрощенная версия соревновательного режима, где играют 2v2 на небольших картах.

Обычный (Casual):

Аналогичен соревновательному, но без рейтинговой системы и с возможностью играть за заложников или установить/обезвредить бомбу.

Бой насмерть (Deathmatch):

Режим, где игроки возрождаются сразу после смерти и сражаются на время, пытаясь набрать как можно больше убийств. Это хороший способ попрактиковаться в стрельбе и изучить карты.

Мой способ запуска сервера в Screen

Установка Screen

apt-get install screen

Скрипт запуска

chmod +x run.sh

Заменить пути на свои

#!/bin/bash
# run.sh

GAME_PATH=/home/user/cs2-ds
MAP_NAME="de_dust2"
GAME_ALIAS="casual"
GAME_PORT=27015
TOKEN=243FB848AB785BE1D9949D683F05601B

SCREEN_NAME="cs2"

# Обновление файлов (приведет к долгому запуску)
#/home/user/steamcmd/steamcmd.sh +@sSteamCmdForcePlatformType linux +force_install_dir $GAME_PATH +login anonymous +app_update 730 validate +quit

# Запуск сервера
cd $GAME_PATH/game/bin/linuxsteamrt64/ && /usr/bin/screen -dmS $SCREEN_NAME ./cs2 -dedicated +map $MAP_NAME +sv_setsteamaccount $TOKEN +game_alias $GAME_ALIAS +port $GAME_PORT

Источники