Инструкция Создание сервера CS:GO на VDS с помощью LGSM.

  • Привет, Гость! Нам не хватает времени, все жалобы/заявления на модератора рассматриваются до двух дней.
    Просим прощения за предоставленные неудобства.

admin

onlyawp.ru
Гл. администратор
7 Июн 2020
490
176
onlyawp.ru
Привет, решил написать статейку по Linux Game Server Managers (lgsm).
Я понимаю, что на официальном сайте все и так довольно понятно, но здесь мы разберем горячие клавиши, авторестарт, проверку обновлений, возможные ошибки.

В качестве дистрибутива linux устанавливаем Ubuntu 20.04, свободного места необходимо ~45 ГБ.

1. Авторизуемся под пользователем с sudo-правами/root, устанавливаем зависимости.
Bash:
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd
2. Создаем нового пользователя, заходим из под него.
Bash:
adduser csgoserver # csgoserver - любое имя пользователя. После ввода команды вас запросит пароль, который не будет виден при вводе. На этапе с заполнением Full Name, Room Number и прочее, просто жмите Enter.
su - csgoserver # csgoserver - опять же зависит от того, какое имя пользователя вы указали в adduser
3. Скачиваем bash-скрипт, запускаем установщик.
Bash:
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csgoserver
./csgoserver install # Проверяем директорию сервера, пишем Y.

После установки сервера, у нас есть целый список команд.
Bash:
./csgoserver start # запускает сервер, можно сокращенно ./csgoserver st
./csgoserver stop # останавливает сервер, можно сокращенно ./csgoserver sp
./csgoserver restart # рестартит сервер.
./csgoserver console # подключается к консоли сервера, горячие клавиши для консоли разберем позднее.
./csgoserver update # проверяет обновления сервера, если нашел - рестартит и обновляет сервер.
./csgoserver force-update # обновляет сервер, не проверяя сами обновления.
./csgoserver validate # обновляет сервер с валидацией, заменяет конфигурационные файлы на стандартные.
./csgoserver details # показывает информацию - дистрибутив, ядро и прочее.
./csgoserver debug # дебаг, очень полезная функция когда сервер сразу крашится, а вы не успеваете зайти в консоль.
./csgoserver backup # создает резервную копию в tar bzip2 архиве.
./csgoserver monitor # показывает информацию о самом сервере.
./csgoserver fastdl # архивирует файлы в .bz2 для дальнейшего скачивания.

Горячие клавиши для работы с консолью.
Bash:
ctrl + b d # сначала жмете ctrl + b, далее d, без ctrl - выходит из консоли. Не используйте ctrl + c/z, сервер может отключиться.
ctrl + b Page Up/Page Down # сначала жмете ctrl + b, далее Page Up/Down - листает консоль вверх/вниз.

Переходим к авторестарту, автообновлению сервера, lgsm. Чтобы настроить свое время, переходим на сайт crontab.guru, играемся со временем.
Bash:
crontab -e  # запускаем "планировщик задач", в качестве редактора выбираем nano. Вписываем туда строчки ниже.
30 5 * * * ~/csgoserver restart > /dev/null 2>&1 # выполняем авторестарт в 05:30 утра каждый день, /dev/null 2>&1 - "отключает" вывод о выполненной задаче.
*/30 * * * * ~/csgoserver update > /dev/null 2>&1 # проверяет обновления каждые 30 минут, например в 21:30, 22:00. /dev/null 2>&1 - "отключает" вывод о выполненной задаче.

Переходим к настройке FastDL, предварительно запустите команду для архивации файлов.
Bash:
./csgoserver fastdl # запускаем архивацию файлов.
Устанавливаем web-server nginx, он лучше подходит для раздачи статических файлов.
Bash:
sudo apt update; sudo apt install nginx # устанавливаем nginx
Переходим в директорию /etc/nginx/sites-available/, создаем конфигурационный файл, открываем через текстовый редактор nano.
Bash:
sudo touch fastdlcsgo # создаем файл с названием fastdlcsgo.
sudo nano fastdlcsgo # открываем файл через текстовый редактор nano.
Копируем готовый конфиг, устанавливаем айпи своей VDS на 5 строчке.
NGINX:
server {
    listen 80;
    listen [::]:80;

    server_name yourVDSip; # Прописываем здесь IP сервера и/или домен.

    root /home/csgoserver/public_html/fastdl; # Указываем путь до папок с файлами.

    set $limit_rate 3m; # Ограничиваем скорость на скачивание.

    # Защищаем все конфиги с расширениями .cfg и .ini закрытием соединения, если вдруг они у вас как-то там оказались.
    location ~ \.cfg$ { return 444; }
    location ~ \.ini$ { return 444; }
    location ~ \.log$ { return 444; }
  
    # За основу брал https://hlmod.ru/threads/nastrojka-fastdl-na-vds-ubuntu-debian.47520/post-560462
}
Сохраняем и делаем симлинк для активации конфига.
Bash:
ln -s /etc/nginx/sites-available/fastdlcsgo /etc/nginx/sites-enabled/ # создаем симлинк.
Проверяем конфигурацию nginx и рестартим.
Bash:
sudo nginx -t # если не выводит ошибки, то смело рестартим nginx.
sudo service nginx restart # рестарт nginx.
Переходим по ссылке, пытаемся скачать любую карту.
Код:
http://yourVDSip/maps/dz_county.bsp.bz2 # если предлагает сохранить карту, значит работает.
Указываем в sv_downloadurl "http://yourVDSip", проверяем работу на самом сервере.

С какими проблемами мы можем встретиться в процессе установки.
1644776765604-png.92102

Копируем третью строчку, которая начинается с sudo и выполняем из под привилигированного пользователя, возвращаемся к пользователю csgoserver, запускаем установку сервера заново.
Исправляется очень просто, заходим из под привилигированного пользователя, выполняем
Bash:
32-bit Debian or Ubuntu: apt-get install zlib1g
64-bit Debian or Ubuntu: apt-get install lib32z1
Спасибо SB-MA Wiki.
Добавляем пользователя www-data, в группу пользователя csgoserver
Bash:
usermod -aG csgoserver www-data

Помощь осуществляется в теме на hlmod.ru