В последнее время меня часто спрашивают: "Как установить сервер для Контры?" И я наконец то решился написать мануал к установке сервера контры дома. Для начала: есть ли смысл воолбще устанавливать сервер контр страйка дома, да еще и под *nix?
Ответ "Нет", если:
1. У вас нет постоянного IP-адреса (можно купить у провайдера~100шек/мес) (но это решается использованием динамического DNS - no-ip.org, или т.п.)
2. У вас нет подключения к интернету с минимальной скоростью upload не менее 30 килобайт/сек. (но это не требуется, если вы играете только по локальной сети, но в таком случае ставьте лучше сервер под Windows)
Если вы, несмотря ни на что, всетаки хотите ставить сервак контры на *nix-системе...
Берем старый комп с установленной ОС (Linux, FreeBSD - все равно, самое главное чтоб работал)
PIII-1000 с 512 оперативки и хардом на 10 гиг достаточно
Для *nix качаем это
Потом в коммандной строке выполняем следующее:
linux# cd /hlds
linux# chmod +x hldsupdatetool.bin
linux# ./hldsupdatetool.bin
После этой операции надо ответить yes на вопрос, заданный программой.
Все, ваша Контра готова к употреблению, тестим командой:
Запускаете всю эту дребедень, ставите комп в свою локальную сеть, накрывете защитной сетью (чтобы сервер никто не нашел :)), если надо, то перенаправляете входящие соединения на 27015 порт на комп с сервером, и подключаетесь сами. Сами, естественно, подключаетесь по адресу сервера в вашей локальной сети, через глобальный адрес вряд ли получится.
Понятное дело, что параметр +ip - это IP-адрес машины, на которой он запущен в локальной сети (а не внешний IP у интернет-провайдера, если вы сидите вместе с вашим сервером в одной подсети за раутером или NAT). В принципе, этот параметр нужен только в том случае, если у машины с сервером есть несколько IP-адресов, и вы хотите запустить сервер на каком-то конкретном адресе. Если вам все равно, к какому IP будут коннектиться клиенты, то можно указать 0.0.0.0 (це все локальные адреса)
Внимание!!! установка steam сервера!!! NOSTEAM клиенты играть не смогут!!!!
Если вы сделали все вышеуказанное, то вот еще несколько полезностей:
Запуск сервера в фоновом режиме (чтобы можно было выйти из SSH или вообще сделать логаут и оставить сервер запущенным)
Для начала нужно создать исполнимый файл с командой запуска сервера.
Назовем этот файл start_csserv.sh и впишем в него команду (из предыдущего поста:
Есть два способа:
1. Командой screen
Что при этом происходит: команда запускает отдельную копию шелла в фоновом режиме в отдельном, возобновляемом треде (detached mode). Таких "скринов" можно запустить несколько.
Чтобы переключиться в этот тред, нужно выполнить:
Эта команда возобновит последний (хотя может и первый??) скрин, который вы запускали. Если вы запускаете несколько серверов на одной машине, то почитайте man screen чтобы узнать как возобновить желаемый скрин.
Переключившись в этот скрин вы можете видеть лог и игровую консоль, остановить сервер, выполнять команды на игровом сервере (кикать, менять карты и тп). Чтобы теперь вернуть его опять в фоновый режим, нажмите Ctrl+A, D
То, что в скрин можно вернуться, является его несовмненным приемуществом, но при этом ОС держит в памяти дополнительную консоль и коммандную оболочку. Если вам это не нужно, то можно запустить по-другому:
2. В невозобновляемом фоновом режиме:
или даже:
Все эти команды можно тоже положить в свои отдельные шелл-скрипты, и запускать просто набрав их в коммандной строке.