Установка сервера Garry's Mod на Linux — различия между версиями
Papay (обсуждение | вклад) (→Установка сервера Garry's Mod) |
Papay (обсуждение | вклад) (→Установка дополнительного игрового контента других игр) |
||
(не показано 49 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
В данном инструкции мы расскажем как установить сервер игры '''Garry's Mod''' на ''голый'' диструбутив Linux (CentOS/Debian/Ubuntu). | В данном инструкции мы расскажем как установить сервер игры '''Garry's Mod''' на ''голый'' диструбутив Linux (CentOS/Debian/Ubuntu). | ||
− | + | <br><br> | |
+ | Рекомендуемые операционные системы Linux | ||
+ | *Ubuntu 16.04 LTS | ||
+ | *Debian 8 | ||
+ | *Fedora latest release | ||
+ | *CentOS 7 | ||
+ | <br> | ||
== Первичная настройка 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/vds.html | + | Вы заказали на [https://www.myarena.ru/vds.html MyArena сервер], выбрали и установили операционную систему, что же делать дальше? Прежде чем перейти к установке сервера игры, нам потребуется провести предварительную настройку Linux. |
'''1'''. Скачиваем и устанавливаем программу [https://www.putty.org/ PuTTY] себе на компьютер, что бы могли подключиться к серверу. | '''1'''. Скачиваем и устанавливаем программу [https://www.putty.org/ PuTTY] себе на компьютер, что бы могли подключиться к серверу. | ||
Строка 13: | Строка 19: | ||
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
Для Debian/Ubuntu x64 | Для Debian/Ubuntu x64 | ||
− | apt | + | apt update |
+ | apt upgrade | ||
− | Для | + | Для CentOSx64 |
yum update | yum update | ||
</pre> | </pre> | ||
Строка 28: | Строка 35: | ||
</pre> | </pre> | ||
− | '''4'''. Установка дополнительных библиотек | + | '''4'''. Установка дополнительных библиотек, при использование 64 битной операционной системы |
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
− | Для Debian/ | + | Для Debian/Ubuntux64 |
− | apt | + | apt install glibc libstdc++ ncurses-libs |
− | Для | + | Для CentOSx64 |
− | yum install glibc | + | yum install glibc libstdc++ ncurses-libs |
</pre> | </pre> | ||
− | *Перезапускаем сервер | + | * '''Перезапускаем сервер''' |
'''5'''. Установка дополнительных программ. | '''5'''. Установка дополнительных программ. | ||
− | *Установка | + | *Установка текстового редактора [https://losst.ru/tekstovyj-redaktor-nano-v-linux-dlya-novichkov Nano] |
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
Для Debian/Ubuntu x64 | Для Debian/Ubuntu x64 | ||
− | apt | + | apt install nano |
Для CentOS | Для CentOS | ||
− | yum install | + | yum install nano |
− | + | Устанавливаем редактор Nano по умолчанию | |
− | + | echo 'export EDITOR=nano' >> ~/.bashrc | |
</pre> | </pre> | ||
− | *Установка Screen | + | *Установка [https://help.ubuntu.ru/wiki/screen Screen] |
+ | ** ''Screen создает отдельные объекты, очень похоже на окна, которое можно свернуть или развернуть, если проводить аналогию с графическим интрефейсом. Только вместо окна вы получаете виртуальную консоль, которую можно отправить в фон или вывести на передний план, и в которой запускается указанное приложение.'' | ||
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
Для Debian/Ubuntu x64 | Для Debian/Ubuntu x64 | ||
− | apt | + | apt install screen |
Для CentOS | Для CentOS | ||
Строка 61: | Строка 69: | ||
== Установка сервера Garry's Mod == | == Установка сервера Garry's Mod == | ||
− | + | [[File:Header.jpg|right|thumb|460px]] | |
'''1'''. Создаем нового пользователя с паролем, например gameserver.<br>Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой 'exit' | '''1'''. Создаем нового пользователя с паролем, например gameserver.<br>Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой 'exit' | ||
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
Строка 70: | Строка 78: | ||
'''2'''. Подключаемся под нового пользователя | '''2'''. Подключаемся под нового пользователя | ||
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
− | su - | + | su - gameserver |
+ | |||
+ | Устанавливаем редактор Nano по умолчанию | ||
+ | echo 'export EDITOR=nano' >> ~/.bashrc | ||
</pre> | </pre> | ||
Строка 86: | Строка 97: | ||
</pre> | </pre> | ||
− | '''5'''. Запускаем steamcmd | + | '''5'''. Запускаем steamcmd.sh. Важно: нужно находиться в папке steamcmd. |
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
./steamcmd.sh | ./steamcmd.sh | ||
Строка 107: | Строка 118: | ||
</pre> | </pre> | ||
− | ''' | + | '''7'''. Запуск сервера. После загрузки сервера выходим из steamcmd введя команду 'quit' |
<pre style="width: 45%;"> | <pre style="width: 45%;"> | ||
Переходим в папку garrysmod | Переходим в папку garrysmod | ||
Строка 122: | Строка 133: | ||
== Автоматический запуск игрового сервера после перезапуска VDS == | == Автоматический запуск игрового сервера после перезапуска VDS == | ||
+ | * Под пользователем gameserver прописываем команду '''crontab -e''' | ||
+ | <pre> | ||
+ | @reboot screen -AmdS run_garrysmod /home/gameserver/steamcmd/garrysmod/srcds_run -game garrysmod -port 27015 +maxplayers 32 +gamemode sandbox +map gm_construct | ||
+ | </pre> | ||
+ | * После этого нажимаем на сочетание клавиш '''ctrl+x''' и сохраняем результат | ||
+ | * Чтобы посмотреть, что запущено в скрине наберите '''screen -ls''' | ||
+ | * Чтобы посмотреть отдельный скрин '''screen -x название''' скрина или его номер. | ||
+ | * Чтобы выйти из выбранного скрина нажмите '''ctrl+a''' затем '''d'''. | ||
+ | |||
+ | == Установка дополнительного игрового контента других игр == | ||
+ | [[File:Contentcss.jpg|right|thumb|374px|Вывод информации в консоль о подключенном контенте]] | ||
+ | Разберем на примере установки дополнительного контента игры Counter-Strike: Source. Проблема данного способа, в том, что придется выкачивать полностью весь сервер игры. После закачки сервера, вы можете удалить лишние папки и файлы, в корне '''cstrike''', но внутри нужно оставить только одну папку с названием '''cstrike'''. | ||
+ | * Запускаем '''./steamcmd.sh''' Важно: нужно находиться в папке '''steamcmd'''. | ||
+ | |||
+ | <pre style="width: 45%;"> | ||
+ | Указываем логин, аноним | ||
+ | login anonymous | ||
− | + | Указываем путь куда будет загружен контент | |
+ | Пример расположения: /home/gameserver/steamcmd/garrysmod/cstrike/ | ||
+ | force_install_dir ./garrysmod/cstrike/ | ||
+ | |||
+ | Загружаем сервер | ||
+ | app_update 232330 | ||
+ | </pre> | ||
+ | |||
+ | * Монтируем контент, переходим в папку /garrysmod/'''cfg'''/ и открываем файл '''mount.cfg''' и прописываем: | ||
+ | <pre style="width: 45%;"> | ||
+ | "cstrike" "cstrike/cstrike" | ||
+ | </pre> | ||
+ | |||
+ | * Подключаем контент, в папке /'''cfg'''/ открываем файл '''mountdepots.cfg''', если надо прописываем название игры и рядом цифру 1: | ||
+ | <pre style="width: 45%;"> | ||
+ | "gamedepotsystem" | ||
+ | { | ||
+ | "hl2" "1" | ||
+ | "cstrike" "1" | ||
+ | "tf" "1" | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | На этом установка сервера и дополнительного контента закончена. | ||
+ | |||
+ | == Конфиг Server.cfg == | ||
<pre> | <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> | </pre> | ||
+ | |||
+ | == Ссылки == | ||
+ | * [https://www.myarena.ru/vds.html Заказать виртуальный сервер] | ||
+ | * [https://www.myarena.ru/dedic.html Заказать выделенный сервер] | ||
+ | * [https://forum.myarena.ru/index.php?/forum/49-garrys-mod/ Обсудить игру на форуме] |
Версия 16:43, 19 июля 2019
В данном инструкции мы расскажем как установить сервер игры Garry's Mod на голый диструбутив Linux (CentOS/Debian/Ubuntu).
Рекомендуемые операционные системы Linux
- Ubuntu 16.04 LTS
- Debian 8
- Fedora latest release
- CentOS 7
Содержание
Первичная настройка 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 в операционной системе.
Установка localectl set-locale LANG=en_US.UTF-8 Проверка localectl status
4. Установка дополнительных библиотек, при использование 64 битной операционной системы
Для Debian/Ubuntux64 apt install glibc libstdc++ ncurses-libs Для CentOSx64 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
1. Создаем нового пользователя с паролем, например gameserver.
Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой 'exit'
useradd gameserver passwd gameserver qwerty
2. Подключаемся под нового пользователя
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