Steam Cloud 세이브 충돌 줄이기, Auto-Cloud·교차 플랫폼·로그 점검법
AI를 활용하여 생성한 이미지입니다.
Steam Cloud 충돌이 뜰 때 동기화를 켰다 끄는 행동만 반복하면 어느 파일이 최신인지, 실제로 어떤 파일이 Cloud 대상인지 놓치기 쉽습니다. 먼저 게임을 정상 종료하고 로컬 세이브를 보존한 뒤, Cloud 설정·플랫폼 경로·마지막 동기화 시점을 차례로 확인하세요. Steam Cloud는 게임 종료 후 변경된 파일을 서버와 동기화하고, 다른 기기에서 실행하기 전에 필요한 파일을 내려받는 구조로 설명됩니다.[1]
Auto-Cloud와 Cloud API를 구분합니다
| 방식 | 특징 | 충돌을 줄일 때 볼 것 |
|---|---|---|
| Steam Auto-Cloud | 게임 코드 변경 없이 지정된 경로와 파일 그룹을 동기화합니다.[1] | Root Path, 파일 패턴, OS별 경로 |
| Steam Cloud API | 게임 코드가 파일 읽기·쓰기·삭제와 동기화 흐름을 제어합니다.[1][2] | 호출 순서, 파일명, 할당량, 비동기 결과 |
| 공통 | 기기 변경 후 세이브를 내려받아 이어서 플레이합니다.[1] | 정상 종료와 업로드 완료 시간 |
사용자라면 게임별 속성과 Steam 계정 전체 설정에서 Cloud가 각각 켜져 있는지 확인하세요. 한쪽이 꺼져 있으면 다른 기기의 파일이 최신이어도 자동으로 맞춰지지 않을 수 있습니다. 설정을 다시 켠다고 이미 로컬에 남은 파일과 서버 파일의 우선순위가 원하는 방향으로 자동 정리된다고 가정하면 안 됩니다.
충돌이 생기는 전형적인 순서
- 기기 A에서 게임을 실행한 채 강제 종료하거나 Steam을 바로 종료합니다.
- 변경된 세이브가 업로드되기 전에 기기 B에서 같은 게임을 실행합니다.
- 두 파일이 다른데 날짜만 보고 어느 세이브를 선택할지 결정합니다.
- Auto-Cloud 경로나 플랫폼 분할 설정 때문에 실제 세이브 파일이 동기화 대상에서 빠져 있습니다.
기기를 바꾸기 전에는 게임을 정상 종료하고 Steam이 동기화를 끝낼 시간을 주세요. 큰 파일이나 너무 많은 작은 파일은 네트워크 사용량과 종료·재실행 시간을 늘릴 수 있다는 점도 Steam 문서에 설명되어 있습니다.[1] 세이브만 필요하다면 스크린샷, 캐시, 임시 파일까지 같은 그룹에 넣는 설계를 피하는 것이 충돌 범위를 줄이는 데 유리합니다.
교차 플랫폼에서는 파일 경로와 포맷을 따로 봅니다
Windows와 Linux·SteamOS·macOS를 오갈 때는 “파일이 내려왔다”와 “게임이 같은 세이브를 읽는다”가 같은 말이 아닙니다. Cloud API에서 새 파일의 기본 동기화 대상은 모든 플랫폼으로 설명되지만, Auto-Cloud는 Root Path에 지정한 OS 조건에 따라 플랫폼별 파일 묶음이 나뉠 수 있습니다.[1] OS마다 별도 Root Path를 만들었다면 동기화 자체는 성공해도 서로 다른 폴더를 읽게 됩니다.
세이브에는 그래픽 옵션, 모니터 해상도, 키보드 배치처럼 기기별로 달라야 하는 값을 넣지 않는 편이 좋습니다. Valve 문서도 교차 플랫폼 Cloud를 고려할 때 기계별 설정을 피하도록 안내합니다.[1] 파일명 대소문자, 줄바꿈, 경로 구분자, 저장 포맷이 OS에 의존하면 파일은 내려와도 게임이 읽지 못할 수 있습니다. 플랫폼을 바꾸기 전 새 슬롯에 저장하고, 원래 기기의 세이브를 별도로 복사해 두세요.
복구할 때 파일을 먼저 보존합니다
- 게임과 Steam을 실행 중인 다른 PC·Steam Deck에서 닫습니다.
- 충돌 화면에서 즉시 선택하지 말고, 양쪽 기기의 로컬 세이브를 별도 폴더에 복사합니다.
- 파일명, 수정 시각, 슬롯 번호, 마지막 플레이 시점을 비교합니다.
- 가장 최근이라는 이유만으로 고르지 말고 진행 상황이 실제로 더 앞선 파일인지 확인합니다.
- 한 기기에서 선택한 뒤 게임을 정상 종료하고 Cloud 완료 표시를 기다립니다.
- 다른 기기에서는 바로 계속 플레이하지 말고 내려받은 세이브가 맞는지 확인합니다.
충돌 선택 화면에서 “로컬”과 “클라우드”라는 표현은 어느 파일을 가리키는지 확인한 뒤 사용해야 합니다. 선택 전에 백업을 남기면 잘못된 선택을 되돌릴 여지가 생깁니다. 세이브 폴더 위치는 게임마다 다르므로, 모르는 폴더를 무작정 지우거나 Cloud 파일을 수동으로 덮어쓰지 마세요.
개발 중인 게임은 쓰기 흐름을 점검합니다
Cloud API를 사용하는 게임은 ISteamRemoteStorage에서 파일 쓰기·읽기 흐름을 확인해야 합니다. 파일명은 지원하는 OS와 파일 시스템에서 유효해야 하고, 잘못된 경로나 할당량 초과도 쓰기 실패 원인이 될 수 있습니다.[2] 여러 파일을 한 번에 저장한다면 BeginFileWriteBatch와 EndFileWriteBatch로 묶음 쓰기를 알리는 방식도 문서에 안내되어 있습니다.[2]
세이브 저장 전: 임시 파일에 기록 → 저장 성공 확인 → Cloud 파일 쓰기 결과 확인 → 정상 종료 때 동기화 대기 → 다음 실행에서 버전·슬롯 확인
파일 내부에 게임 버전, 슬롯, 저장 시각처럼 검증 가능한 값을 넣으면 두 세이브를 비교하는 화면을 만들기 쉽습니다. 이것은 Steam이 최신 파일을 대신 판정한다는 뜻이 아니라, 게임이 상태를 비교할 정보를 남긴다는 뜻입니다. 임시 파일을 완성된 세이브로 바꾸는 과정도 중단 시 손상되지 않도록 설계해야 합니다.
로그를 볼 때의 순서
먼저 계정 전체와 게임별 Cloud 설정을 확인하고 게임을 정상 종료한 뒤 다시 시작합니다. 개발 중인 게임이라면 Steamworks 설정 변경을 저장·공개한 뒤 클라이언트가 새 설정을 받는 시간을 주고, 필요하면 Steam을 재시작합니다.[1] 이후 Steam 설치 폴더의 logs/cloud_log.txt에서 업로드·다운로드·제외 파일 기록을 살펴봅니다.[1]
Steamworks API 자체의 오류를 조사할 때는 공식 디버깅 문서가 설명하는 API 경고와 로그 폴더를 함께 확인할 수 있습니다.[3] 일반 사용자가 개발용 실행 옵션을 무작정 늘리기보다 충돌이 난 시각, 선택한 파일, 게임 종료 여부, 로그의 관련 줄을 한 묶음으로 보존하는 편이 낫습니다. 로그에는 계정·경로 정보가 포함될 수 있으므로 공개할 때 개인정보를 가리세요.
상황별 판단표
| 증상 | 우선 확인 | 피할 행동 |
|---|---|---|
| 게임 종료 후 매번 충돌 | 정상 종료·업로드 완료·두 기기 동시 실행 | 충돌 화면에서 무조건 최신 날짜 선택 |
| 한 플랫폼에서만 세이브 없음 | Auto-Cloud Root Path와 파일 패턴 | 폴더 전체를 임의로 동기화 대상에 추가 |
| 파일은 내려오지만 게임이 못 읽음 | 포맷·경로·대소문자·버전 호환 | 원본 백업 없이 덮어쓰기 |
| 동기화 자체가 실패 | Cloud 설정과 cloud_log.txt | 로그 없이 반복 재설치 |
자주 묻는 질문
Steam Cloud를 껐다 켜면 충돌이 사라지나요?
설정 변경만으로 이미 다른 두 파일이 합쳐지지는 않습니다. 먼저 양쪽 로컬 파일을 보존하고 어떤 파일을 기준으로 삼을지 결정해야 합니다.
수정 시각이 최신인 파일을 고르면 되나요?
항상 그렇지 않습니다. 자동 저장 시각과 실제 진행 시점이 다를 수 있으므로 슬롯, 플레이 구간, 게임 버전을 함께 비교하세요.
다른 글의 Steam Input 설정과 관련 있나요?
입력 매핑과 세이브 동기화는 별도 문제입니다. 컨트롤러 레이아웃은 Steam Input 게임별 설정 글에서 다루고, Cloud는 파일 경로와 로그를 기준으로 진단하세요.
세이브 충돌을 줄이는 가장 현실적인 습관은 기기를 바꾸기 전 정상 종료, 동기화 완료 확인, 원본 백업, 플랫폼별 파일 경로 기록입니다. Cloud가 켜져 있다는 표시만으로 최신 파일과 호환성이 보장되는 것은 아니므로, 문제가 반복되면 파일 범위와 저장 포맷까지 개발 문서에서 확인하세요.
운영 중 충돌을 줄이는 설계 기준
게임 개발자는 세이브 파일을 저장할 때 슬롯 번호와 게임 버전을 파일 내부에 남기고, 쓰기가 끝났다는 결과를 확인한 뒤 정상 종료 절차를 진행해야 합니다. 여러 파일이 한 세이브를 구성한다면 일부만 올라간 상태를 피하도록 묶음 쓰기와 임시 파일 교체를 고려하세요. 단순히 파일을 자주 쓰는 것보다 저장 빈도, 파일 크기, 파일 개수를 줄이는 편이 업로드 지연과 충돌 가능성을 낮추는 데 도움이 됩니다.[1][2]
교차 플랫폼을 지원한다면 플랫폼별 설정과 진행 상태를 분리해 어느 파일이 공유 대상인지 명시하세요. 경로가 운영체제마다 달라지는 경우 동일한 논리적 세이브가 같은 이름과 포맷으로 매핑되는지 확인하고, 대소문자·줄바꿈·문자 인코딩 차이도 검토해야 합니다. 한 플랫폼에서만 읽히는 파일은 공유 목록에서 제외하거나 변환 절차를 마련해야 합니다.
지원 요청에 포함할 정보
문제가 반복되면 계정 이름이나 세이브 원문을 그대로 공개하지 말고, 게임 버전·운영체제·Steam 클라이언트 버전·마지막 정상 동기화 시각·충돌 선택 결과·관련 로그의 시간대만 정리하세요. 파일 경로와 로그를 공유해야 한다면 사용자 이름과 개인 폴더를 가립니다. 로그를 읽을 때는 업로드, 다운로드, 제외, 실패가 어느 파일에 대해 발생했는지 연결해야 하며, 단순히 오류 한 줄만 보고 전체 원인을 단정하지 마세요.
[…] 먼저 로컬 복사본을 남기는 편이 안전합니다. 세이브 충돌이 반복될 때는 Steam Cloud 세이브 충돌 줄이기에서 Auto-Cloud와 기기별 파일 상태를 나누어 확인할 수 […]