Поднимаем сервак CS 1.6 за несколько минут
Совершенно внезапно решили сыграть в старую добрую 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
чтобы отобразить меню голосования для всех игроков.