У выделенного сервера Valheim нет ни файла конфигурации, ни системы прав - только три обычных текстовых файла в каталоге сохранений. adminlist.txt определяет, кто может кикать, банить и сохранять мир. bannedlist.txt - кому подключаться нельзя. permittedlist.txt, если в нём что-то есть, называет единственных, кому подключаться можно. В каждом файле на строку приходится один ID игрока: просто 17-значный SteamID64 на сервере только для Steam или ID с префиксом платформы, например Steam_76561198012345678 или Xbox_2535412345678901, на кроссплей-сервере. Строки, начинающиеся с //, - комментарии. Вот и вся система, и почти все проблемы с ней сводятся к неверному ID или не тому файлу.
В этом материале: где лежат файлы, какие бывают форматы ID, как надёжно узнать ID игрока, когда изменения применяются и как запустить закрытый сервер со списком допуска, не заблокировав самого себя. Команды, доступные администратору после внесения в список, описаны в сопутствующей статье консольные команды администратора Valheim.
Что делает каждый файл#
| Файл | Действие | Если пуст |
|---|---|---|
adminlist.txt | Перечисленные ID могут использовать команды администратора: kick, ban, unban, save | Администраторов нет |
bannedlist.txt | Перечисленным ID отказывают при подключении | Никто не забанен |
permittedlist.txt | Подключаться могут только перечисленные ID | Подключаться может любой, кто знает пароль |
Асимметрию в последнем столбце нужно запомнить. Пустой список банов никого не банит, пустой список администраторов никого не делает администратором, но пустой список допуска не запирает всех - он выключает список допуска. Как только в permittedlist.txt появляется хотя бы один ID, сервер становится доступным только по списку, причём для всех.
Чего файлы не делают:
- Нет рангов. Администратор - это администратор. Уровня модератора, который может кикать, но не банить, не существует.
- Нет читов. Запись в
adminlist.txtне открываетdevcommands,spawnилиgodна ванильном выделенном сервере. Для этого нужен мод; см. ServerDevcommands. - Нет обхода варда. Администратор не может открыть чужую защищённую дверь только потому, что он администратор. Варды - отдельная система, о ней рассказано в статье варды Valheim и грифинг.
- Нет банов по IP в том файле, где вы их ждёте. Команда
banпринимает имя, IP или ID, но полагаться стоит на ID. IP-адреса меняются, ID - нет.
Где лежат файлы#
Три файла создаются сервером при первом запуске в каталоге сохранений рядом с папкой worlds_local, а не в папке установки сервера. Об это спотыкается почти каждый, кто ищет их рядом с valheim_server.x86_64.
| Платформа | Каталог сохранений по умолчанию |
|---|---|
| Linux | ~/.config/unity3d/IronGate/Valheim/ для пользователя, от которого работает сервер |
| Windows | %USERPROFILE%\AppData\LocalLow\IronGate\Valheim\ |
Любая, с -savedir | Каталог, указанный в -savedir |
| Docker-образы, хостинг-панели | Туда, куда образ или панель смонтировали каталог сохранений |
Если сервер запущен с -savedir /srv/valheim/data, списки лежат в /srv/valheim/data, а не в расположении по умолчанию. Две копии файлов - одна по стандартному пути от прежнего теста, другая в -savedir - частая причина жалобы «я добавил себя, и ничего не произошло». Найдите -savedir в строке запуска сервера и правьте файлы в этом каталоге. Все папки подробно описаны в статье savedir Valheim и расположение файлов.
Только что созданный файл содержит лишь строку-комментарий:
// List admin players ID ONE per lineВ двух других тот же заголовок, но со словами «banned» и «permitted». Оставьте комментарий и добавляйте ID на строках ниже.
Steam ID и ID с префиксом платформы#
Формат ID зависит от того, как запущен сервер.
Сервер только для Steam (без -crossplay): игроков определяют по SteamID64 - 17-значному числу, начинающемуся с 7656119. Не по имени профиля, не по пользовательскому URL и не по более короткому SteamID3 вида [U:1:...].
Кроссплей-сервер (-crossplay): игроков определяют по ID с префиксом платформы. Игроки Steam получают Steam_ и далее свой SteamID64. Игроки Xbox и Microsoft Store - Xbox_ и далее их пользовательский ID Xbox.
// List admin players ID ONE per line// Steam-only server: bare SteamID6476561198012345678// Crossplay server: prefixed formsSteam_76561198012345678Xbox_2535412345678901Отсюда два практических правила:
- Сомневаетесь - добавьте обе формы для игроков Steam. Строка, которая ни с чем не совпадает, игнорируется, поэтому наличие и
76561198012345678, иSteam_76561198012345678в файле ничему не вредит и переживёт тот день, когда кто-то включит или выключит кроссплей. - Никогда не угадывайте ID Xbox. Это не игровой тег, и игрок не может легко его узнать. Берите его из лога сервера.
О том, зачем нужны префиксы и что ещё меняется, когда трафик несёт PlayFab, рассказано в статье кроссплей Valheim и игроки на Xbox.
Как узнать ID игрока#
Есть три способа, от самого надёжного к наименее надёжному.
Из лога сервера
Пусть игрок подключится хотя бы один раз, даже если ему потом откажут. Сервер записывает каждое подключение с ID в том виде, в каком он используется в файлах списков. На сервере только для Steam строки выглядят так:
Got connection SteamID 76561198012345678Got handshake from client 76561198012345678На кроссплей-сервере в строках подключения стоит ID с префиксом платформы. Копируйте ID точно так, как он записан в логе. Это единственный способ, который даёт правильную форму для любого режима сервера, и единственный способ для игроков Xbox.
Из Steam
SteamID64 игрока Steam виден в URL его профиля, если он не задал собственный: steamcommunity.com/profiles/76561198012345678. Если URL пользовательский, его преобразует сайт для поиска SteamID. Убедитесь, что копируете именно SteamID64 - длинное число, а не один из других форматов, которые такие сайты тоже показывают.
От самого игрока
Игроки могут назвать свой SteamID64, но длинные числа люди читают с ошибками. Используйте это как перекрёстную проверку по логу, а не как единственный источник.
Правила формата и типичные ошибки#
Файлы простые, поэтому ошибки всегда одни и те же:
- Один ID на строку. Никаких запятых, пробелов между ID и ничего после ID на той же строке. Комментарий в конце строки с ID может помешать этой строке совпасть; комментарии пишите на отдельных строках.
- Никаких имён.
Bjornвadminlist.txtничего не делает. Если хотите помнить, чей это ID, напишите имя в строке-комментарии над ним. - Точное написание префикса.
Steam_- с заглавной S и подчёркиванием.steam_илиSteam:не совпадут. - Окончания строк и кодировка. Файлы, отредактированные в Windows и загруженные на Linux, имеют окончания строк CRLF. На практике игра с этим справляется, а вот лишний маркер порядка байтов (BOM) или «умное» форматирование текстового процессора - нет. Используйте простой текстовый редактор или редактор файлов в панели.
- Правильное имя файла.
adminlist.txt,bannedlist.txt,permittedlist.txt, всё строчными.adminlist.txt.txt- классика скрытых расширений Windows.
Аккуратный файл, который легко поддерживать, выглядит так:
// List permitted players ID ONE per line// Bjorn - server owner76561198012345678Steam_76561198012345678// Astrid76561198087654321Steam_76561198087654321// Leif - XboxXbox_2535412345678901Когда изменения вступают в силу#
Сервер следит за тремя файлами и перечитывает их на ходу, поэтому в обычной ситуации добавление администратора или бана не требует перезапуска. Команды ban и unban сами записывают изменения в bannedlist.txt, так что файл и сервер остаются согласованными, каким бы способом вы ни внесли правку.
Что значит «вступило в силу», зависит от файла:
- Список администраторов. Игрок считается администратором для команд, которые он вводит после перечитывания. Если команды только что добавленного администратора отклоняются, пусть он переподключится.
- Список банов. Добавление ID приведёт к отказу при следующем подключении этого игрока. Тот, кто уже на сервере, от правки файла не вылетает; кикните его или используйте команду
ban, которая и кикает, и записывает бан. - Список допуска. Применяется при подключении, как и список банов. Включение списка допуска не отключает тех, кто уже играет, но в списке не значится; им откажут при следующем входе.
Если изменение, похоже, не применяется, проверьте по порядку: правили ли вы файл в каталоге, который сервер реально использует, в правильной ли форме ID и сохранён ли файл. Перезапуск - крайняя мера, которая подтверждает, что файл вообще читается: если после перезапуска изменение тоже не применилось, сервер читает другой файл.
Закрытый сервер со списком допуска#
Список допуска - самый строгий контроль доступа в ванильном Valheim. Пароль можно передать, опубликовать или подобрать; список допуска привязывает вход к конкретным аккаунтам. Для компании друзей правильная схема - и то и другое вместе. Доводы в пользу этого для разных игр приведены в статье белый список или пароль.
Как настроить его и не заблокировать себя:
- Убедитесь, что каждый участник подключался хотя бы один раз, чтобы его ID были в логе.
- Соберите файл со всеми ID, для игроков Steam с обеими формами, и только потом сохраняйте.
- Сначала внесите себя. Администраторы не имеют исключений: запись в
adminlist.txtне пропустит вас через список допуска, в котором вас нет. - Сохраните и попросите кого-нибудь, кого нет в списке, попытаться подключиться - убедитесь, что ему откажут.
Пароль оставьте и при списке допуска. Это ничего не стоит и не даёт скомпрометированному аккаунту из списка стать единственным ключом. А если сервер и так задуман закрытым, подумайте о -public 0, чтобы он не попадал в список сообществ - об этом рассказано в статье сервер Valheim не виден в списке.
Типичная проблема - новый участник: ему дали пароль, он не может подключиться, а про список допуска никто не вспоминает. Оставьте комментарий вверху permittedlist.txt как напоминание тому, кто будет этим заниматься дальше, и добавляйте новых игроков до их первой попытки.
Управление списками на хостинге#
На хостинг-панели файлы лежат там, куда панель монтирует каталог сохранений, и вы правите их в файловом менеджере или по SFTP, а не из консоли. На RE:NODE файловый менеджер сервера Valheim открывает списки во встроенном в браузер редакторе и сохраняет их на месте, а работающий сервер подхватывает изменение; правку по SFTP в локальном редакторе описывает статья SFTP и файловый менеджер. В живой консоли видны строки подключений, так что ID игрока можно скопировать оттуда, пока он пытается зайти.
Собственные права панели - отдельный уровень, и использовать их вместе со списками стоит. Другу, который управляет банами, не нужен доступ к оплате или ко всему дереву файлов: субпользователям можно выдать доступ только к консоли или только к файлам. Это ограничивает ущерб от общего логина - риск, описанный в статье безопасность аккаунтов администраторов игровых серверов.
Баны, апелляции и ведение записей#
Ванильный Valheim не хранит ни причины, ни даты, ни сведений о том, кто кого забанил. Если на сервере больше нескольких игроков, ведите их сами:
- Ставьте над каждым баном строку-комментарий с именем, датой, причиной и тем, кто забанил.
- Храните копию
bannedlist.txtвне сервера, чтобы восстановление или переустановка не разбанили всех втихую. - Договоритесь между администраторами, когда бан временный и кто его снимает.
// List banned players ID ONE per line// 2026-10-11 Ulf - burned the shared longhouse, banned by Bjorn, review in 30 days76561198011112222Steam_76561198011112222Учтите, что команды ban и unban перезаписывают файл, и сохранятся ли ваши комментарии, написанные вручную, - на это в разных версиях полагаться не стоило. Если вы храните заметки в файле, держите и внешнюю копию, а когда причина важна, предпочитайте правку файла вручную командам. Политику для публичных сообществ подробнее разбирает статья борьба с читерами и списки банов.
FAQ#
Нужно ли перезапускать сервер после правки adminlist.txt?
Обычно нет: сервер перечитывает файлы на ходу. Если команды только что добавленного администратора отклоняются, пусть он переподключится, а если и это не помогло, проверьте, что вы правили файл в реальном каталоге сохранений сервера.
Почему мой SteamID есть в adminlist.txt, а администратором я не стал?
Либо ID в неправильной форме для режима сервера - голому SteamID на кроссплей-сервере нужен префикс Steam_, - либо в нём опечатка, либо это не тот файл, который читает сервер. Скопируйте ID из строки подключения в логе сервера.
Можно ли забанить по имени в bannedlist.txt?
Нет. В файле хранятся только ID. Можно ввести в консоли ban с именем подключённого игрока, и сервер сам запишет бан.
Включает ли permittedlist.txt администраторов автоматически?
Нет. Каждому игроку, который должен подключаться, включая администраторов, нужен свой ID в списке допуска, как только в нём что-то появилось.
Как снова выключить список допуска?
Удалите из permittedlist.txt все ID, оставив только строки-комментарии, или очистите файл полностью. Пустой список допуска означает, что подключаться может любой, кто знает пароль.


