![](https://habrastorage.org/webt/-a/g-/ut/-ag-ut0qdxnkqwam6jbxd_0dmjk.png)
Одним из популярных направлений, в котором используют VDS, и о котором нередко интересуются клиенты у нашей поддержки, являются игровые серверы. Чаще всего мы слышим вопросы: «А можно ли?», «А друзья и другие пользователи смогут к нему подключиться?», «А какие параметры подойдут?». И, конечно, VDS-серверы не только можно, но и нужно использовать под подобные задачи. Намного удобнее развернуть игровой сервер на виртуальной машине, которая никак не зависит от вашего ПК и работает 24/7.
Другие статьи серии «Будни техпода»
▍ Создание VDS для размещения игрового сервера
В зависимости от проекта системные требования к серверу могут отличаться. Где-то будет достаточно 2 ядер процессора и 2 гигабайт оперативной памяти, а где-то и 8 гигабайт будет недостаточно. Минимальные требования для проектов из моего примера: 4 CPU, 4 RAM, также рекомендован SSD-диск. Поэтому я буду использовать следующую конфигурацию:
![](https://habrastorage.org/webt/vr/fx/iu/vrfxiupilw0nxptghhmgmecsn3o.png)
В качестве диска был выбран «NVMe», а в качестве операционной системы «Windows server 2022». Стоимость такой конфигурации составляет 2884 рубля в месяц, но по промокоду HABR15 вы можете получить дополнительную скидку 15% (промокод суммируется с другими скидками).
После заказа сервер установится в течение нескольких минут и отобразится во вкладке «Мои серверы» со всеми данными, которые необходимы для подключения по RDP.
![](https://habrastorage.org/webt/yk/xf/mx/ykxfmxygc2y5bkvt5ss7e7uxuie.png)
Подключаемся к серверу по RDP и приступаем к дальнейшей настройке.
▍ Установка и настройка SteamCMD
Хоть процесс установки идентичен для всех проектов, настройки у разных игровых серверов отличаются и в первую очередь подстроены под особенности той или иной игры. В этой статье я приведу пример запуска сервера для двух проектов: V Rising и Valheim.
Для начала необходимо скачать и установить приложение «steamcmd». После скачивания архива переходим в корень «диска С», создаём в нём папку с именем «steamcmd» и разархивируем в неё саму программу.
![](https://habrastorage.org/webt/a1/8t/81/a18t81q21xo9zkad6lvyniyulte.png)
Теперь откроем командную строку, перейдём в созданную папку и запустим установку приложения. Делается это следующими командами:
cd C:\steamcmd
steamcmd
![](https://habrastorage.org/webt/9s/7y/uk/9s7yukpmgwjoxnojegsknmh0evw.png)
Мы получили доступ к приложению «steamcmd» и можем приступать к установке игрового сервера. Для начала нам необходимо создать папку (я буду использовать имя «v-rising»), в которой будет храниться наш сервер. Делается это командой:
force_install_dir ./имя папки/
Также нам необходимо авторизоваться в учётной записи steam, чтобы иметь возможность скачивать нужные нам приложения. Авторизацию будем производить под логином «anonymous». Вводим команду:
login anonymous
![](https://habrastorage.org/webt/yb/6f/6n/yb6f6nbtwfr-n38l44wuvsx9phe.png)
Далее нам необходимо скачать сам игровой сервер. Для установки конкретного приложения нам потребуется его ID. Его мы можем посмотреть на сайте steamdb.info
В поиске на сайте указываем название нужной нам игры (в моём примере это будут игры V Rising и Valheim), в поле «App Type» выбираем «tool» и в списке находим приложение с припиской «dedicated server».
![](https://habrastorage.org/webt/tz/dq/rv/tzdqrverilo77rjoohjesl-ml70.png)
Вводим одну из команд:
app_update 1829350 //для установки V Rising
app_update 896660 //для установки Valheim
Сервер скачается и установится, после чего можно будет закрыть «steamcmd». Выполняем команду:
quit
Со следующего этапа появляются отличия в настройке проектов, но логика у них схожая и разобраться нетрудно. Мы рассмотрим сначала пример с проектом V Rising, а затем с проектом Valheim.
▍ Запуск сервера на примере V Rising
Теперь, перейдя в ранее созданную папку, мы сможем увидеть файлы игрового сервера. В первую очередь нас интересует файл с расширением «bat». Он содержит параметры запуска сервера. В случае с V Rising это файл «start_server_example.bat». Выбираем его правой кнопкой мыши и жмём «Изменить».
![](https://habrastorage.org/webt/3m/ee/qf/3meeqf_rpisdpqjtgbq0v-i8_lw.png)
«VRisingServer.exe» — файл, который будет запускаться при запуске bat-файла. «serverName» — имя, которое будет отображаться в списке всех серверов, и по которому можно будет найти наш сервер. «saveName» — имя файла, в котором будут храниться сохранения нашего игрового мира. В первую очередь нас интересует имя «serverName». Меняем его по своему усмотрению.
![](https://habrastorage.org/webt/ob/l3/zu/obl3zufysmkkejjyngkwk57lmca.png)
В некоторых проектах (например, Valheim, который рассмотрим далее) в этом файле можно также указать дополнительную информацию, такую как пароль от сервера, номер порта, пароль администратора и т. д., но в случае с V Rising, эта информация редактируется в отдельных файлах. Сохраняем изменения и закрываем файл. Переходим в папку «VRisingServer_Data» — «StreamingAssets» — «Settings» и находим файлы «ServerGameSettings.json» и «ServerHostSettings.json».
![](https://habrastorage.org/webt/5x/n8/8j/5xn88j8ktawhc3wj4pu23d-xo7s.png)
В первом файле возможно настроить игровые параметры сервера (тип сервера, количество добываемых ресурсов и т. д.), а во втором — параметры хоста (порт сервера, пароль от сервера, количество пользователей и т. д.). Откроем второй файл с помощью любого текстового редактора (например, блокнота). Основная информация, которая тут нас интересует, это номера портов. Их нам необходимо открыть в брандмауэре Windows, чтобы сервер можно было найти и подключиться к нему. По умолчанию это порты 9876, 9877 и 25575, но при желании можно указать другие.
![](https://habrastorage.org/webt/9e/gz/_p/9egz_pi1ikn9pd7pfqzmpcglqgm.png)
Запоминаем эти порты, при необходимости производим дополнительные настройки и закрываем файл.
▍ Открытие портов в брандмауэре
Теперь нам необходимо настроить брандмауэр и открыть порты, которые были указаны в файле конфигурации хоста. Нажимаем на клавиатуре Win+R (или щёлкните правой кнопкой мыши по меню «Пуск», выберите «Выполнить»), введём firewall.cpl и в открывшемся окне переходим в дополнительные параметры.
![](https://habrastorage.org/webt/8l/ec/tc/8lectc-yqmyzd-lt60-bok4lzwg.png)
Нам необходимо создать правила для входящих и исходящих подключений. Жмём «создать правило».
![](https://habrastorage.org/webt/2b/rl/rk/2brlrkwrtphtidynstbohvdnrrc.png)
В пункте «Тип правила» выбираем «Для порта».
![](https://habrastorage.org/webt/gc/kv/wz/gckvwzub_kyn3jiu7ggs7dvhisc.png)
Далее выбираем протокол и нужные порты (мы будем открывать и TCP и UDP, поэтому данную процедуру необходимо будет повторить). Выбираем протокол и вводим необходимые порты через запятую.
![](https://habrastorage.org/webt/tg/r5/ao/tgr5ao6u5z50jhvc2h2u60jovqc.png)
Далее выбираем «Разрешить подключение».
![](https://habrastorage.org/webt/mc/2g/xx/mc2gxx9hnadt7p8qdi1v3gwe6zk.png)
Соглашаемся со следующим пунктом, указываем название правила и жмём «Готово».
![](https://habrastorage.org/webt/ap/2k/j8/ap2kj8d9gllvewwgskc_mgfwnue.png)
Проделываем те же действия для UDP, а также для исходящих подключений (суммарно мы добавили 4 правила: 2 для исходящих и 2 для входящих подключений). Закрываем окно брандмауэра и переходим к запуску сервера.
▍ Запуск сервера V Rising
Настройки завершили, теперь мы можем запустить сам сервер и затем подключиться к нему. Запуск осуществляется через bat-файл («start_server_example»), который мы редактировали несколько шагов назад. Запускаем его.
![](https://habrastorage.org/webt/2c/qc/zd/2cqczdwremokh0arh-o_skl0eoi.png)
Сервер запущен, и теперь мы можем к нему подключиться. Запустим игру, перейдём в список серверов и попробуем найти его. Вводим в поиске название нашего сервера и ждём обновления списка.
![](https://habrastorage.org/webt/ox/l0/2d/oxl02d2werjop4c97n0rnjrajrg.png)
Выбираем наш сервер и подключаемся к нему. Можно играть, также к нему могут подключиться другие игроки.
▍ Настройка сервера на примере Valheim
Теперь рассмотрим вариант с настройкой сервера для игры Valheim. По аналогии с V Rising у нас уже есть готовый bat-файл, который содержит в себе настройки для запуска сервера. В некоторых проектах этот файл может отсутствовать, но при необходимости его можно создать вручную. Просто создаём текстовый файл и указываем расширение «bat». Откроем его с помощью текстового редактора, нажав правой кнопкой мыши и выбрав «Изменить».
![](https://habrastorage.org/webt/lg/sg/aj/lgsgajirn69b3cp4jphqewye1mo.png)
В этом файле нас интересует самая последняя строка. Как и в V Rising, она содержит имя файла, который будет запускаться (valheim_server), и имя нашего сервера (name). Также тут можно сразу указать порт, который будет использовать наш сервер и пароль от сервера. По умолчанию установлен порт 2456, а рекомендуемые порты для открытия 2456-2458 (но это не значит, что нельзя использовать другие порты).
![](https://habrastorage.org/webt/0g/3c/0d/0g3c0djpdzraqzs_a9nm2p835bu.png)
Редактируем файл по своему усмотрению (меняем порт, пароль и т. д.) и закрываем его. Переходим в брандмауэр, и как в прошлом примере создаём 4 правила (2 для исходящих и 2 для входящих подключения). Указываем порты 2456-2458.
![](https://habrastorage.org/webt/mr/xh/ck/mrxhckwm-c3x5rkq8bkgztx9v2m.png)
Закрываем брандмауэр и запускаем файл «start_headless_server».
![](https://habrastorage.org/webt/wd/z9/bp/wdz9bpgdpnkpfpk78g82hgeorj8.png)
Сервер запущен, и теперь мы можем к нему подключиться. Запускаем игру, переходим на страницу с серверами, выбираем «Присоединиться к игре» и жмём «Добавить сервер». В открывшемся окне вводим IP нашего сервера (в нашем случае это IP нашего VDS-сервера, на котором расположен игровой сервер) и через двоеточие указываем порт, который был прописан в файле запуска (в нашем случае это 2456).
![](https://habrastorage.org/webt/j_/op/df/j_opdfswe3covu8untegsuolqce.png)
Жмём «Добавить сервер», и он отобразится у нас в списке. Выбираем его и нажимаем «Подключиться». Затем вводим пароль, который мы указывали в файле запуска, и жмём «Enter».
![](https://habrastorage.org/webt/68/5p/jx/685pjxr6uw8i3_pwlrfxtpyknta.png)
Готово! Мы успешно подключились к серверу и можем начинать игру.
▍ Пара слов в заключение
Как мы смогли увидеть, в запуске своего игрового сервера нет ничего сложного, а сделать это можно всего за 10-15 минут. К сожалению, полностью универсальное руководство под все игровые проекты сделать невозможно, т. к. каждый из них имеет свои уникальные настройки, но, надеюсь, описанные в этой статье примеры помогут разобраться и в других проектах.
Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх ?️
![](https://habrastorage.org/webt/_p/_h/lv/_p_hlvd2tv0cv9tny8tdytzfhje.png)