Установка сервера Garry's Mod на Linux

Материал из Википедия MyArena.ru
Версия от 14:02, 3 октября 2019; Papay (обсуждение | вклад) (Установка сервера Garry's Mod)

Перейти к: навигация, поиск

В данном инструкции мы расскажем как установить сервер игры Garry's Mod на голый диструбутив Linux (CentOS/Debian/Ubuntu).

Рекомендуемые операционные системы Linux

  • Ubuntu 16.04 LTS
  • Debian 8
  • Fedora latest release
  • CentOS 7


Первичная настройка Linux

PuTTY

Вы заказали на MyArena сервер, выбрали и установили операционную систему, что же делать дальше? Прежде чем перейти к установке сервера игры, нам потребуется провести предварительную настройку Linux.

1. Скачиваем и устанавливаем программу PuTTY себе на компьютер, что бы могли подключиться к серверу.

  • Запускаем программу, открываем вкладку Window, переходим в Translation и в меню Remote character set выбираем UTF-8.
  • Возвращаемся во вкладку Session. В Host Name указываем IP адрес вашего сервера, ниже в Saved Sessions придумайте имя подключения и нажмите на кнопку Save.
  • Подключаемся к серверу.

2. Обновление операционной системы. Данный процесс займет продолжительное время и будет запрашивать подтверждения действий.

Для Debian/Ubuntu x64
apt update
apt upgrade

Для CentOSx64
yum update

3. Установка кодировки UTF-8 в операционной системе.

Для Debian/Ubuntux64
apt install locales
Установка пакета кодировок

dpkg-reconfigure locales
Для Debian 8 - Нужная нам кодировка под номером 146, перелистываем список клавишей enter, после чего указываем номер кодировки и подтверждаем цифрой 3.
Для Debian 9 - Находим нужную кодировку и жмем enter.

Для CentOSx64
Установка
localectl set-locale LANG=en_US.UTF-8

Проверка
localectl status

4. Установка дополнительных библиотек, при использование 64 битной операционной системы

Для Debian/Ubuntux64
apt install glibc.i686 libstdc++.i686
apt install glibc libstdc++ ncurses-libs

Для CentOSx64
yum install glibc.i686 libstdc++.i686
yum install glibc libstdc++ ncurses-libs
  • Перезапускаем сервер

5. Установка дополнительных программ.

  • Установка текстового редактора Nano
Для Debian/Ubuntu x64
apt install nano

Для CentOS
yum install nano

Устанавливаем редактор Nano по умолчанию
echo 'export EDITOR=nano' >> ~/.bashrc
  • Установка Screen
    • Screen создает отдельные объекты, очень похоже на окна, которое можно свернуть или развернуть, если проводить аналогию с графическим интрефейсом. Только вместо окна вы получаете виртуальную консоль, которую можно отправить в фон или вывести на передний план, и в которой запускается указанное приложение.
Для Debian/Ubuntu x64
apt install screen

Для CentOS
yum install screen

Установка сервера Garry's Mod

Header.jpg

1. Создаем нового пользователя с паролем, например gameserver.
Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой 'exit'

Для Debian/Ubuntux64
useradd gameserver -s /bin/bash -m  /Создаем домашнюю директорию
passwd gameserver                   /Добавляем пароль, попросит указать пароль дважды

Для CentOSx64
useradd gameserver
passwd gameserver qwerty

2. Подключаемся под нового пользователя

Для Debian/Ubuntux64
su gameserver

Устанавливаем редактор Nano по умолчанию
echo 'export EDITOR=nano' >> ~/.bashrc

Для CentOSx64
su - gameserver

Устанавливаем редактор Nano по умолчанию
echo 'export EDITOR=nano' >> ~/.bashrc

3. Создаем и переходим в папку, куда будем загружать steamcmd

mkdir steamcmd
cd steamcmd

4. Скачиваем архив steamcmd и разархивируем его

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

tar -xvzf steamcmd_linux.tar.gz

5. Запускаем steamcmd.sh. Важно: нужно находиться в папке steamcmd.

./steamcmd.sh

6. Загрузка и установка сервера

Указываем логин, аноним
login anonymous

Указываем путь куда будет загружен сервер игры Garry's Mod
Пример расположения: /home/gameserver/steamcmd/garrysmod/
force_install_dir ./garrysmod/

Загружаем сам сервер
app_update 4020

Запуск обновления сервера или проверка на целостность файлов
app_update 4020 validate

7. Запуск сервера. После загрузки сервера выходим из steamcmd введя команду 'quit'

Переходим в папку garrysmod
cd ./garrysmod/

Пример строчки запуска:
./srcds_run -game garrysmod -port 27015 +maxplayers 32 +gamemode sandbox +map gm_construct

Завершить процесс, выключить игровой сервер нажатием клавиш ctrl+c

После этих действий сервер начнет запускаться, вы сможете зайти на него указав ip адрес и порт, например 37.230.228.208:27015
На этом установка сервера почти закончена.

Автоматический запуск игрового сервера после перезапуска VDS

  • Под пользователем gameserver прописываем команду crontab -e
@reboot screen -AmdS run_garrysmod /home/gameserver/steamcmd/garrysmod/srcds_run -game garrysmod -port 27015 +maxplayers 32 +gamemode sandbox +map gm_construct
  • После этого нажимаем на сочетание клавиш ctrl+x и сохраняем результат
  • Чтобы посмотреть, что запущено в скрине наберите screen -ls
  • Чтобы посмотреть отдельный скрин screen -x название скрина или его номер.
  • Чтобы выйти из выбранного скрина нажмите ctrl+a затем d.

Установка дополнительного игрового контента других игр

Вывод информации в консоль о подключенном контенте

Разберем на примере установки дополнительного контента игры Counter-Strike: Source. Проблема данного способа, в том, что придется выкачивать полностью весь сервер игры. После закачки сервера, вы можете удалить лишние папки и файлы, в корне cstrike, но внутри нужно оставить только одну папку с названием cstrike.

  • Запускаем ./steamcmd.sh Важно: нужно находиться в папке steamcmd.
Указываем логин, аноним
login anonymous

Указываем путь куда будет загружен контент
Пример расположения: /home/gameserver/steamcmd/garrysmod/cstrike/
force_install_dir ./garrysmod/cstrike/

Загружаем сервер
app_update 232330
  • Монтируем контент, переходим в папку /garrysmod/cfg/ и открываем файл mount.cfg и прописываем:
"cstrike" "cstrike/cstrike"
  • Подключаем контент, в папке /cfg/ открываем файл mountdepots.cfg, если надо прописываем название игры и рядом цифру 1:
"gamedepotsystem"
{
  "hl2"      "1"
  "cstrike"  "1"
  "tf"       "1"
}

На этом установка сервера и дополнительного контента закончена.

Конфиг Server.cfg

hostname "Новый Сервер от MyArena.ru"	                // Название сервера. Писать можно как на английском, так и на Русском языках
rcon_password ""					// Пароль для управления сервером через RCON команды. ВНИМАНИЕ: делайте пароль сложным!
sv_password ""						// Пароль доступа на сервер
sv_defaultgamemode "sandbox"			        // Игровой режим по умолчанию. Рекомендуется только SandBox.
mp_flashlight "0"					// 1 - разрешает использовать фонарик; 0 - запрещает
mp_timelimit "0"					// Время на карте. Рекомендуется 0, т.к. это песочница
sv_allowdownload "1"					// Возможность скачивать с сервера файлы
sv_allowupload "1"					// Возможность закачивать на сервер файлы. Например эмблемы
decalfrequency "60"					// Время до исчезновения декалей в секундах
sv_alltalk "1"						// Режим работы общего голосового чата. При включении все игроки будут слышать друг друга независимо от команды, в которой они играют
sv_pausable "0"						// Возможность использования паузы во время игры
sv_voiceenable "1"					// Режим работы голосового чата в игре
sv_rcon_banpenalty "60"					// Колличество минут на которое банится игрок пытавшийся подобрать rcon-пароль к серверу
sv_rcon_maxfailures "5"					// Максимальное колличество попыток при наборе rcon-пароля, после истечения которых игрок будет забанен
sv_rcon_minfailures "5"					// Колличество попыток при наборе rcon-пароля во время заданное sv_rcon_minfailuretime, после истечения которых игрок будет забанен
sv_rcon_minfailuretime "30"				// Колличество секунд для определения неверной rcon-аутенфикации
sv_maxrate "35000"					// Максимально-допустимый предел передачи/приёма байт в секунду между клиентом и сервером
sv_mincmdrate "40"					// Минимальное количество пакетов в секунду к серверу
sv_minrate "15000"					// Минимально допустимый предел передачи/приёма байт в секунду между клиентом и сервером
sv_minupdaterate "40"					// Минимальное количество переданных пакетов в секунду
sv_maxupdaterate "100"					// Максимальное количество переданных пакетов в секунду
sv_maxcmdrate "100"					// Максимальное количество пакетов в секунду к серверу	
sv_client_cmdrate_difference "1"
sv_client_predict "1"
sv_client_interpolate "1"
sv_client_min_interp_ratio "-1"
sv_client_max_interp_ratio "-1"
sbox_allownpcs "0"					// 1 - Разрешить NPC на сервере; 0 - Запретить. //
sbox_maxnpcs "0"					// Максимальное количество NPC (ботов). Чем выше значение, тем больше лагов
sbox_maxballoons "10"					// Максимум шариков. Чем выше значение, тем больше лагов
sbox_maxdynamite "4"					// Максимум динамитов. Чем выше значение, тем больше лагов
sbox_noclip "1"						// Разрешить использование NoClip при строительстве.
sbox_maxthrusters "20"					// Максимум Thruster'ов. Чем выше значение, тем больше лагов
sbox_maxprops "100"					// Максимум пропсов (Props). Чем выше значение, тем больше лагов
sbox_maxwheels "20"					// Максимум колёс. Чем выше значение, тем больше лагов
sbox_plpldamage "1"					// 0 - Разрешить игрокам атаковать друг друга
sbox_godmode "1"					// Управление режимом неуязвимости. 0 - режим выключен.
sbox_playergod "0"					// 1 - Игрок неуязвим.
sbox_maxhoverballs "20"					// Максимум Hoverball'ов. Чем выше значение, тем больше лагов
sbox_maxsents "20"					// Задаёт максимальное количество sent для каждого пользователя на сервере. Чем выше значение, тем больше лагов
sbox_maxeffects "10"					// Максимум эффектов (effects). Чем выше значение, тем больше лагов
sbox_maxbuttons "10"					// Максимум обычных кнопок (не Wire). Чем выше значение, тем больше лагов
sbox_maxlamps "4"					// Максимум ламп и источников света. Чем выше значение, тем больше лагов
sbox_maxragdolls "10"					// Максимум рэгдоллов. Чем выше значение, тем больше лагов
sbox_maxvehicles "4"					// Максимум машин. Чем выше значение, тем больше лагов
sbox_maxemitters "5"					// Максимум эмиттеров. Чем выше значение, тем больше лагов
physgun_limited "1"					// Лимит на Physgun

exec banned_user.cfg
exec banned_ip.cfg

Ссылки