Создание сервера Counter Strike 1.6 на виртуальном выделенном сервере
Привет всем читателям данной статьи!
Хочу выразить благодарность хостингу «Timeweb» за предоставленный выделенный сервер на пробный период, это позволило написать данную статью.
Часть 1
0. Когда вы купили выделенный сервер, вам на электронную почту вышлют логин и пароль. Они понадобятся для работы с удаленным сервером. Также вам необходимо знать IP адрес версии 4 сервера для соединения с ним.
- Устанавливаем на свой компьютер PuTTY это позволит работать с консолью удаленного сервера.
2. Запускаем PuTTY и вводим IP адрес версии 4.
3. Появляется окно об «потенциальном нарушение безопасности» так как ключа у этого сервера в хранилище PuTTY нет, нажимаем «Yes».
4. Вводим логин и пароль для авторизации на удаленном сервере. Обращаю внимание что при вводе пароля вы не увидите отображение ввода.
5. Успешно прошли авторизацию сервера и теперь нам нужно подготовить удаленный сервер.
6. Вводим сначала команду проверки обновлений для пакетов в системе:
apt-get update.
7. Ожидаем завершение чтения данных о пакетах из репозиториев…
8. Теперь нам необходимо произвести «апгрейд». Вводим команду apt-get upgrade и подтверждаем обновление введя символ «Y».
9. Ожидаем завершение обновления пакетов…
10. Теперь нам необходимо установить библиотеку из набора компиляторов GNU Compiler Collection. Вводим команду apt-get install lib32gcc1
11. Подтверждаем установку, вводим символ «Y» и ожидаем завершение установки…
12. Так как Steam требует SDL2 его необходимо также установить.
Вводим: apt-get install libsdl2-2.0-0:i386
13. Подтверждаем символом «Y» и ожидаем завершение установки…
14. Еще раз проверяем обновления, вводим apt-get update
15. И применяем обновления (если есть), вводим apt-get upgrade и убеждаемся что все пакеты актуальны и на этом ставим точку.
Часть 2
После того как все необходимое было установлено нам необходимо создать учетную запись нового пользователя. Его создание обусловлено тем что, именно под этой учетной записью будет происходить запуск сервера и не рекомендуется запускать от имени корневого пользователя (если корневая учетная является единственной на вашей сервере).
Имя и пароль нового пользователя вы можете задать какое угодно. В первую очередь я рекомендую обратить внимание на следующие имена: server и hlds, так как именно в этой папке будут находиться игровые файлы Counter Strike.
Чтобы не писать «имя пользователя» в статье, я буду использовать логин server, вы заместо этого, можете использовать тот который вы выберите сами.
- Вводим команду добавления нового пользователя adduser и через пробел (после ввода команды) вводим логин нового пользователя.
2. Теперь нам необходимо создать пароль который будет закреплен для входа под введенным вами ранее логином нового пользователя. Напоминаю, ввод паролей не отображается в консоле.
3. Еще раз вводим пароль. Если пароли не совпадут, вас спросят о повторном вводе. Для этого если вы ошибочно ввели два разных пароля, введите «Y» чтобы повторить процедуру.
4. Далее нас просят указать дополнительную информацию об этом пользователе. Вы можете заполнить или пропустить…
5. «Введенная вами информация корректна?» — вводим символ «Y» чтобы подтвердить введенные нами данные.
6. Далее нам необходимо создать директорию в папке нового пользователя которая позволит загрузить hlds сервер с помощью утилиты SteamCMD. Вводим /home/server/platform
7. Теперь нам нужно перейти в созданную ранее директорию.
Для этого вводим cd /home/server/platform
Часть 3
После того как выделенная учетная запись для hlds сервера была создана, перейдем непосредственно к установке самого сервера.
- Нам необходимо загрузить утилиту, для этого вводим
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
2. Загрузка успешно завершена и переходим к распаковке архива введя
tar -xvzf steamcmd_linux.tar.gz
3. Видим какие файлы распаковались и замечаем скрипт которые необходимо запустить. Вводим ./steamcmd.sh
4. После того как Steam проверил все необходимое он ожидает ввода команд.
5. Для того чтобы загрузить hlds-сервер необходимо авторизоваться введя
login anonymous
6. Вход был осуществлен успешно и SDL библиотека была найдена.
7. Указываем папку куда будет производится установка. Обращаю внимание что, мы специально создавали нового пользователя который будет содержать все необходимые файлы сервера и под этой учетной записью с соответствующими правами будет происходить запуск сервера.
8. Раздел для установки указан переходим к самой установке введя команду, номер игры и параметр «проверяющий» файлы игры на валидность.
app_update 90 validate
9. Ожидаем загрузку…
10. Нам сообщили об ошибке, но не расстраиваемся вводим команду еще раз
app_update 90 validate
11. Ожидаем…
12. Игровые файлы сервера загружены но давайте еще раз убедимся в этом, вводим app_update 90 validate
13. Теперь уже точно, выходим из скрипта введя команду quit
13. Чтобы закончить установку, нам необходимо создать еще пару разделов для того чтобы в дальнейшем не было проблем с запуском. Вводим mkdir /home/server/.steam
14. Создадим еще один раздел в котором будет находится steamclient.so, вводим mkdir /home/server/.steam/sdk32
15. Скопируем steamclient.so следующей командой
cp /home/server/steamclient.so /home/server/.steam/sdk32
16. Вводим команду чтобы переключиться в другой раздел cd /home/hlds
17. Теперь нам необходимо поменять владельца на всех игровых файлах на нашего созданного пользователя так как отныне он владеет всем содержимым в его директории. Вводим chown -R server:server /home/server/
18. Также нам необходимо изменить права доступа так как только этот пользователь имеет разрешения на свои владенния и никто больше!
Вводим: chmod -R 700 /home/server/
Часть 4
После того как мы установили игровые файлы сервера нам необходимо автоматизировать процесс запуска игрового сервера при котором если случится перезапуск сервера и сделаем мы это через службы операционной системы.
- Производим авторизацию на удаленном сервере через PuTTY.
2. Вводим команду для создания нового файла под любым названием, желательно чтобы на конце была приставка service (как обнозначение службы). И так вводим sudo nano /lib/systemd/system/cstrike.service
3. Мы создали новый файл и теперь нам необходимо ввести параметры и аргументы службы. Обратите внимание что, аргументы которые используются для запуска пока что, остаются длинными, но вскоре, это заменит server.cfg и количество параметров сократится.
[Unit]
Description=Counter Strike Server
After=network.target
[Service]
User=server
Group=server
WorkingDirectory=/home/server
Environment=ARG='-game cstrike -pingboost 3 +maxplayers 32 +map de_dust2 +ip <IP адрес версии 4 вашего сервера> -port 27017'
ExecStart=/home/server/hlds_run ${ARG}
Restart=always
Nice=-10
[Install]
WantedBy=multi-user.target
4. Нажимаем на сочетание клавиш «Ctrl» + «O» и подтвержаем запись в файл.
5. В итоге нам скажут о том что, сколько строк было записано «Wrote 14 lines».
6. Нажимаем на сочетание клавиш «Ctrl» + «X» и тем самым выходим из консольного текстого редактора.
6. Теперь нам необходимо выставить права на созданную нами службу.
Вводим sudo chmod 644 /lib/systemd/system/cstrike.service
7. Перезагружаем службы, вводим systemctl daemon-reload
8. И переводим нашу службу в состоние «включить». Для этого вводим sudo systemctl enable и имя службы.
9. Перезагружаем наш сервер через панель управления и убеждаемся что сервер запущен.
