RE:NODE

Руководства10 мин чтения

Вайтлист или пароль для приватного сервера

Пароль, вайтлист, скрытие из списка или аккаунты: как работает каждый способ закрыть игровой сервер, где их слабые места и какие настройки нужны в популярных играх.

0 прочтений

Пароль сервера - это общий секрет: войти может любой, кто его знает, а как только он утёк, его приходится менять для всех. Вайтлист - это список конкретных ID игроков: войти могут только эти аккаунты, утечка ничего не меняет, а удаление одного человека не затрагивает остальных. Для компании друзей, которая не меняется, пароля достаточно. Для всего, где больше десяти человек, где люди приходят и уходят, или для сообщества, которое вы рекламируете, вайтлист - инструмент лучше, и они хорошо сочетаются друг с другом, а также со скрытием сервера из публичного списка. Загвоздка в том, что не в каждой игре есть и то и другое; в этой статье - какие игры что предлагают и как это настроить.

Четыре способа сделать сервер приватным#

СпособКто может войтиЧто утекаетУдаление одного человека
Скрыт из спискаЛюбой, у кого есть адресАдресНевозможно без бана
Пароль сервераЛюбой, у кого есть парольПарольСменить для всех
ВайтлистТолько аккаунты из спискаНичего полезногоУдалить одну строку
Аккаунты на сервереЛюбой, у кого есть аккаунтОдин аккаунтУдалить один аккаунт

Скрытие - это не приватность. Сервер вне списка всё равно находится в интернете, его адрес всё равно виден в профилях Steam друзей и в базах сканеров, и любой, у кого он есть, может подключиться. Это полезно только в сочетании с одним из остальных способов, чтобы посторонние не натыкались на вас случайно.

Пароль останавливает случайных гостей, и в некоторых играх это единственный инструмент контроля. Его слабость в том, что он общий. Он оказывается в каналах Discord, на скриншотах окна подключения, в групповом чате, где до сих пор сидит бывший участник. Как только он утёк, единственное решение - новый пароль, который снова нужно раздать всем.

Вайтлист привязывает доступ к идентичности, которой игрок не может поделиться: Steam ID, аккаунту Minecraft, ID платформы. Дав доступ человеку, вы дали его только этому аккаунту. Уберите его - и никто больше этого не заметит.

Аккаунты на стороне сервера - Project Zomboid с Open=false, регистрация в TShock, фреймворки FiveM с собственными системами персонажей - находятся посередине. У каждого человека свои учётные данные, так что одна утечка - это один аккаунт, но учётные данные всё равно остаются паролем, который можно кому-то передать.

Когда достаточно пароля#

Пароль - правильный инструмент, когда верно всё из этого:

  • Группа маленькая и постоянная - несколько друзей, которые все знают друг друга.
  • Никто не против, если пароль время от времени меняется.
  • В игре нет вайтлиста, или его настройка обходится дороже, чем экономит.
  • На сервере нет ничего, ради чего стоило бы гриферить.

Большинство кооперативных игр на выживание, в которые играют от четырёх до восьми друзей, подходят под это идеально. Группы в Valheim, Palworld, Sons of the Forest и Satisfactory годами спокойно живут с паролем. Если группа растёт, если вы начинаете звать друзей друзей или кто-то уходит со скандалом, - это момент перейти на вайтлист, до инцидента, а не после.

Выбирайте пароль, который нельзя угадать, который не используется больше нигде и не виден в названии сервера. Valheim отчасти это навязывает: он отказывается запускаться, если пароль встречается в названии сервера или мира. Относитесь к паролю сервера как к коду от двери, а не как к защите вашего аккаунта, - и никогда не используйте его повторно как пароль админа или RCON, ведь это совсем другой уровень доступа. Это разделение разобрано в статье безопасность админских аккаунтов игрового сервера.

Когда нужен вайтлист#

Переходите на вайтлист, когда:

  • Играет больше десяти человек или состав меняется.
  • Сервер где-то рекламируется - в Discord, в списке серверов, на сабреддите.
  • Нужно убрать кого-то, не мешая всем остальным.
  • Нужно точно знать, у кого есть доступ, - для модерации или безопасности (например, на сервере школы или клуба - см. статью игровой сервер для школы или клуба).

Вайтлист также позволяет устроить процесс заявок: люди подают заявку, вы их проверяете и добавляете их ID. Так работает большинство "полуванильных" SMP в Minecraft и roleplay-сообществ, а о том, как такой процесс выстроить, - в статье заявки на вайтлист игрового сервера.

Цена - админская работа. Для каждого нового игрока нужно найти и добавить ID, а в играх, где ID неочевиден (кроссплатформенные игры, ID с префиксом платформы), это реальное трение. Заранее решите, кто этим занимается и как быстро.

Как это устроено в популярных играх#

Minecraft

В Minecraft пароля сервера нет вообще. Приватность - это вайтлист, и он работает потому, что Java Edition проверяет каждого игрока через серверы Mojang при online-mode=true.

server.properties
white-list=trueenforce-whitelist=trueonline-mode=true
bash
whitelist add Stevewhitelist remove Stevewhitelist listwhitelist reload

white-list=true включает список; enforce-whitelist=true вдобавок кикает игроков онлайн, которых в нём нет, когда список перечитывается или меняется. Записи хранятся в whitelist.json по UUID, так что игрок, сменивший ник, сохраняет доступ. При online-mode=false вайтлист ничего не стоит, потому что тогда любой может назваться любым ником, - никогда не запускайте сервер с вайтлистом в offline-режиме, если он не стоит за прокси, который выполняет аутентификацию. Все подробности - в статье вайтлист и права в Minecraft, а риск offline-режима объяснён в чек-листе безопасности сервера Minecraft.

Valheim

В Valheim есть и то и другое. -password в строке запуска задаёт пароль для входа, а permittedlist.txt в папке сохранений - это вайтлист: если в нём есть хоть один ID, войти могут только эти ID.

permittedlist.txt
7656119801234567876561198087654321

На кроссплатформенном сервере записям нужен префикс платформы (Steam_7656..., Xbox_...). Точный формат возьмите из лога сервера после того, как игрок один раз подключится. -public 0 скрывает сервер из списка сообщества. Все три файла списков разобраны в гайде по выделенному серверу Valheim.

Игры на Source и CS2

sv_password в server.cfg задаёт пароль для входа в Team Fortress 2, Counter-Strike: Source, Garry's Mod, Left 4 Dead 2 и CS2. Встроенного вайтлиста нет; его даёт плагин. У SourceMod есть плагины вайтлиста, которые проверяют SteamID при подключении, а логику резервных слотов можно приспособить так же. В CS2 этот пробел закрывают плагины на CounterStrikeSharp. sv_lan 1 - это не настройка приватности для интернет-сервера: он отклоняет всех, кто не в локальной сети.

Rust

В ванильном Rust нет ни пароля, ни вайтлиста. Приватные серверы Rust используют плагин вайтлиста для Oxide или Carbon, работающий по SteamID или группе прав, обычно с ничем не примечательным server.hostname и адресом, который знает только группа. Как установить такой плагин, - в статье плагины Oxide/uMod для Rust.

Project Zomboid

Project Zomboid поддерживает оба варианта в servertest.ini (файл назван по имени вашего сервера):

servertest.ini
Password=Open=falsePublic=falseAutoCreateUserInWhiteList=false

Password - общий пароль для входа на сервер. Open=false включает вайтлист: войти могут только аккаунты, созданные админом (adduser "name" "password" в консоли). Public=false скрывает сервер из браузера в игре. При Open=false у каждого игрока на сервере свои логин и пароль - та самая модель аккаунтов из таблицы выше. Пошагово - в статье вайтлист и аккаунты в Project Zomboid.

Другие игры коротко

ИграПарольВайтлист
PalworldServerPassword в PalWorldSettings.iniВстроенного нет
Terraria (ванилла)password= в serverconfig.txtTShock: аккаунты для входа или список IP в whitelist.txt
7 Days to DieServerPassword в serverconfig.xmlwhitelist add <id>, хранится в serveradmin.xml
Factoriogame_password в server-settings.json--use-server-whitelist и /whitelist add
Don't Starve Togethercluster_password в cluster.iniТолько резервные слоты (whitelist.txt)
ARKServerPassword-exclusivejoin со списком exclusive join
FiveMНе нуженВайтлист txAdmin или проверка ролей в Discord
SatisfactoryПароль игрока в настройках сервераВстроенного нет

Закономерность такая: кооперативные игры на выживание опираются на пароли; игры, ориентированные на сообщества (Minecraft, FiveM, Project Zomboid, 7 Days to Die), имеют настоящие вайтлисты, потому что их сообщества этого потребовали.

Как скрыть сервер из публичного списка#

В каждой игре, которая попадает в список Steam, есть способ не появляться в браузере:

  • Valheim: -public 0.
  • Project Zomboid: Public=false.
  • Игры на Source: единого ключа нет. Сервер, который достучался до мастер-сервера Steam, попадает в список; пароль помечает его как закрытый, и большинство людей такие отфильтровывают.
  • Minecraft: прятаться не от чего - центрального списка нет, есть только сторонние сайты, на которых вы сами решаете разместиться.
  • Palworld: не указывайте параметр запуска для сервера сообщества (-publiclobby в текущих сборках).

Скрытие уменьшает число случайных гостей. Сканеры оно не останавливает: сервисы, которые прочёсывают интернет в поисках игровых портов, найдут любой сервер, отвечающий на запросы, а некоторые публикуют найденное. Относитесь к серверу вне списка точно так же, как к серверу в списке, - с паролем или вайтлистом на входе. Как работает попадание в список, объяснено в статье видимость в браузере серверов.

Сочетание способов и пограничные случаи#

Самая надёжная приватная настройка в большинстве игр - все три сразу: вне списка, с паролем и вайтлистом. Пароль не даёт посторонним даже загрузиться и вызвать отказ по вайтлисту (который в некоторых играх всё равно стоит попытки подключения и строки в логе); вайтлист делает утёкший пароль бесполезным; скрытие из списка снижает шум.

Пограничные случаи, о которых стоит знать:

  • Вайтлисты по нику слабые. Любую игру или плагин, которые вносят в вайтлист по отображаемому имени, а не по ID аккаунта, можно обойти, просто сменив ник. Всегда используйте неизменяемый ID - SteamID64, UUID в Minecraft, ID платформы.
  • Кроссплей усложняет ID. Valheim, Palworld и другие определяют консольных игроков по ID платформ, которые совсем не похожи на SteamID, а формат может меняться от обновления к обновлению. Берите ID из лога сервера, не угадывайте. Какие игры так делают, - в статье кроссплей на выделенных серверах.
  • Family sharing и альт-аккаунты. Вайтлист доверяет аккаунту, а не человеку. Забаненный может вернуться со второго аккаунта, если вы не проверяете новые записи.
  • По умолчанию админы ничего не обходят. В большинстве игр админ тоже должен быть в вайтлисте. Сначала добавьте себя, потом включайте его - иначе вас кикнет ваше же правило.
  • Баны и вайтлисты - разные списки. Удаление из вайтлиста не даёт человеку войти; бан вдобавок защищает вас на случай, если вайтлист когда-нибудь отключат. Баны как следует разобраны в статье что делать с читерами и бан-листы.

Перевод работающего сервера с пароля на вайтлист#

Перевод устоявшегося сервера - это в основном работа по коммуникации. Если сделать это за один вечер без предупреждения, половина постоянных игроков окажется за дверью; если сделать в таком порядке, никто ничего не заметит, кроме тех, кого вы и хотели не пускать.

  1. Объявите об этом за несколько дней, с датой и причиной. Больше всего времени нужно тем, кто играет редко.
  2. Соберите ID. Попросите всех хотя бы раз зайти до этой даты, а затем вытащите все ID из логов за последние несколько недель. Большинство игр выводят ID при подключении; на загруженном сервере быстрый поиск строки подключения по логу даст вам весь список.
  3. Сначала добавьте себя и всех админов, потом всех, кого собрали. После этого проверьте файл - одна некорректная строка может заставить некоторые игры проигнорировать весь список.
  4. Сделайте backup, затем включите вайтлист в тихий час и перезапустите сервер, если игре это нужно.
  5. Оставьте старый пароль ещё на неделю-две. Он ничего не стоит и не даёт посторонним ломиться в вайтлист.
  6. Разместите короткую заметку "как попасть в список" везде, где люди находят сервер, - в вашем Discord, в MOTD, в названии сервера, - чтобы честным новичкам не пришлось гадать.

После перехода ждите тонкого ручейка сообщений "не могу зайти" от тех, кто пропустил объявление. На каждое отвечайте просьбой прислать ID из их неудачной попытки, который большинство игр пишут в лог даже при отклонённом подключении, и добавляйте их. Недели через две ручеёк иссякает, и дальше добавление и удаление людей - это изменение одной строки.

Доступ к панели - это другое#

Вайтлист контролирует, кто играет. Он не контролирует, кто может остановить сервер, читать файлы или править сам вайтлист. Любой с доступом к панели может добавить себя, поэтому людей с таким доступом должно быть меньше, чем людей в вайтлисте, и у каждого должен быть свой логин. Как разделить права в панели так, чтобы модератор мог пользоваться консолью, не трогая файлы, - в статье субпользователи и минимальные права.

FAQ#

Что надёжнее - пароль или вайтлист?

Вайтлист. Он привязывает доступ к аккаунту, который игрок не может просто передать, а удаление одного человека не затрагивает остальных. Пароль приватен ровно настолько, насколько осторожен самый беспечный из тех, кто его знает.

Можно ли использовать и пароль, и вайтлист?

В играх, которые поддерживают оба, - Valheim, Project Zomboid, 7 Days to Die, Factorio, Terraria с TShock - да, и это самая надёжная настройка. Пароль полностью отсекает посторонних; вайтлист делает утёкший пароль безвредным.

Почему у моего сервера Minecraft нет настройки пароля?

У Minecraft Java её никогда не было. Контроль доступа - это вайтлист, и он работает потому, что каждый игрок проходит аутентификацию в Mojang. Для серверов в offline-режиме существуют плагины, добавляющие пароль для входа, но вайтлист на сервере в online-режиме надёжнее и проще.

Делает ли скрытие сервера из списка его приватным?

Нет. Это лишь убирает его из браузера серверов. Любой, у кого есть адрес, по-прежнему может подключиться, а сканеры находят открытые игровые порты в любом случае. Всегда добавляйте пароль или вайтлист.

Как узнать ID игрока для вайтлиста?

Попросите его один раз попробовать подключиться и посмотрите ID в логе или консоли сервера - большинство игр выводят его именно в том виде, который ожидает список. Для игр в Steam SteamID64 также есть в URL профиля Steam, если игрок не задал собственный адрес.


Комментарии

Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.

0/2000