Домой Гайды, инструкции и лайфхаки Синхронизация игровых сохранений через домашний сервер

Синхронизация игровых сохранений через домашний сервер

Автор столкнулся с лимитами Steam Cloud в Football Manager 26 и настроил собственную систему синхронизации сохранений через домашний сервер с помощью инструментов Ludusavi и Rclone.

6
0

Проблема переноса игровых сохранений между несколькими устройствами актуальна для многих пользователей. Несмотря на то что Steam Cloud успешно решает эту задачу для большинства проектов, существуют ограничения, с которыми можно столкнуться на практике. Один из примеров — игра Football Manager 26. В ней реализована синхронизация через облако Steam, однако система имеет лимит объема данных, составляющий 10 ГБ. При достижении этого порога процесс синхронизации прекращается, что может привести к потере прогресса, если пользователь не заметит проблему вовремя, находясь вдали от дома.

Библиотека игр в Football Manager 26 с активной функцией Steam Cloud

Использование Ludusavi и Rclone для автоматизации копий

Чтобы избежать зависимости от облачных лимитов Steam и гарантировать сохранность данных, автор решил использовать собственный домашний сервер в качестве единого хранилища. Для этой цели были выбраны инструменты Ludusavi и Rclone.

Ludusavi — это бесплатное программное обеспечение с открытым исходным кодом, которое автоматически определяет расположение файлов сохранений для тысяч игр, опираясь на базу данных PCGamingWiki. Программа работает без сложной предварительной настройки, самостоятельно обнаруживая установленные игры, такие как Football Manager 26, на ноутбуке и стационарном компьютере.

Интеграция с Rclone позволяет превратить локальный инструмент резервного копирования в полноценное облачное решение. Настроенный профиль направляет данные на SMB-ресурс, работающий в контейнере Samba на сервере Proxmox с файловой системой ZFS. Система настроена на автоматическую проверку соответствия локальных и серверных копий перед выполнением каждой операции. Если файлы различаются, Ludusavi предупреждает пользователя, предотвращая случайную перезапись актуальных данных.

синхронизация игровых сохранений — иллюстрация 2 к материалу
Интерфейс программы Ludusavi для резервного копирования данных

Обеспечение удаленного доступа с помощью NetBird

Одной из ключевых задач при организации такой системы был доступ к серверу вне дома. Поскольку SMB-ресурс не выведен в открытый интернет, для безопасного подключения используется mesh-VPN на базе NetBird. Это решение, развернутое на собственном оборудовании, обеспечивает доступ к домашней сети через протокол WireGuard.

синхронизация игровых сохранений — иллюстрация 3 к материалу
Ludusavi автоматически находит файлы сохранений игр

В настройках NetBird Samba-ресурс сконфигурирован как сетевой ресурс, что упрощает развертывание, исключая необходимость установки VPN-клиента на каждый компонент инфраструктуры. Хост Proxmox перенаправляет трафик, поступающий с ноутбука или других устройств, на внутренний LAN-адрес контейнера. Благодаря унификации сетевых настроек конфигурация Rclone остается идентичной как при работе в домашней сети, так и при удаленном подключении.

синхронизация игровых сохранений — иллюстрация 4 к материалу
Процесс поиска игр в утилите Ludusavi

Особенности синхронизации между Windows и Linux

Дополнительная сложность возникла из-за того, что основной компьютер автора работает под управлением CachyOS (на базе Linux), где игра запускается через слой совместимости Proton, а ноутбук — под управлением Windows. Пути к файлам сохранений в этих ОС существенно различаются: на Windows это системная папка «Документы», а на Linux — аналогичная папка, скрытая внутри префикса Proton.

синхронизация игровых сохранений — иллюстрация 5 к материалу
Настройки резервного копирования в Ludusavi

Для решения этой проблемы в Ludusavi были использованы «перенаправления» (redirects). На настольном ПК автор настроил маппинг, который соотносит папку «Документы» внутри префикса Proton с путем, используемым в Windows. Это позволяет системе воспринимать сохранения с обоих устройств как единый набор данных, обеспечивая корректное восстановление прогресса вне зависимости от используемой операционной системы.

синхронизация игровых сохранений — иллюстрация 6 к материалу
Окно управления данными в приложении Ludusavi

Таким образом, создание собственной системы синхронизации позволило преодолеть ограничения облачных сервисов, сохранив при этом удобство автоматического обмена данными для всех игровых сессий.

синхронизация игровых сохранений — иллюстрация 7 к материалу
Настройка NetBird для удаленного доступа к серверу

Почему Steam Cloud — не панацея

Проблема синхронизации Football Manager 26 выходит за рамки простого достижения лимита в 10 ГБ. Важной особенностью механики сохранения в этой серии является то, что процесс загрузки данных в облако активируется только в момент выхода игрока из приложения. Если объем сохранения превышает установленный буфер, Steam Cloud просто перестает выполнять свою функцию, не оповещая пользователя о сбое. Это создает ложное чувство защищенности: игрок может уехать в путешествие, будучи уверенным, что прогресс синхронизирован, и лишь на месте обнаружить, что актуальный файл остался на домашнем ПК, а в облаке висит версия многомесячной давности.

синхронизация игровых сохранений — иллюстрация 8 к материалу
Схема работы mesh-VPN сети

Хотя многие геймеры выбирают альтернативные пути решения — например, использование USB-накопителей или ручную загрузку сейвов в облачные хранилища вроде Google Drive и Dropbox, — эти методы требуют дисциплины и постоянного контроля. Использование домашнего сервера превращает этот процесс в «бесшовный» фон, избавляя от необходимости носить с собой физические носители или доверять сторонним публичным сервисам.

синхронизация игровых сохранений — иллюстрация 9 к материалу
Страница управления пользователями в панели NetBird

Особенности работы Ludusavi и Rclone

Привлекательность Ludusavi заключается в его глубокой интеграции с базой данных PCGamingWiki. Это избавляет пользователя от ручного поиска путей к файлам — инструмент самостоятельно обнаруживает подавляющее большинство установленных игр. В текущей конфигурации системы Ludusavi выполняет роль интеллектуального посредника: перед каждой операцией он проводит сверку хэш-сумм или дат модификации локальной и серверной копий. Если обнаруживается конфликт (например, если файлы были изменены на обоих устройствах без завершения сессии), программа выдает предупреждение, вместо того чтобы совершить деструктивное действие и перезаписать ценные данные.

синхронизация игровых сохранений — иллюстрация 10 к материалу
Панель управления NetBird с активными подключениями

Сетевая архитектура и NetBird

Решение использовать NetBird для удаленного доступа продиктовано требованиями безопасности: открытие SMB-ресурса для прямого доступа из интернета является крайне рискованной практикой. Используя self-hosted вариант NetBird, автор организовал туннелирование через протокол WireGuard. Важный нюанс заключается в способе конфигурации: Samba-ресурс был настроен в панели управления NetBird как сетевой ресурс (network resource), а не как отдельный peer. Это избавляет от необходимости устанавливать клиентское ПО на каждое устройство в сети. Сервер Proxmox берет на себя функции шлюза, прозрачно пробрасывая входящий трафик от удаленного ноутбука к внутреннему LAN-адресу контейнера. В результате Rclone «видит» одинаковый сетевой путь к хранилищу независимо от того, находится ли пользователь в локальной сети или за тысячи километров от дома.

синхронизация игровых сохранений — иллюстрация 11 к материалу
Контрольный центр NetBird на устройстве под управлением macOS

Синхронизация между ОС: маппинг путей

Специфика работы с Proton добавляет еще один уровень сложности, так как структура каталогов в Windows и Linux фундаментально различается. Без использования механизма «перенаправлений» (redirects) Ludusavi рассматривал бы файлы в папке Documents на Windows и файлы внутри префикса Proton на CachyOS как совершенно разные объекты. Установка маппинга позволила сопоставить эти пути, благодаря чему Ludusavi автоматически приводит структуру бэкапов к единому стандарту. Это позволяет комфортно переключаться между двумя системами, не заботясь о том, где именно в текущий момент находятся файлы игры — инструмент сам «понимает», что должен синхронизировать содержимое двух разных директорий как единый игровой прогресс.

синхронизация игровых сохранений — иллюстрация 12 к материалу
Настройки путей для игры, запущенной через Proton на CachyOS Linux