CloudQuest é uma aplicação Python projetada para simplificar a sincronização de seus arquivos de salvamento (saves) entre múltiplas plataformas e dispositivos, armazenando-os em seu serviço de nuvem preferido. Ele utiliza o Rclone para interagir com diversos serviços de armazenamento em nuvem.
O CloudQuest combina duas funcionalidades principais em uma única solução coesa:
- Sincronizador de Saves (CloudQuest Core): O coração da aplicação, responsável por:
- Fazer o download dos saves da nuvem antes de iniciar um jogo.
- Fazer o upload dos saves para a nuvem após o jogo ser fechado.
- Monitorar o processo do jogo.
- Interface de Configuração (QuestConfig): Uma interface gráfica amigável (GUI) que permite aos usuários:
- Adicionar e gerenciar perfis de jogos.
- Configurar caminhos de executáveis de jogos, locais de salvamento e diretórios na nuvem.
- Detectar automaticamente informações de jogos (ex: AppID do Steam).
- Criar atalhos para facilitar o lançamento de jogos com sincronização.
- Sincronização Automática e Bidirecional:
- Upload automático dos saves após fechar o jogo.
- Download automático dos saves mais recentes antes de iniciar o jogo.
- Suporte a uma vasta gama de serviços de nuvem através do Rclone (Google Drive, Dropbox, OneDrive, etc.).
- Interface de Configuração Intuitiva (QuestConfig):
- Gerenciamento fácil de múltiplos perfis de jogos.
- Assistente para configuração de novos jogos.
- Auto-detecção de AppID do Steam para facilitar a configuração.
- Busca de informações sobre locais de save na PCGamingWiki.
- Criação de atalhos personalizados na área de trabalho (Windows) ou scripts (Linux/macOS) para iniciar jogos com sincronização.
- Núcleo Confiável:
- Monitoramento preciso do processo do jogo para garantir que a sincronização ocorra no momento certo.
- Sistema de logging detalhado para troubleshooting.
- Tratamento de erros e tentativas de sincronização.
- Compilação Simplificada:
- Script
cloudquest_compiler.pypara empacotar a aplicação e a interface de configuração em um único executável usando PyInstaller.
- Script
- Suporte Multiplataforma:
- Funciona em Windows, Linux e macOS (a interface gráfica e a criação de atalhos podem ter funcionalidades específicas por plataforma).
- Script de instalação (
install.sh) para Linux e macOS.
- Rclone: É essencial ter o Rclone instalado e configurado com pelo menos um "remote" (serviço de nuvem). O CloudQuest não instala o Rclone.
- Sistema Operacional:
- Windows 10 ou superior.
- Distribuições Linux recentes.
- macOS.
- (Para Desenvolvimento/Compilação):
- Python 3.7 ou superior.
- Dependências listadas em
cloudquest_compiler.py(PyInstaller, Pillow, psutil, requests, watchdog).
- Baixe o arquivo
.zipda release mais recente. - Extraia o conteúdo para um diretório de sua preferência (ex:
C:\CloudQuest). - Execute
CloudQuest.exe --configou diretamenteCloudQuest.exe(que abrirá a interface de configuração) para começar a configurar seus jogos.
- Baixe o arquivo
.tar.gzou.zipda release mais recente, ou clone o repositório. - Extraia o conteúdo.
- Navegue até o diretório extraído e execute o script de instalação:
O script tentará instalar o CloudQuest em
cd CloudQuest chmod +x install.sh ./install.sh$HOME/.local/bine criar um link simbólico em/usr/local/bin.
- Clone o repositório:
git clone https://github.com/Mallor705/CloudQuest.git # Substitua pelo URL correto do seu repositório cd CloudQuest
- Instale as dependências de compilação (principalmente PyInstaller e outras listadas no
cloudquest_compiler.py):pip install pyinstaller Pillow psutil requests watchdog
- Execute o script de compilação:
O executável será gerado no diretório
python cloudquest_compiler.py
dist/CloudQuest/.
Importante: Para que o CloudQuest localize corretamente os saves, o jogo deve ter sido executado ao menos uma vez para que seus diretórios de saves existam em seu sistema.
Importante: Certifique-se de que você já configurou um "remote" no Rclone antes desta etapa.
- Inicie a interface de configuração:
- Windows: Execute
CloudQuest.exeouCloudQuest.exe --config. - Linux: Execute
cloudquestoucloudquest --configno terminal.
- Windows: Execute
- Na interface do QuestConfig:
- Adicionar Novo Perfil: Clique para criar uma nova configuração para um jogo.
- Caminho do Executável: Selecione o arquivo executável principal do jogo.
- Steam AppID: Insira o AppID Steam do jogo (mesmo que não seja da Steam), se for um jogo Steam basta detectar automaticamente.
- Nome do Jogo: Defina um nome para o perfil.
- Caminho dos Saves:
- Pode ser detectado automaticamente (usando Steam AppID ou buscando na PCGamingWiki).
- Pode ser inserido manualmente.
- Configuração Rclone:
- Selecione o "remote" do Rclone previamente configurado.
- Defina o caminho na nuvem onde os saves deste jogo serão armazenados (ex:
meuDrive:/CloudSaves/NomeDoJogo).
- Opções Adicionais:
- Configure o nome do processo do jogo (geralmente o nome do executável).
- Crie um atalho (Windows) ou script de inicialização.
- Salve o perfil.
Após configurar um perfil:
- Usando Atalho/Script: Se você criou um atalho (Windows) ou script durante a configuração, basta executá-lo.
- Linha de Comando:
Substitua
# Windows CloudQuest.exe "Nome do Perfil" # Linux/macOS cloudquest "Nome do Perfil"
"Nome do Perfil"pelo nome exato que você deu ao perfil do jogo na configuração.
O CloudQuest irá:
- Baixar os saves mais recentes da nuvem.
- Iniciar o jogo.
- Aguardar o jogo ser fechado.
- Fazer upload dos saves atualizados para a nuvem.
[nome_do_perfil]: (Opcional) Inicia o jogo com o perfil especificado e sincroniza os saves.--configou-c: Abre a interface de configuração (QuestConfig).--game-path CAMINHO_DO_JOGOou-g CAMINHO_DO_JOGO: (Opcional, usado em conjunto comnome_do_perfil) Especifica o caminho do diretório do jogo.--silentou-s: (Opcional) Executa em modo silencioso, suprimindo diálogos de interface gráfica (útil para scripts).
Se nenhum argumento for fornecido e nenhum perfil temporário for encontrado, a interface de configuração será iniciada.
- Os perfis de configuração dos jogos são armazenados como arquivos JSON no diretório
%APPDATA%/cloudquest/profiles/(Windows) e~/.config/cloudquest/profiles(Linux). - Os logs são armazenados no diretório
%APPDATA%/cloudquest/logs/(Windows) e~/.cache/cloudquest/logs/(Linux).
CloudQuest é um projeto em desenvolvimento. Embora testado, podem existir bugs. Use por sua conta e risco. Backups regulares dos seus saves são sempre uma boa prática.
- Reporte problemas ou sugira funcionalidades através das Issues do GitHub.
- Contribuições são bem-vindas!
- Rclone: Pela ferramenta essencial que torna possível a sincronização com diversos serviços de nuvem.
- PCGamingWiki: Pela sua vasta base de dados pública sobre jogos, que auxilia na detecção de caminhos de saves.
- CustomTkinter: Pela excelente biblioteca para criação de interfaces gráficas modernas em Python.
- Comunidade de desenvolvimento Python e Open Source.
Este projeto é licenciado sob a GNU General Public License v3.0. Consulte o arquivo LICENSE para mais detalhes.