Установка сервера Garry's Mod на Linux — различия между версиями
Papay (обсуждение | вклад) (→Установка дополнительного игрового контента других игр) |
Papay (обсуждение | вклад) (→Ссылки) |
||
(не показаны 23 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | В данном инструкции мы расскажем как установить сервер игры '''Garry's Mod''' на ''голый'' | + | В данном инструкции мы расскажем как установить сервер игры '''Garry's Mod''' на ''голый'' дистрибутив Linux (CentOS/Debian/Ubuntu). |
<br><br> | <br><br> | ||
Рекомендуемые операционные системы Linux | Рекомендуемые операционные системы Linux | ||
Строка 7: | Строка 7: | ||
*CentOS 7 | *CentOS 7 | ||
<br> | <br> | ||
+ | |||
+ | == Видеоинструкция установки DarkRP == | ||
+ | <youtube>https://youtu.be/3TMJ3XPcXhc</youtube> | ||
+ | |||
== Первичная настройка Linux == | == Первичная настройка Linux == | ||
[[File:PuTTY 0.62 on Windows 8.png|right|thumb|240px|PuTTY]] | [[File:PuTTY 0.62 on Windows 8.png|right|thumb|240px|PuTTY]] | ||
− | Вы заказали на [https://www.myarena.ru/ | + | Вы заказали на сайте MyArena [https://www.myarena.ru/vds_cloud.html виртуальный сервер], выбрали и установили операционную систему, что же делать дальше? Прежде чем перейти к установке сервера игры, нам потребуется провести предварительную настройку Linux. |
'''1'''. Скачиваем и устанавливаем программу [https://www.putty.org/ PuTTY] себе на компьютер, что бы могли подключиться к серверу. | '''1'''. Скачиваем и устанавливаем программу [https://www.putty.org/ PuTTY] себе на компьютер, что бы могли подключиться к серверу. | ||
Строка 28: | Строка 32: | ||
'''3'''. Установка кодировки UTF-8 в операционной системе. | '''3'''. Установка кодировки UTF-8 в операционной системе. | ||
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
+ | Для 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 set-locale LANG=en_US.UTF-8 | ||
Строка 38: | Строка 51: | ||
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
Для Debian/Ubuntux64 | Для Debian/Ubuntux64 | ||
− | apt install | + | apt install lib32gcc1 |
+ | apt install lib32stdc++6 | ||
+ | apt install libsdl2-2.0-0 | ||
+ | dpkg --add-architecture i386 | ||
+ | apt-get update | ||
Для CentOSx64 | Для CentOSx64 | ||
+ | yum install glibc.i686 libstdc++.i686 | ||
yum install glibc libstdc++ ncurses-libs | yum install glibc libstdc++ ncurses-libs | ||
</pre> | </pre> | ||
Строка 66: | Строка 84: | ||
Для CentOS | Для CentOS | ||
yum install screen | yum install screen | ||
+ | </pre> | ||
+ | |||
+ | '''6'''. Установка пакета сертификатов для Debian. | ||
+ | <pre style="width: 45%;"> | ||
+ | apt -y install ca-certificates | ||
</pre> | </pre> | ||
Строка 72: | Строка 95: | ||
'''1'''. Создаем нового пользователя с паролем, например gameserver.<br>Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой 'exit' | '''1'''. Создаем нового пользователя с паролем, например gameserver.<br>Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой 'exit' | ||
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
+ | Для Debian/Ubuntux64 | ||
+ | useradd gameserver -s /bin/bash -m /Создаем домашнюю директорию | ||
+ | passwd gameserver /Добавляем пароль, попросит указать пароль дважды | ||
+ | |||
+ | Для CentOSx64 | ||
useradd gameserver | useradd gameserver | ||
passwd gameserver qwerty | passwd gameserver qwerty | ||
Строка 78: | Строка 106: | ||
'''2'''. Подключаемся под нового пользователя | '''2'''. Подключаемся под нового пользователя | ||
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
− | su - gameserver | + | Для Debian/Ubuntux64 |
+ | su gameserver -l | ||
+ | |||
+ | Устанавливаем редактор Nano по умолчанию | ||
+ | echo 'export EDITOR=nano' >> ~/.bashrc | ||
+ | |||
+ | Для CentOSx64 | ||
+ | su - gameserver -l | ||
Устанавливаем редактор Nano по умолчанию | Устанавливаем редактор Nano по умолчанию | ||
Строка 160: | Строка 195: | ||
* Монтируем контент, переходим в папку /garrysmod/'''cfg'''/ и открываем файл '''mount.cfg''' и прописываем: | * Монтируем контент, переходим в папку /garrysmod/'''cfg'''/ и открываем файл '''mount.cfg''' и прописываем: | ||
− | <pre> | + | <pre style="width: 45%;"> |
"cstrike" "cstrike/cstrike" | "cstrike" "cstrike/cstrike" | ||
</pre> | </pre> | ||
* Подключаем контент, в папке /'''cfg'''/ открываем файл '''mountdepots.cfg''', если надо прописываем название игры и рядом цифру 1: | * Подключаем контент, в папке /'''cfg'''/ открываем файл '''mountdepots.cfg''', если надо прописываем название игры и рядом цифру 1: | ||
− | <pre> | + | <pre style="width: 45%;"> |
"gamedepotsystem" | "gamedepotsystem" | ||
{ | { | ||
Строка 175: | Строка 210: | ||
На этом установка сервера и дополнительного контента закончена. | На этом установка сервера и дополнительного контента закончена. | ||
+ | |||
+ | == Конфиг Server.cfg == | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
== Ссылки == | == Ссылки == | ||
− | * [https://www.myarena.ru/ | + | * [https://www.myarena.ru/vds_cloud.html Заказать виртуальный сервер] |
* [https://www.myarena.ru/dedic.html Заказать выделенный сервер] | * [https://www.myarena.ru/dedic.html Заказать выделенный сервер] | ||
* [https://forum.myarena.ru/index.php?/forum/49-garrys-mod/ Обсудить игру на форуме] | * [https://forum.myarena.ru/index.php?/forum/49-garrys-mod/ Обсудить игру на форуме] |
Текущая версия на 15:51, 20 февраля 2021
В данном инструкции мы расскажем как установить сервер игры Garry's Mod на голый дистрибутив Linux (CentOS/Debian/Ubuntu).
Рекомендуемые операционные системы Linux
- Ubuntu 16.04 LTS
- Debian 8
- Fedora latest release
- CentOS 7
Содержание
Видеоинструкция установки DarkRP
Первичная настройка Linux
Вы заказали на сайте 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 lib32gcc1 apt install lib32stdc++6 apt install libsdl2-2.0-0 dpkg --add-architecture i386 apt-get update Для 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
6. Установка пакета сертификатов для Debian.
apt -y install ca-certificates
Установка сервера Garry's Mod
1. Создаем нового пользователя с паролем, например gameserver.
Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой 'exit'
Для Debian/Ubuntux64 useradd gameserver -s /bin/bash -m /Создаем домашнюю директорию passwd gameserver /Добавляем пароль, попросит указать пароль дважды Для CentOSx64 useradd gameserver passwd gameserver qwerty
2. Подключаемся под нового пользователя
Для Debian/Ubuntux64 su gameserver -l Устанавливаем редактор Nano по умолчанию echo 'export EDITOR=nano' >> ~/.bashrc Для CentOSx64 su - gameserver -l Устанавливаем редактор 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