Сервер Valheim для группы друзей защищают четыре вещи: -public 0, чтобы он не рекламировался, пароль, не содержащий ни одного слова из названия сервера, список разрешённых в permittedlist.txt, чтобы заходили только названные игроки, и как можно меньше администраторов. Это закрывает почти все реальные проблемы небольшого сервера: посторонних, гриферов и пароль, утёкший не в тот Discord. Всё остальное - ваш IP-адрес, моды, исполняющие код, аккаунт панели, управляющий сервером, и флуд - важнее по мере того, как сервер растёт и становится публичнее. Собственные инструменты Valheim просты, и совет здесь в основном в том, чтобы использовать их все вместе, а не полагаться на один.
От чего вы на самом деле защищаетесь#
Стоит честно оценить угрозы, потому что реальные меньше и обыденнее тех, которых обычно боятся.
| Угроза | Насколько вероятна для сервера друзей | Что её останавливает |
|---|---|---|
| Посторонний находит мир и заходит | Умеренно, если сервер в списке | Пароль, список разрешённых, -public 0 |
| Пароль слишком широко разошёлся | Высоко со временем | Список разрешённых, смена пароля |
| Игрок грифит или ворует | От низкой до умеренной | Обереги, список банов, бэкапы |
| Админ злоупотребляет правами | Низкая | Меньше админов, бэкапы |
| Мод содержит вредоносный код | Низкая, но серьёзная | Только доверенные источники |
| Кто-то захватывает аккаунт хостинга | Низкая, но полная | 2FA, отдельные учётные записи |
| Флуд выводит сервер из строя | Низкая, если нет публичности или личной вражды | Сеть хостинга, а не ваш конфиг |
Сам мир - это один файл. Большая часть дальнейшего посвящена тому, кто может в него попасть, а последний рубеж защиты от всего - бэкап, хранящийся в другом месте и действительно восстанавливающийся.
Публичный или приватный: -public и список сообществ#
-public 1 вносит сервер в браузер сообществ внутри игры; -public 0 скрывает его. Скрыть сервер - первый шаг для любой закрытой группы: сервер в списке видят все, кто листает его, а короткий или очевидный пароль рано или поздно подберут.
Что -public 0 делает и чего не делает:
- Он убирает сервер из списка сообществ, так что случайные посетители его не видят.
- Он не мешает зайти по IP тому, кто знает адрес. Скрытый сервер - не закрытый.
- Он не мешает серверу отвечать на запросы Steam на порту запросов. Инструменты, сканирующие адреса, всё равно могут его обнаружить.
- На crossplay-сервере игроки с актуальным кодом подключения всё равно могут зайти. Код меняется при каждом перезапуске, что помогает, но он есть у любого в вашем групповом чате.
Так что считайте -public 0 способом уменьшить шум, а не контролем доступа. Контроль доступа - это пароль и список разрешённых. Связанные параметры с их значениями по умолчанию перечислены в статье параметры запуска Valheim.
Гигиена паролей#
У пароля сервера Valheim два правила, оба проверяются при запуске: он должен быть не короче пяти символов и не должен содержать название сервера (и не должен иметь общих слов с названием мира). Сервер, нарушающий любое из них, не запускается, а причину в логе легко пропустить. Крайние случаи разобраны в статье правила пароля сервера.
Помимо правил:
- Делайте его длинным и не связанным ни с чем. Три случайных слова с числом легко набрать на геймпаде и трудно угадать. Не используйте пароль от чего-то другого: он известен всем игрокам, и никто не считает его секретом.
- Сообщайте его в одном месте. Закреплённое сообщение в закрытом канале Discord, а не в публичном и не в названии или описании сервера.
- Меняйте его, когда люди уходят. Пароль - групповой секрет. Если кто-то ушёл со скандалом или пароль всплыл там, где не должен, смените его и сообщите оставшимся игрокам.
- Не полагайтесь только на него. Пароли расходятся. Друг делится с другом, тот - со стримом. У списка разрешённых такой проблемы нет.
Смена пароля означает изменение параметра запуска и перезапуск. На панельном хостинге это поле пароля на вкладке Startup; на собственной машине - скрипт запуска. Игроки получат запрос нового пароля при следующем входе.
# Before-name "Longship Crew" -world "Midgard" -password "herring-barrel-42" -public 0# After a leak: new password, restart the server-name "Longship Crew" -world "Midgard" -password "salted-cod-1187" -public 0Список разрешённых, список банов и список админов#
В каталоге сохранений у Valheim три текстовых файла: adminlist.txt, bannedlist.txt и permittedlist.txt. В каждом хранятся идентификаторы игроков, по одному в строке. Сервер перечитывает их во время работы, поэтому большинство изменений не требуют перезапуска.
`permittedlist.txt` - самый сильный инструмент из имеющихся. Если в нём есть хотя бы один идентификатор, зайти могут только эти игроки; всем остальным отказывают даже с правильным паролем. Для сервера друзей именно эта настройка делает утёкший пароль безвредным.
// Steam-only server: SteamID647656119801234567876561198087654321// Crossplay server: platform-prefixed IDsSteam_76561198012345678Xbox_2535412345678901На чём часто попадаются:
- Формат идентификатора зависит от crossplay. Сервер только для Steam использует обычный 17-значный SteamID64. Crossplay-сервер использует идентификаторы с префиксом платформы. Список, написанный для одного, не работает для другого.
- Берите идентификаторы из лога. Пусть каждый игрок зайдёт один раз (до включения списка разрешённых) и скопируйте его идентификатор из лога сервера, где он появляется именно в том виде, который ждёт сервер.
- Новых игроков нужно добавить заранее. Когда список включён, приглашённому другу отказывают, пока вы его не добавите. В этом и смысл, но предупредите его, иначе он решит, что сервер сломан.
bannedlist.txt нужен для удаления конкретного человека. Администратор может выполнить ban игрока прямо в игре, что добавляет его в файл; бан по идентификатору надёжнее, чем по имени. При наличии списка разрешённых список банов менее важен, потому что игроки вне списка и так не зайдут, но это по-прежнему способ убрать того, кто в списке есть.
adminlist.txt выдаёт права администратора: выгонять, банить, принудительно сохранять. Ограничьте его одним-двумя людьми. Администратор на чистом сервере не может создавать предметы или летать, но мод вроде ServerDevcommands расширяет возможности админов, и тогда права администратора становятся гораздо более серьёзным даром. Все детали формата описаны в статье три файла списков.
Ваш IP-адрес и что он раскрывает#
Каждый игрок, подключающийся к серверу напрямую, узнаёт его IP-адрес. Для арендованного сервера это адрес хостинга, и он никому ничего личного не говорит. Для сервера, размещённого дома, из игры или выделенного, это адрес вашего дома.
IP-адрес раскрывает в основном примерное местоположение, часто только до города или региона, и провайдера. Доступа к вашим устройствам он не даёт. Реальный риск - не взлом, а отключение: человек с претензиями и вашим домашним адресом может устроить флуд и оставить без интернета весь ваш дом. Ваш роутер этого не остановит, и провайдер, возможно, тоже.
Если вы хостите дома:
- Держите сервер приватным и со списком разрешённых, чтобы адрес узнавали только знакомые вам люди.
- Не публикуйте адрес. Если хотите что-то удобнее для ввода, игроки могут заходить по доменному имени - это описано в статье подключение домена к игровому серверу, хотя имя не скрывает адрес за собой.
- Рассмотрите crossplay-коды подключения для игроков, которых вы знаете не очень хорошо. Их трафик идёт через relay, а не прямо к вам, но считайте это удобством, а не гарантией приватности.
Запуск чего-либо публичного из дома - момент, когда аренда сервера становится решением не только о производительности, но и о приватности. Подробнее - в статьях утечки IP и доксинг для владельцев серверов и домашний хостинг или арендованный сервер Valheim.
Реалии DDoS для небольших серверов#
Небольшой сервер Valheim атакуют редко. Флуд чего-то стоит атакующему, и никто не платит, чтобы уронить мир на десять игроков, если у него нет причины. На практике причины личные: забаненный игрок, ссора, конкурирующее сообщество. Поэтому приватные серверы со списком разрешённых атакуют так редко, а публичные с большим сообществом - чаще.
Что помогает, в порядке ценности:
- Не хостить публичный сервер дома. Флуд против домашнего подключения роняет всё в доме.
- Быть труднонаходимым.
-public 0, никаких адресов в публичных каналах, небольшая группа. - Хостинг, фильтрующий на границе сети. Никакая настройка самого игрового сервера не поглотит флуд; его нужно отбросить до того, как он дойдёт.
- Перезапуски, после которых всё чисто восстанавливается. Когда атака заканчивается, сервер должен вернуться сам, с неповреждённым миром.
Будьте осторожны с абсолютными обещаниями. Хостинг, заявляющий, что никакая атака никогда не выведет вас из строя, преувеличивает то, что вообще возможно. На RE:NODE формулировка точная: фильтрация на входе, отбрасывающая очевидные объёмные флуды, а также отражённый и некорректный трафик. Атаки, похожие на настоящих игроков, не фильтруются. Подробности - в статьях DDoS-атаки на игровые серверы: объяснение и что мы делаем с атаками.
Моды - это код: относитесь к ним так#
Моды BepInEx - это файлы .dll, работающие с теми же правами, что и процесс сервера. Вредоносный мод может читать файлы, открывать соединения и делать всё, что может пользователь сервера. На домашней машине это ваша машина. В арендованном контейнере ущерб ограничен этим сервером, но мод всё равно может повредить мир или утечь всё, что есть в его файлах.
Разумные привычки:
- Устанавливайте с Thunderstore или со страницы автора. Избегайте перезалитых версий из случайных каналов Discord и "исправленных" версий от незнакомых людей.
- Предпочитайте известные моды с активными авторами. Популярность - не доказательство безопасности, но мод, которым пользуются тысячи и у которого есть публичный репозиторий, несёт другой риск, чем мод без истории.
- Не запускайте сервер от имени администратора или root на своей машине. Отдельный пользователь с доступом только к папке сервера ограничивает ущерб.
- Делайте бэкап перед добавлением чего-либо. Если мод испортит мир, исправит ситуацию бэкап.
Что обычно делают плохие моды и как их заметить - в статье вредоносные плагины и моды.
Аккаунт, который управляет сервером#
На арендованном сервере тот, кто входит в панель хостинга, может остановить сервер, скачать мир, сменить пароль и удалить всё. Этот вход важнее любой внутриигровой настройки.
- Включите двухфакторную аутентификацию. Приложение-аутентификатор на аккаунте панели не даёт повторно использованному паролю быть достаточным. Храните резервные коды в надёжном месте. Настройка описана в статье двухфакторная аутентификация в аккаунте панели.
- Давайте соадминистраторам отдельный доступ. Не делитесь своим логином. На RE:NODE субпользователям можно выдать только то, что им нужно - только консоль или только файлы, без доступа к оплате, - доступ можно ограничить по времени, а действия записываются в журнал активности каждого сервера. Подход описан в статье субпользователи и принцип минимальных привилегий.
- Храните бэкапы вне машины. Бэкапы RE:NODE хранятся вне машины, которую защищают, и могут быть заблокированы от ротации, так что неудачный день не перезапишет последнюю хорошую копию. Учтите, что удаление сервера удаляет и его бэкапы, в том числе заблокированные, поэтому скачайте один, прежде чем что-то удалять.
Грифинг внутри мира - отдельная проблема. Обереги останавливают многое на PvE-серверах, а бэкапы исправляют остальное; что обереги предотвращают, а что нет, описано в статье обереги и грифинг.
FAQ#
Приватный ли сервер Valheim с -public 0?
Он скрыт, но не приватен. Он больше не появляется в списке сообществ, но любой, кто знает адрес, всё равно может попробовать зайти по IP. Сочетайте его с паролем и списком разрешённых в permittedlist.txt, чтобы сервер действительно был закрытым.
Заменяет ли список разрешённых пароль?
Нет, действуют оба. Игрок должен быть в списке разрешённых и знать пароль. Всё равно оставьте пароль - он всё ещё защищает сервер в тот день, когда кто-то по ошибке опустошит список, - но именно список разрешённых делает утёкший пароль безвредным.
Могут ли игроки увидеть мой IP-адрес, если я размещаю Valheim дома?
Любой, кто подключается напрямую, - да. Он раскрывает примерно, где вы находитесь и каким провайдером пользуетесь, но не даёт доступа к вашим устройствам. Реальный риск - кто-то зафлудит ваше домашнее подключение, поэтому держите домашний сервер приватным и со списком разрешённых.
Стоит ли беспокоиться о DDoS-атаках на небольшой сервер Valheim?
Обычно нет. Небольшие приватные серверы атакуют редко, а когда атакуют, это почти всегда кто-то с личной обидой. Приватный сервер, отказ от публичного сервера дома и хостинг, фильтрующий флуд на входе, закрывают реальные случаи.
Как убрать игрока, который знает пароль?
Забаньте его по идентификатору командой ban или добавьте его идентификатор в bannedlist.txt, уберите его из permittedlist.txt, если пользуетесь им, и смените пароль, если он может им поделиться. Файлы списков перечитываются, пока сервер работает.


