Tenho um servidor de Minecraft para jogar com o meu amigo, mas eu gosto de jogar nos dois (às vezes no Linux, outras no Windows)
Até agora era ele que “tomava conta” do server, mas agora vou ser eu.
Há alguma maneira de sincronizar a pasta entre os dois sistemas que estão em dual-boot? Não quero estar sempre a copiar e colar a pasta sempre que jogo
Cron com opção de rodar no boot não resolve o problema?
Dá pra criar um service do systemd também pra rodar no boot. Daí vc cria um script bem simples que copia tudo da pasta do windows para a respectiva pasta do linux.
Se você tiver a Inicialização Rápida e Hibernação desativadas no Windows, pode simplesmente abrir sua partição de Windows dentro do Linux e criar um link básico (uma espécie de atalho).
Basta abrir a partição do Windows, copiar as localizações das pastas relevantes e, na pasta com o minecraft_server.jar, criar links básicos (No KDE, pode-se fazer com botão direito → Criar Novo → Link básico para arquivo ou pasta…) que apontem para as pastas relevantes na partição do Windows que tenham o mesmo nome.
Exemplo:
A vantagem é que basta abrir a partição do Windows para fazer funcionar e toda alteração que você fizer é enviada automaticamente para a partição com Windows.
Com a sugestão do @eddiecsilva, os arquivos do servidor do Minecraft estariam numa “nuvem” e só seriam enviados/baixados. A sincronização seria via internet.
No geral, os clientes dessas empresas sincronizam com a internet assim que se passam alguns minutos sem modificações no arquivo (já que tempo real iria consumir muita banda). Ou seja, tenha calma na hora de desligar.
A sugestão do @Deleterium é fazer um programa/script que faz a cópia por você a cada inicialização. Cron/Systemd são dois programas incluídos no Linux que podem ser configurados para fazer isso. No final você vai ter que abrir a partição do Windows a cada boot do mesmo jeito.
Ideia interessante amigo Acredito que a melhor forma seja criando um um script que inicia junto com o sistema… No linux abra o terminal e digite o seguinte:
copie ~/mine.sh em algum arquivo que inicia com o sistema como o /etc/X11/xinit/xinitrc
Obs: vc deve substituir os caminhos, /pasta/windows para o caminho onde fica o save do mine no windows e /pasta/linux para o local onde fica o save do mine no linux
Explicação: O 1º cria uma arquivo e torna ele executavel e o 2º vai inserir no script os comandos que deletam seu save do linux e depois copia o save do windows para o linux. O 3º procedimento vc precisa fazer pra que toda vez que inicie o linux isso seja automatico, sacou?
Mas vou ser sincero, não sei como realizar o mesmo no windows… Mas o principio é o mesmo, basta vc usar comandos do powershell que façam o mesmo e inverter, ja que no windows ele vai deletar as pastas do windows e copiar as do linux para ele… Ou seja, onde tiver /pasta/windows se torna /pasta/linux e vice-versa.
O problema desse código e do equivalente Batch/Powershell é que ele assume que os boots vão alternar Linux-Windows-Linux-Windows. Também é necessário copiar de volta para pasta do outro SO na hora de desligar, caso contrário se ele fizer um boot Win-Win ou Lin-Lin ele vai perder todo o progresso da sessão anterior.
Se bem que eu estou pensando aqui, imagina que vc inicia o linux e atualiza os arquivos. Mas aí reinicia o computador e acaba sobrescrevendo algum avanço no jogo?
Acho que a situação é mais complexa do que eu pensei, vai precisar de um espelhamento com rsync e que seja bidirecional, pra quando for pro windows os arquivos estejam atualizados e prontos.
A vantagem é que não precisa fazer nada no windows, apenas no linux.
A outra ideia, de criar um link para o diretório normal do windows, eu acho mais fácil. Acaba rodando o programa apenas em uma pasta, garantindo que as alterações estarão sempre compartilhadas entre os dois sistemas.
Porém precisa fazer testes para garantir que conseguirá executar arquivos na partição windows, e que os arquivos sejam compatíveis (minecraft é java né? então deve funcionar!)
Não sei se entendi direito, mas não funcionaria se você montasse a partição do windows onde estão os arquivos do server, no linux? Aí poderia usar os mesmos arquivos nos dois sistemas.
@Capezotte… Pensei direito no que vc disse e acabei tendo uma ideia… E se o computador apenas executar a linha de código abaixo toda vez que fosse desligado?
No linux:rm -r /pasta/windows; cp -r /pasta/linux /pasta/windows No windows:rm -r /pasta/linux; cp -r /pasta/windows /pasta/linux
Assim toda vez que desligasse inves de atualizar a pasta do próprio sistema ele iria atualizar a pasta do outro sistema… Ainda teriamos o problema anterior desta forma?
Bem, obrigado a todos pelas sugestões
Penso que a opção mais fácil será mesmo sincronizar com uma aplicação. Alguém tem sugestões? Posso usar o GDrive, Mega, 1Drive, … mas também já ouvi falar do sycnthing.
Ou até usar uma partição FAT32 com os ficheiros (para que seja reconhecida pelos 2)…
Tem o Duplicati, bem fácil de usar, e sincroniza com vários serviços - funciona com Mega. E tem o próprio Mega, mas esse tem que configurar pra ele ler alguma outra pasta que não a MegaSync (ou vc joga a pasta desejada dentro dela)