구글 기본적으로 15기가 정도는 무료로 주니까 쓸만할걸로 예상됨.

현재 쓰고 있던 계정이 있는경우, 빈 깡통 계정 만드는 걸 추천

깡통 계정도 15기가 줌. (만드는 방법은 그냥 구글 회원가입하면 댐)




1. Rclone을 이용할거임

- https://rclone.org/downloads/ 여기에서 자신 환경에 맞는 rclone을 다운로드


2. 압축해제 후 적당한 곳에 폴더를 이동시키셈

- 저 같은 경우 C:\rclone 에 위치시킴 반드시 해당 위치를 기억해놓아야함


3. 해당 폴더에서 쉬프트를 누른 후 오른쪽 클릭하면 메뉴창이 뜰텐데, 거기서 커멘드창 띄우셈

- 파워쉘이든 cmd든 아무거나 상관없음




4. 커멘드창이 뜨면


rclone config를 입력함

(base) PS C:\rclone> rclone config

n 누르고 엔터

n/s/q> n

드라이브 이름을 영어로 아무거나 지으셈 본인은 gds_dyson으로 정함

name> gds_dyson

18을 입력해줌

Storage> 18


여기서 분기점인데, 나는 세이브파일이 1기가 이상이라 빠른 속도가 필요하다 싶으면

https://rclone.org/drive/#making-your-own-client-id

Google driveGoogle driverclone.org

여기에 툴팁대로 이행 한다음에 순서 따라오셈


(만약 위에 설명대로 프로젝트를 만든 후 api를 발급받은 경우 발급받은 client_id 입력)

1기가 미만의 세이브파일을 가진 늅같은 경우 아무것도 입력하지 않고 엔터

client_id>


(만약 위에 설명대로 프로젝트를 만든 후 api를 발급받은 경우 발급받은 client_secret 입력)

1기가 미만의 세이브파일을 가진 늅같은 경우 아무것도 입력하지 않고 그냥 엔터!

client_secret>


이제부터는 늅이든 고인물이든 다 동일함

1입력 후 엔터

scope> 1


아무것도 적지않고 엔터

service_account_file>


아무것도 적지않고 엔터

y/n>


y누르고 엔터

y/n> y





그러면 위 와 같은 로그인 화면이 나오는데

연결할 계정을 선택하고


허용 누르면 됌


그 이후 그냥 엔터 눌러주면 rclone 설정은 끝나게댐

y/n>

y/e/d>



5. 메모장을 열어주셈 (진짜 윈도우 메모장)


@echo off
@chcp 65001 1> NUL 2> NUL
setlocal EnableDelayedExpansion
 
::웬만하면 건들이지 않는걸 추천
set STEAM_SHORTCUT=steam://rungameid/1366540
set DYSON_GAME_EXE=DSPGAME.exe
set BASE_DIR=%userprofile%\Documents\Dyson Sphere Program
set FILE_LIST=output.txt
::웬만하면 건들이지 않는걸 추천
 
 
rem 여기가 바로 수정해야할 부분!
set BACKUP_DIR=%userprofile%\Documents\backup\Dyson Sphere Program
set RCLONE_PATH=C:\rclone\rclone.exe
set DRIVE_DIR=gds_dyson:/게임/Dyson Sphere Program
rem 여기가 바로 수정해야할 부분!
 
 
echo make backup folder
echo.
mkdir "%BACKUP_DIR%"
"%RCLONE_PATH%" mkdir "%DRIVE_DIR%"
 
echo move backup
echo.
robocopy "%BASE_DIR%" "%BACKUP_DIR%" ///R:1 /W:1 /NFL /NDL /NP /MT:16 /XO
 
"%RCLONE_PATH%" lsl "%DRIVE_DIR%/Save" > temp.txt
 
for /"usebackq tokens=*" %%A in ("temp.txt"do (
    setlocal enabledelayedexpansion
    set "file_info=%%A"
    REM 파일 정보에서 파일 크기, 수정 날짜 및 파일 경로 추출
    for /"tokens=1-3,*" %%B in ("!file_info!"do (
        set "file_size=%%B"
        set "file_mod_date=%%C"
        set "file_mod_time=%%D"
        
        REM 파일 경로에서 첫 번째 공백 이후의 텍스트 추출
        set "file_path=%%E"
 
        REM 파일인지 폴더인지 확인
        if "!file_size!" neq "<dir>" (
            REM "대상" 폴더에 파일이 존재하는지 확인
            if exist "%BASE_DIR%\Save\!file_path!" (
                REM "대상" 폴더의 파일이 더 최신으로 수정된 경우, sync를 수행하지 않음
                for %%G in ("%BASE_DIR%\Save\!file_path!"do (
                    set "dest_file_mod_date=%%~tG"
                    setlocal enabledelayedexpansion
 
                    if "!dest_file_mod_date!" gtr "!file_mod_date! !file_mod_time!" (
                        echo"!dest_file_mod_date!" gtr "!file_mod_date!% %!file_mod_time!"
                    ) else (
                        echo "%BASE_DIR%\Save\!file_path!"" is modified. so sync.
                        "%RCLONE_PATH%" sync "%DRIVE_DIR%" "%BASE_DIR%" --create-empty-src-dirs --transfers 20 --copy-links --drive-server-side-across-configs=true --progress
                        goto Sync
                    )
                    endlocal
                )
            ) else (
                echo "%DRIVE_DIR%\!file_path!" is not exist. so sync.
                "%RCLONE_PATH%" sync "%DRIVE_DIR%" "%BASE_DIR%\" --create-empty-src-dirs --transfers 20 --copy-links --drive-server-side-across-configs=true --progress
                goto Sync
            )
        )
    )
    endlocal
)
 
:Sync
del temp.txt
 
echo RUN GAME!
echo.
start %STEAM_SHORTCUT%
 
echo IM WATING UNTIL GAME END
echo.
echo.
echo.
timeout /30 /nobreak >nul
 
for /"tokens=2" %%a in ('tasklist /nh /fi "imagename eq %DYSON_GAME_EXE%"'do set "PID=%%a"
 
:LOOP
tasklist /fi "PID eq %PID%" | find "%PID%" >nul
if %errorlevel% equ 0 (
    timeout /1 /nobreak >nul
    goto LOOP
)
echo DETECTED THE GAME HAS ENDED!
echo SYNC DATA TO GDS!
echo.
"%RCLONE_PATH%" sync "%BASE_DIR%" "%DRIVE_DIR%" --create-empty-src-dirs --transfers 20 --copy-links --drive-server-side-across-configs=true --progress
echo DONE!
 
pause
exit
 
cs



위 코드를 복사한 후에 메모장에 붙여넣기 해주고

본인 설치 환경에 따라


set BACKUP_DIR=%userprofile%\Documents\backup\Dyson Sphere Program
set RCLONE_PATH=C:\rclone\rclone.exe
set DRIVE_DIR=gds_dyson:/게임/Dyson Sphere Program

위 세가지 항목을 수정해주어야함


BACKUP_DIR은 만약 구글드라이브에 있는 파일이 구버전 데이터라면 여기에 기존데이터가 저장되어있을거임

현재는 내문서/backup/Dyson Sphere Program 이라는 폴더에 저장되게끔 설정해놨음


RCLON_PATH는 rclone 설치한 폴더에 있는 rclone.exe의 경로를 말함. 만약 나처럼 똑같이 c:\rclone 폴더에 위치시켜놨다면 안 건들여도 됌


DRIVE_DIR은 자신의 구글 드라이브 폴더 어디에 세이브 파일 저장할지 정하는거임. rclone config를 통해 만든 name을 앞에 위치시키고 그 이후 경로를 적는거.


그 이후에 자신이 원하는 곳에 텍스트 파일을 저장해주면 됌 (인코딩 방식은 UTF-8로 지정해야함)


근데 반드시 뒤에는 .bat 으로 끝나게 저장해야함




이런 느낌으로 파일 만들면 됌




이제 이 파일을 실행하면 다이슨이 시작되기 전에 구글드라이브에서 세이브파일 불러오고, 스팀에 다이슨 스피어 프로그램 실행요청 보내고

게임 꺼질때 까지 대기하게 됌.

꺼진 이후에는 다시 드라이브에 동기화 하구



쓰고보니 쓸모없는 팁인거같네 ㅌㅌㅌㅌㅌ