1 minute read

Совершенно внезапно решили сыграть в старую добрую CS 1.6 с друзьями, и у вас под рукой валяется сервак с докером? Отлично! Давайте поднимем, пока твои друзья не перехотели играть с тобой.

Дистр не должен влиять на ход туториала, но в моём случае была Ubuntu с установленным Docker, в качестве файрволла ufw.

Готовимся

Во-первых, должен стоять Docker. Во-вторых, нужно ещё поставить docker-compose.

Нужно ещё открыть порт 27015

sudo ufw allow 27015
sudo ufw reload

Этого должно быть достаточно.

Готовим сам сервак CS 1.6

Воспользуемся образом докера от kriansa

Дисклеймер: Я не имею отношения к этим скриптам, поэтому рекомендую перепроверить их перед запуском. Исполнять придётся под суперпользователем. Пост написан 10 июля 12019 [Human Era], с этого момента могли быть новые коммиты.

Склонируем репозиторий в удобное место:

git clone https://github.com/kriansa/cs-16-server.git
cd cs-16-server

Сразу зададим пароль. В файле docker-compose.yml измените переменную SV_PASSWORD, или оставьте её пустой, чтобы не использовать пароль. В этом же файле можно задать rcon пароль, максимальное количество игроков и название карты.

Теперь можно подготовить образ.

sudo bin/setup

Ждём, когда докер всё подготовит.

В папке cstrike хранятся все конфиги, плагины и карты. Здесь нужно отредактировать файл cstrike/addons/amxmodx/configs/users.ini и добавить себя как админа. Узнать свой SteamID можно здесь: steamid.io/lookup.

В принципе, этого достаточно. Конфиги сервера в папке cstrike/cfgs, порядок ротации карт в cstrike/mapcycle.txt

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

Возвращаемся в папку cs-16-server и исполняем нужные команды.

# Запустить сервер
sudo bin/server start
# Читать логи
sudo bin/server logs -f
# Остановить сервер
sudo bin/server stop

Играем

Открываем CS 1.6, жмём ~ и вводим команду для подключения. Если пароля нет, указывать вторую команду не нужно.

connect <IP сервера>; password <Пароль>

Чтобы сменить карту, во время игры жмём ~ и вводим amx_map <mapname>, или amx_votemapmenu чтобы отобразить меню голосования для всех игроков.

Все команды AMX