Мир игрового сервера - это несколько файлов в папке, которую можно назвать точно, и эта папка редко находится рядом с исполняемым файлом сервера. Большинство Linux-серверов пишут сохранения в домашнюю папку пользователя, от которого запущены, - в ~/.config, ~/.local/share или в скрытую папку с именем разработчика, - а другие держат их внутри папки установки, в Saved или saves. В таблице ниже указан путь для каждой распространённой игры. Для всех действуют два правила: копируйте сохранение, только когда сервер остановлен или только что его записал, и проверьте, где живут персонажи игроков - на сервере или на их собственных ПК, потому что от этого зависит, что на самом деле переносится при переезде.
Четыре способа хранить мир#
Зная, какой тип сохранения использует игра, вы понимаете, как оно ломается и как делать его backup.
| Форма | Примеры | Что это значит |
|---|---|---|
| Один файл | Valheim .db, Terraria .wld, Satisfactory .sav, Factorio .zip | Легко копировать; повреждение уносит всё |
| Папка с файлами регионов | Minecraft, 7 Days to Die, Project Zomboid | Повреждение обычно затрагивает один регион |
| Файл мира плюс файлы игроков | Palworld, ARK, Rust, Unturned | Мир и персонажей можно восстанавливать по отдельности |
| База данных | FiveM, DarkRP, данные игроков DayZ | Нужен дамп базы, а не просто копия файлов |
Игры с одним файлом удобны, пока файл не повреждён, а после этого спасать уже нечего. Игры с регионами прощают больше: плохой чанк в Minecraft затрагивает свою область, а остальной мир загружается. Серверам с базой данных нужен совсем другой инструмент backup, и именно поэтому владельцы серверов FiveM, которые копируют только папку сервера, при восстановлении обнаруживают, что деньги и инвентарь всех игроков пропали. Эта сторона разобрана в статье о backup и восстановлении баз данных.
Где каждая игра хранит сохранения#
Это расположения по умолчанию на выделенном Linux-сервере. ~ - домашняя папка пользователя, от которого запущен сервер.
| Игра | Где лежат сохранения | Ключевые файлы |
|---|---|---|
| Minecraft (Paper) | world/, world_nether/, world_the_end/ в папке сервера | level.dat, region/*.mca, playerdata/ |
| Valheim | ~/.config/unity3d/IronGate/Valheim/worlds_local/ | <World>.db, <World>.fwl |
| Terraria | ~/.local/share/Terraria/Worlds/ | <World>.wld |
| Palworld | Pal/Saved/SaveGames/0/<WorldID>/ | Level.sav, LevelMeta.sav, Players/*.sav |
| 7 Days to Die | ~/.local/share/7DaysToDie/Saves/<World>/<GameName>/ | Region/, Player/ |
| Project Zomboid | ~/Zomboid/Saves/Multiplayer/<servername>/ | чанки карты, players.db |
| Satisfactory | ~/.config/Epic/FactoryGame/Saved/SaveGames/server/ | <Session>_autosave_N.sav |
| Factorio | saves/ в папке сервера | <name>.zip |
| Don't Starve Together | ~/.klei/DoNotStarveTogether/<Cluster>/ | Master/save/, Caves/save/ |
| Rust | server/<identity>/ | .map, .sav, player.*.db |
| DayZ | mpmissions/<mission>/storage_1/ | data/, players.db |
| Unturned | Servers/<ServerID>/ | Level/<Map>/, Players/ |
| ARK | ShooterGame/Saved/SavedArks/<Map>/ | .ark, .arkprofile, .arktribe |
| Garry's Mod (DarkRP) | garrysmod/ | sv.db (SQLite) |
| Abiotic Factor | AbioticFactor/Saved/SaveGames/Server/Worlds/<World>/ | сохранения мира и игроков |
Некоторые из этих путей меняются настройкой. -savedir в Valheim переносит всё. 7 Days to Die читает UserDataFolder из serverconfig.xml. V Rising пишет туда, куда указывает -persistentDataPath, внутри папки Saves с номером версии. Enshrouded использует saveDirectory в enshrouded_server.json. Номер папки хранилища в DayZ соответствует instanceId в serverDZ.cfg. Если мира нет там, где говорит таблица, проверьте строку запуска и конфиг, прежде чем обыскивать диск.
Некоторые игры вообще не хранят мир. Counter-Strike 2, Team Fortress 2 и другие раундовые игры на Source сбрасывают карту каждый раунд; сохранять нужно конфигурацию, баны и данные плагинов. Постоянное состояние FiveM - персонажи, деньги, транспорт - живёт в его базе данных, а в папке сервера лежат только ресурсы и конфиг.
Скрытые папки на хостинге с панелью
На хостинге на базе Pterodactyl сервер работает в контейнере, домашняя папка которого обычно /home/container, - это же корень, который вы видите в файловом менеджере. Поэтому путь вроде ~/.config/unity3d/... выглядит как .config/unity3d/... на верхнем уровне файлов сервера. Папки, начинающиеся с точки, во многих файловых менеджерах и SFTP-клиентах по умолчанию скрыты; включите «показывать скрытые файлы», прежде чем решить, что сохранения нет. Как подключиться клиентом, который их показывает, описано в статье о SFTP и файловом менеджере.
Что хранит сервер, а что остаётся у игроков#
От этого зависит, что на самом деле переносит перенос мира, и это каждый раз застаёт людей врасплох.
- Персонаж на ПК игрока: Valheim и Terraria. Сервер хранит мир; персонаж, инвентарь и навыки каждого игрока лежат в его собственной папке игры. При переносе мира на новый сервер снаряжение у всех сохраняется автоматически, а сервер не может помешать игроку прийти с предметами из другого места.
- Персонаж на сервере: Palworld, 7 Days to Die, Project Zomboid, ARK, Rust, DayZ, Unturned, Don't Starve Together и большинство других. Персонажи - часть сохранения. Копируйте всю папку сохранений, иначе игроки придут новыми персонажами.
- Персонаж в базе данных: фреймворки FiveM и DarkRP. Мир - это карта, которая идёт с игрой; всё важное - это строки в базе данных.
Отдельного упоминания заслуживает Palworld. Персонажи хранятся в Players/ в файлах с именем по ID игрока, и мир, перенесённый из кооперативной игры на выделенный сервер, не совпадает чисто с ID хоста. Обычно хост приходит новым персонажем, а у всех остальных всё в порядке. Исправление требует правки данных сохранения community-инструментами и описано в статье о переносе кооперативного сохранения Palworld на выделенный сервер.
Файлы, которые не сохранения, но всё равно нужны#
Одна папка сохранений сервер не воспроизводит. Другие файлы, в которых хранится состояние:
- Списки админов, банов и допуска.
adminlist.txt,bannedlist.txtиpermittedlist.txtв Valheim лежат рядом сworlds_local.ops.json,whitelist.json,banned-players.jsonиbanned-ips.jsonв Minecraft лежат в корне сервера. - Базы аккаунтов. Project Zomboid хранит аккаунты, пароли и whitelist в
~/Zomboid/db/<servername>.db, отдельно от мира. Потеряете её - и каждому игроку придётся регистрироваться заново. - Данные плагинов и модов. Плагины Minecraft хранят данные в
plugins/<Name>/- экономику, приваты, права. Плагины Oxide в Rust хранят данные вoxide/data/. Часто они ценнее самого мира. - Конфиг сервера.
server.properties,serverconfig.xml, файлы.iniUnreal. Хранить дёшево, восстанавливать долго. - Сгенерированные карты. Случайные миры 7 Days to Die лежат в
GeneratedWorlds/, отдельно от сохранения, которое их использует. Скопируете сохранение без мира - и сервер не сможет его загрузить.
Полезная проверка backup: смогли бы вы восстановить из него сервер на чистой машине так, чтобы никто не заметил? Если ответ зависит от того, вспомните ли вы какую-то настройку, backup неполный.
Как безопасно копировать сохранение#
Каждая игра из таблицы держит часть мира в памяти и периодически сбрасывает её на диск. Файл, скопированный в тот момент, когда игра записала его наполовину, может оказаться обрезанным или несогласованным, а в копии, снятой через двадцать минут после последнего сохранения, не будет двадцати минут игры.
Безопасная последовательность:
- Сохраните, затем остановите. Отправьте команду сохранения игры, если она есть (
save-allв Minecraft,saveв админ-консоли Valheim,saveworldв 7 Days to Die,/saveв Palworld), затем корректно остановите сервер и дождитесь подтверждения в логе. - Копируйте всю папку, а не отдельные файлы. Многие игры держат рядом с данными индекс или файл метаданных, и неполная копия хуже, чем никакой.
- Запустите сервер и проверьте, что загрузился нужный мир, прежде чем говорить кому-то, что всё снова работает.
Если сервер остановить нельзя, некоторые игры позволяют приостановить запись. В Minecraft последовательность save-off, затем save-all flush, затем копирование, затем save-on даёт согласованную копию работающего сервера. У большинства других игр аналога нет, и backup панели, снятый во время их работы, захватывает то, что последним попало на диск, - поэтому так важно отправлять команду сохранения прямо перед backup по расписанию. Как часто каждая игра пишет на диск и чего стоит это изменить, рассказано в статье об интервалах автосохранения игровых серверов.
В RE:NODE на каждом игровом тарифе есть слоты для backup; backup можно сделать вручную или по расписанию, восстановить одной кнопкой, скачать и заблокировать, чтобы ротация его никогда не удалила. Вкладка Schedules может сначала отправить команду сохранения, а через минуту сделать backup, и это закрывает описанный выше разрыв. Backup хранятся вне машины, которую защищают, но удаляются вместе с сервером, включая заблокированные, - скачайте один, прежде чем что-либо отменять.
Перенос мира на сервер#
Общая процедура подходит почти для любой игры:
- Найдите мир на исходной машине. Для одиночных и кооперативных сохранений в Windows обычные места -
%USERPROFILE%\AppData\LocalLow\<Developer>\<Game>(игры на Unity, например Valheim),%LOCALAPPDATA%\<Game>\Saved\SaveGames(игры на Unreal, например Palworld и Satisfactory) иDocuments\My Games\<Game>. - Остановите целевой сервер.
- Загрузите мир в папку сохранений сервера из таблицы, в точности повторив структуру папок.
- Укажите серверу на него. Большинству игр нужно задать имя мира или сессии в конфиге или строке запуска, совпадающее с именем файла, включая заглавные буквы.
- Запустите и прочитайте лог. Строка о том, что сервер генерирует новый мир, означает, что ваш он не нашёл.
Пошаговые руководства по конкретным играм со всеми подводными камнями: загрузка сохранения Valheim, настройки и сохранения Satisfactory и руководство по переносу мира Terraria.
Насколько большими становятся сохранения и почему это важно#
Новый мир маленький. Мир, в котором люди живут месяцами, - нет, и этот рост настигает квоты диска и слоты backup в самый неудобный момент.
Примерная картина для распространённых игр:
| Игра | Новый мир | Давно живущий мир |
|---|---|---|
| Valheim | несколько МБ | 50-150 МБ плюс backup по таймеру рядом |
| Terraria | несколько МБ | 10-50 МБ |
| Minecraft | 100-300 МБ после первых исследований | несколько ГБ, растёт с каждым посещённым чанком |
| 7 Days to Die | десятки МБ плюс сгенерированная карта | 1 ГБ и больше на оживлённом сервере |
| Palworld | десятки МБ | сотни МБ при большом количестве баз |
| Factorio | несколько МБ | 50-300 МБ на большой базе |
Это порядки величин, а не обещания; моды, размер карты и то, сколько игроки исследуют, сильно их сдвигают.
Отсюда три следствия. Во-первых, миры Minecraft и 7 Days to Die растут от исследования, а не от строительства. Каждый чанк или регион, который посещает игрок, генерируется и записывается, и полёт на элитрах над неисследованной местностью может добавить к миру за час больше, чем месяц строительства. Стандартный способ держать это в рамках - граница мира, о ней статья о границе мира и предварительной генерации. Во-вторых, многие игры держат собственные backup рядом с миром: backup по таймеру в Valheim, слоты автосохранения в Factorio, ротируемые автосохранения в Satisfactory, копии .ark с отметкой времени в ARK. Эти копии умножают место, которое мир занимает на диске, и их нужно проверять первыми, когда кончается квота. В-третьих, архив backup примерно равен по размеру всему, что в нём лежит, так что мир, выросший в пять раз, делает в пять раз больше и каждый backup. Если backup вдруг начинают падать или идти намного дольше, обычная причина - рост мира.
Проверяйте размер папки сохранений раз в несколько недель. График диска в панели показывает общий объём; файловый менеджер или du -sh * в командной строке на своей машине покажут, какая папка виновата. Размеры по играм есть в статье о том, сколько места нужно игровому серверу.
Обновления версий и необратимые сохранения#
Большинство игр обновляют сохранение на месте, когда его открывает более новая версия сервера, и многие не могут потом открыть обновлённое сохранение на старой версии. Minecraft говорит об этом прямо: открытие мира в более новой версии его конвертирует, а возврат не поддерживается. У Satisfactory, 7 Days to Die и Project Zomboid были крупные версии, с которыми старые сохранения не были совместимы вовсе и требовался новый мир.
Поэтому копия, сделанная перед обновлением, - самый ценный backup, какой у вас когда-либо будет. Это единственный путь назад, если обновление ломает моды, губит производительность или просто оказывается не тем, чего хотела компания. Как намеренно держать сервер на определённой версии, описано в статье о фиксации версии игрового сервера и откатах.
Решение проблем с сохранениями#
Сервер сгенерировал новый мир вместо моего. Имя мира в конфиге не совпадает с файлом или папкой, часто из-за регистра или расширения. Ваш оригинал на месте; исправьте имя и перезапустите.
Мир загружается, но у всех новые персонажи. Вы скопировали мир, но не данные игроков, или игра на выделенном сервере идентифицирует игроков иначе, чем в кооперативе. Проверьте, что папка игроков перенесена, а для Palworld смотрите заметку о сохранении хоста выше.
Папка сохранений пуста. Вы смотрите в папку установки, а игра пишет в домашнюю папку, или файловый менеджер скрывает папки с точкой.
После вылета пропал прогресс за последний час. Игра с тех пор не сохранялась. Уменьшите интервал автосохранения и убедитесь, что остановки корректные, - статья о том, почему ваш игровой сервер постоянно перезапускается поможет отличить вылет от остановки из-за памяти.
Восстановленный backup старше, чем ожидалось. Backup выполнялся, пока игра держала несохранённые изменения в памяти. Отправляйте команду сохранения перед backup.
FAQ#
Где выделенный сервер хранит мир на Linux?
Обычно в домашней папке пользователя, от которого он запущен, - в ~/.config, ~/.local/share или в скрытой папке конкретной игры - либо внутри папки установки, в папке Saved или saves. В таблице выше перечислены значения по умолчанию для распространённых игр.
Можно ли перенести мир из одиночной игры на выделенный сервер?
Для большинства игр да: скопируйте папку или файл мира в папку сохранений сервера и укажите совпадающее имя мира. Игры, которые хранят персонажей на сервере, могут посчитать бывшего хоста новым игроком.
Нужно ли останавливать сервер, чтобы сделать backup мира?
Для гарантированно согласованной копии - да, или как минимум сначала принудительно сохраните. Копия работающего сервера содержит только то, что игра последним записала на диск, а файл, пойманный посреди записи, может оказаться повреждённым.
Почему моего персонажа нет в мире на сервере?
В Valheim и Terraria персонажи живут на вашем ПК, и вы приносите их с собой. В большинстве других игр персонажи - часть серверного сохранения, так что новый сервер или неполная копия означает нового персонажа.
Насколько большими бывают файлы сохранений?
От нескольких мегабайт у молодого мира Valheim или Terraria до нескольких гигабайт у давно работающего мира Minecraft или 7 Days to Die с большой исследованной территорией. Планируйте диск под мир, его backup и некоторый запас на рост.




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