Windows 환경에서 Steam 게임을 설치하면 자동으로 생성되는 데스크톱 바로가기가 정상적인 이미지 대신 흰색 사각형으로 표시되는 현상이 보고되었습니다. 이는 Steam 클라이언트 내부의 해시 값과 실제 CDN에 저장된 아이콘 경로가 일치하지 않아서 발생하는 문제입니다.

사용자 GiNT0NiC_1453은 이 문제를 해결하기 위해 RNZ01이 공개한 Fix-SteamShortcutIcons라는 PowerShell 스크립트를 처음에 사용했습니다. 해당 스크립트는 Steam의 콘텐츠 전송 네트워크에서 누락된 아이콘 파일을 다운로드하여 바로가기 속성을 패치하는 구조로 되어 있습니다.

하지만 이 방법으로도 일부 게임은 해결되지 않았습니다. 스크립트 실행 결과 총 58개의 Steam 바로가기 중 Battlefield 6와 HELLDIVERS 2 두 개 항목이 여전히 깨진 상태로 남았습니다. 로그를 확인해 보면 두 게임 모두 HTTP 404 Not Found 오류를 반환했습니다.

원인은 Steam CDN이 바로가기에 저장된 특정 해시를 기준으로 아이콘을 찾지 못했기 때문입니다. 즉, 요청한 경로에 이미지가 실제로 존재하지 않는 상황이었습니다. 이에 따라 작성자는 기존 저장소를 포크하여 스크립트의 로직을 확장했습니다.

수정된 버전에서는 하나의 고정된 CDN 주소만 고집하지 않고 7가지 다른 Steam CDN 주소를 순차적으로 시도하도록 변경되었습니다. 이를 통해 메인 서버가 아닌 미러링된 다른 노드에서 이미지를 찾을 가능성을 높였습니다.

모든 CDN 주소에서 아이콘을 찾지 못할 경우를 대비한 백업 절차도 추가되었습니다. 스크립트는 Steam 라이브러리 파일을 참조하여 게임이 설치된 드라이브와 폴더 경로를 파악합니다. 이후 해당 경로에 있는 게임 자체의 .exe 실행 파일에서 아이콘 리소스를 직접 추출합니다.

이 방식은 외부 네트워크 의존도를 낮추고 로컬에 이미 설치된 데이터를 활용한다는 점에서 안정적입니다. 작성자가 제공한 예시 이미지에 따르면 수정 후 Battlefield 6와 HELLDIVERS 2의 바로가기에도 올바른 게임 로고가 표시되었습니다.

현재 GitHub에는 원본 프로젝트와 함께 수정된 버전인 xGiNT0NiCx/Fix-SteamShortcutIconsMoreCDN 저장소가 공개되어 있습니다. 스크립트 코드는 비교적 짧고 명확하게 구성되어 있어 사용자가 직접 내용을 검토하고 실행할 수 있습니다.

다만 이 해결책은 Windows 운영체제와 Steam 클라이언트 버전에 따라 동작이 달라질 수 있습니다. 특히 Steam이 향후 아이콘 관리 방식을 변경하거나 CDN 구조를 업데이트할 경우 스크립트의 경로 설정이 다시 조정되어야 할 수 있습니다.
관련 링크

바로가기: https://steamcommunity.com/discussions/forum/1/4337599680238754517/