[Linux/CachyOS] 배틀넷(와우) 업데이트 0% 멈춤 및 ‘공간 확보하는 중’ 무한 대기 완벽 해결
리눅스(CachyOS / Arch Linux 등) 환경에서 Lutris(GE-Proton / Wine)로 배틀넷 및 월드 오브 워크래프트(WoW) 업데이트를 진행할 때, 다운로드 게이지가 0%에서 멈추거나 100% 공간 확보하는 중 상태에서 수십 분째 넘어가질 않는 현상의 실제 원인과 1초 만에 해결하는 가이드.
📌 대상 환경:
- OS: CachyOS (Arch Linux 기반)
- Desktop: KDE Plasma 6 (Wayland 세션)
- Platform: Lutris + Battle.net (GE-Proton)
문제 현상
- 배틀넷에서 와우 ‘업데이트’를 눌렀으나 다운로드 속도가 찍히지 않고 0%에서 요지부동이거나,
- 본 게임 패치 용량(예:
172.05 / 172.05 MB)은 순식간에100%가 되었는데공간 확보하는 중문구에서 20~30분 넘게 멈춰 있는 현상 발생. - 시스템 모니터를 확인해 봐도 디스크 I/O나 CPU 점유율은 거의 0%에 가까운 상태임.
원인 분석: 디스크 I/O가 아니라 불량 CDN 노드의 단일 소켓 속도 제한(Throttling) 문제
배틀넷 패치 엔진(Agent.exe) 내부 로그(AgentUpdate-*.log, bc-*.log)와 리눅스 커널의 열린 파일 핸들(/proc/<pid>/fd), TCP 소켓 상태(ss -tupni)를 대조해 보면 원인은 디스크나 Wine 파일시스템 병목이 아님.
-
본 게임(
wowf) 패치는 이미 5초 만에 완료됨:- 와우 본 게임 데이터는 CASC 컨테이너 조각 수십 개로 나뉘어 있어, 블리자드 직영 고속 CDN(
kr.cdn.blizzard.com137.221.64.x,level3.blizzard.com) 여러 곳에 다중 연결을 맺어 초당 수십 MB 속도로 단 몇 초 만에 다운로드가 끝남. - UI에 뜨는
100% 공간 확보하는 중은 디스크 공간을 확보하느라 멈춘 것이 아니라, 선행/공유 컴포넌트인agent및bts업데이트가 끝나기를 큐에서 대기하고 있는 상태임.
- 와우 본 게임 데이터는 CASC 컨테이너 조각 수십 개로 나뉘어 있어, 블리자드 직영 고속 CDN(
-
범인은 4.7MB짜리 단일 파일을 초당 1.1KB로 보내는
blizzard.gcdn.cloudn.co.kr노드:agent(약 7.5MB)나 공유 컴포넌트인bts(World of Warcraft Launcher.exe단일 파일 1개, 고작 4.7MB)는 컨테이너가 아닌 일반 단일 파일(Loose File, L-Files: 1)로 분류됨.- 단일 파일이다 보니
Agent.exe가 1순위 CDN 서버 단 한 곳(blizzard.gcdn.cloudn.co.kr/110.45.216.208,114.108.156.203)에만 단일 TCP 소켓 연결을 맺음. - 이때 해당 CDN 노드가 약 7초마다 패킷을 1~2개(초당 약 1.1 KB/s)씩만 찔끔찔끔 흘려보내는 좀비 상태에 빠짐.
- 아예 연결이 끊기면
Agent.exe가 타임아웃 처리하고 다음 고속 CDN(kr.cdn.blizzard.com)으로 갈아타는데, 7초마다 1KB씩 패킷이 들어오니 소켓 타임아웃(30초)에 걸리지 않아서 4.7MB짜리 파일 하나를 25분 넘게 받고 있게 됨.
TIP
AgentUpdate-*.log를 열어봤을 때agent Update Progress나bts Update Progress가 10초마다0.0045(0.45%)씩 일정하게 기어가고 있다면 100% 이 현상임.
1단계 : 현재 상태 및 물려 있는 불량 소켓 확인하기
배틀넷이 멈춘 것처럼 보일 때 터미널에서 아래 명령어로 실제 진행률과 소켓 상태를 확인함.
# 1. Agent 및 bts 실시간 업데이트 진행률 확인 (1.0000이 되면 100% 완료)
tail -f ~/Games/battlenet/drive_c/ProgramData/Battle.net/Agent/Agent.*/Logs/AgentUpdate-*.log
# 2. Agent.exe가 현재 물고 있는 CDN 서버 IP 및 수신 바이트 확인
ss -tupni | grep -i Agent -A 1
ss -tupni 출력에서 110.45.216.208:80 또는 114.108.156.203:80 (blizzard.gcdn.cloudn.co.kr) 연결만 ESTAB 상태로 남아 bytes_received가 초당 1KB 수준으로 올라가고 있다면 즉시 차단 및 소켓 절단을 수행하면 됨.
2단계 : 불량 CDN 영구 차단 및 좀비 소켓 강제 절단 (즉시 해결)
배틀넷이나 와인을 강제 종료할 필요 없음.
/etc/hosts에 문제의 blizzard.gcdn.cloudn.co.kr 도메인을 차단 등록하고, 현재 물려 있는 지연 TCP 소켓만 ss -K 명령어로 끊어주면 됨.
# 1. 불량 CDN 도메인(blizzard.gcdn.cloudn.co.kr) 영구 차단
grep -q "blizzard.gcdn.cloudn.co.kr" /etc/hosts || echo "0.0.0.0 blizzard.gcdn.cloudn.co.kr" | sudo tee -a /etc/hosts
# 2. 현재 물려 있는 지연 TCP 소켓 즉시 강제 종료 (배틀넷 재시작 불필요)
sudo ss -K dst 110.45.216.208
sudo ss -K dst 114.108.156.203
적용 직후 결과
위 명령어로 좀비 소켓을 끊어내는 즉시 커널이 해당 소켓에 TCP 리셋을 전달하며, Agent.exe가 그 자리에서 블리자드 직영 고속 서버(kr.cdn.blizzard.com, 137.221.64.x)로 재연결함.
[I 2026-11-12 00:28:04.0472] bts Update Progress - 0.6025 (0.6025)
[I 2026-11-12 00:28:04.0978] bts Update Progress - 1.0000 (1.0000)
20분 동안 0.6025(60%)까지 기어가던 업데이트가 소켓 절단 직후 단 0.5초 만에 1.0000(100%)으로 완료되고, 바로 게임 실행 버튼이 활성화됨. /etc/hosts에 등록해 두었으므로 이후 패치부터는 처음부터 고속 CDN으로만 연결됨.
오래 전 다른 배포판에서 이 문제 겪었는데 설정이 좀 달랐습니다.