이전에 스타크래프트 1.18을 우분투에서 실행하는 법에 대해 글을 올린 적이 있었습니다.

http://moordev.tistory.com/158


그런데 이후 1.19업데이트가 되면서 실행이 안 되는 문제가 생겨버렸습니다.

http://moordev.tistory.com/198


그래서 방법은 없나 했는데 Wine이 2.14로 업데이트가 되면서 새로운 방법이 생겼습니다.


우선 Wine-staging 2.14를 설치하고 Wine설정에서 Windows 2003 Server로 설정하면 되는 거였습니다.



1.18때처럼 Starcraft.exe는 XP로 하고 나머지는 7으로 한다던지 하는 방법이 필요없습니다. 그냥 Windows 2003으로 바꾸기만 하면 됩니다.


아주 잘 됩니다!

,

지난 1.18업데이트 이후 리눅스 게이머들은 갖은 고생을 하면서 스타크래프트를 실행했었습니다.


http://moordev.tistory.com/158


결국 패치된 Wine을 이용해서 실행에 성공했고 WindowsXP 모드로 Starcraft.exe를 실행함으로서 배틀넷문제도 회피했었지요.


그리고 17년 7월 15일 1.19패치가 진행되었습니다.


많은 것이 바뀌었다고 하는데 리눅스에선 뼈아픈 문제가 생겨버렸습니다.


Wine-Starcraft를 이용하여 1.18설정용으로 실행시 다음과 같은 오류메시지가 발생합니다.

해당 메시지는 WindowsXP이하 버전에서 실행할 때 발생하는 것으로 알려져 있으며 결론부터 말하면 XP 지원을 끊으면서 발생한 것입니다.


그럼 어쩔 수 없지요. 그냥 Windows7으로 맞추고 실행해야 할 겁니다.


그래서 Wine설정을 Windows7으로 바꾸고 실행했더니..


ClientSdk.dll이 또 문제를 일으킵니다. 이런...


이걸 해결하려면 또 많은 해커들이 달려들어야 할 것 같습니다. 이제 곧 리마스터버전도 나올텐데 이런 식으로 계속 문제가 생기면 추후 업데이트 할 때마다 문제가 많겠네요.

=============2017. 8. 14================


해결법 나왔습니다.


Wine-staging 2.14로 업그레이드 하고 Windows2003으로 설정하면 되는 거였습니다. 결국 해결 됐네요.


http://moordev.tistory.com/203

,

https://us.battle.net/forums/en/starcraft/topic/20754528299


위의 포럼에서 찾은 내용입니다.

이전에 제가 스타크래프트 1.18 업데이트 이후 실행이 안 된다고 말씀 드린 적이 있었습니다. (http://moordev.tistory.com/153)하지만 역시 수요가 있으면 공급이 있는 법. 이를 해결하기 위한 wine의 패치가 진행되고 있었습니다.


https://github.com/awesie/wine-starcraft


위의 주소가 해당 패치가 진행중인 프로젝트의 github입니다. Overwatch의 실행을 위한 패치를 포함해서 기존 오류투성이였던 문제를 해결하기 위해 패치를 진행했다고 합니다.


그러니까 결론부터 말하면 이제 스타크래프트 1.18 리눅스에서 실행 됩니다.


우분투에서 실행한 것이 맞는데 전체화면이라 티가 안 난다...


이번 1.18패치의 최고 중 하나는 창모드 지원이다. 우분투에서도 잘 지원 된다. (치트키는 이것 저것 해보려고 친거니까 신경쓰지 말자)



그럼 이걸 어떻게 했는지 말씀드려야겠네요. Ubuntu 16.04 Xenial 기준입니다.


저는 언제나 Playonlinux를 이용합니다. 우선 Playonlinux를 설치해주세요.


sudo apt-get install playonlinux


이러면 Wine과 함께 이것 저것 설치할텐데 Playonlinux는 Wine을 버전별로 관리해 줄 수 있는 매우 편리한 기능이 있습니다. 그러니까 기존 Wine 외에 다른 Wine을 추가해서 사용 할 수 있다는 의미입니다. 예전에 Wine-Staging-D3D9를 설치할 때 말씀 드린 적이 있었지요.


Wine-staging 2.11부터는 따로 패치 필요 없이 실행 잘 된다고 합니다. 힘들게 하지 마시고 Playonlinux에서 도구-Wine버전 관리에서 2.11-staging버전을 추가해서 이를 이용하시면 편합니다.


그러니까 우리는 스타크래프트를 위한 새롭게 만들어진 Wine이 필요합니다.

그건

http://mirror.ryansanden.com/wine-starcraft_2017-05-07/wine-starcraft.tar.xz


위의 링크를 이용해서 다운로드를 받으시거나


위에서 소개한 github의 소스를 직접 컴파일 해서 사용하는 방법이 있습니다. 하지만 컴파일하는 방법은 32비트와 64비트 둘 다 컴파일 해야하는 굉장히 귀찮은 작업이기 때문에 이 부분은 넘어가겠습니다.


압축을 푸시면 Wine-starcraft이란 폴더가 나올 것입니다. 이것을

~/.PlayOnLinux/wine/linux-amd64

에다가 복사해 주시면 됩니다.


이해가 안 되시면 파일 탐색기를 여시고 숨김 폴더를 보이게 하신 다음

.PlayOnLinux/wine/linux-amd64

순으로 들어가시면 됩니다.


여기에 wine-starcraft 폴더를 그냥 복사하는 것입니다.


이렇게 하시면 Wine 설치는 끝입니다.


이제 스타크래프트를 설치하면 되겠지요? 일단 스타크래프트를 다운로드 받도록 하지요. 기존 스타크래프트는 무료화 되었기 때문에 블리자드 공식 홈페이지에서 무료로 다운로드 받을 수 있습니다. (리마스터 버전은 배틀넷을 통해 구매해야 하기 때문에 스타크래프트2처럼 비틀넷 클라이언트를 이용해야 할 것이라고 합니다.)


https://kr.battle.net/account/download


위 페이지에서 제일 아래쪽에 스타크래프트 앤솔로지에서 PC버전을 선택하시면 StarCraft-Setup.exe

파일이 하나 다운로드 될 겁니다. 이것이 배틀넷 클라이언트 및 스타크래프트를 설치해줄 웹 설치 프로그램입니다. 이제 이것을 Playonlinux를 이용해서 설치하면 되겠지요? 그럼 Playonlinux를 실행해봅시다. (그놈 메뉴 기준으로 게임 메뉴 안에 있습니다. Wine 메뉴 아닙니다. Unity 데스크탑은 해당 사항 없습니다.)



위 스크린샷에서 구성 버튼을 누르시면 아래와 같이 Playonlinux configuration 창이 나오게 됩니다. 여기서 Playonlinux를 통해 설치한 프로그램들을 관리하고 수정하는 곳입니다. 


기존 설치 버튼을 통해서도 설치가 가능하지만 약간 버그가 있어서(Wine-starcraft를 선택할 수 없음) 구성 창을 통해 설치하겠습니다.



이 창은 Playonlinux를 쓴다면 정말 자주 보게될 창이다. 여기서 wine버전을 바꾸거나 wine설정을 하거나 필요한 라이브러리를 설치한다거나 한다. 하다못해 바로가기도 여기서 만든다.


여기서 왼쪽 아래의 새로만들기 버튼을 누르면 아래와 같은 창이 뜹니다.


우린 아까 64비트에 넣었으므로 64bits를 선택한다. (32비트버전을 쓰는 사람은 이제 극소수라고 본다.)


여기서 64비트를 선택하고 (32비트 버전 사용자는 위의 바이너리 사용을 못한다고 생각하면 된다... 컴파일하자.)



여기가 중요합니다. 처음 Playonlinux를 설치한 사람은 System과 wine-starcraft밖에 없거나 wine-staraft 하나만 있겠지만 저같이 이것저것 많이 쓰는 사람은 버전별로 엄청 나오기 마련입니다. 여기서 wine-starcraft를 선택하자. (실은 ~/.PlayOnLinux/wine/linux-amd64 안에 있는 폴더 리스트이다. 즉 폴더명을 바꾸면 여기서도 이름이 바뀐다.)


Wine-starcraft를 따로 설치하지 않고 도구 - Wine버전 관리에서 2.11-staging을 추가했다면 여기서 2.11-staging을 선택합시다.


여기서 적당히 가상 드라이브의 이름을 적고 다음을 누르면 Wine 창이 실행되면서 가상 드라이브가 만들어져 있을겁니다.



여기서 부터는 다시 구성 창으로 돌아와서 리스트에 아까 적은 이름과 똑같은 가상드라이브를 선택하면 바로가기 만들기부터 이것 저것 실행할 수 있는데 지금까진 가상드라이브만 만들었지 스타크래프트를 설치한 것은 아니니까 이제 기타설정에 들어가서 스타크래프트를 설치해보도록 합시다.


기타설정 탭에 들어가서 Run a .exe file in this virtual drive 버튼을 누르고 이전에 다운로드 받은 Setup-Starcraft.exe를 선택하시면...




짜잔! 이제 스타크래프트 설치가 시작됩니다. 여기서 보통 스타크래프트를 해오던 한국 사람이라면 English를 선택하겠지요? 자신있으면 독일어나 스페인어로 해도 상관은 없습니다. 그건 자기 마음입니다.


continue 버튼을 누르시면


익숙한 캐리건의 얼굴이 나오면서 설치를 할 수 있게 됩니다.


설치가 다 되었다면 다시 Playonlinux의 구성으로 들어가서 바로가기를 만들도록 합시다.


다시 구성창으로 돌아와서 가상드라이브를 선택하고 일반 탭에서 바로가기 만들기 버튼을 누릅니다.


그러고 조금 기다리시면 위와같은 창이 뜨는데 여기 있는 리스트에서 StarCraft.lnk를 선택하시면 Playonlinux에 Starcraft가 추가되고 바탕화면에도 아이콘이 추가됩니다.


바탕화면에 있는 아이콘을 실행하시거나 Playonlinux를 실행한 후에 해당 아이콘을 선택후 실행하면 스타크래프트1.18 버전을 우분투에서 실행 할 수 있게 됩니다.


어쨌건 리마스터 버전이 출시 되기 전에 1.18버전의 실행이 되는 것을 확인 했으니 우분투에서 리마스터버전을 실행하는 것은 이제 어렵지 않을 것이라 예상이 가능 할겁니다. 만세네요!


...그런데 배틀넷이 안 됩니다. 실행 전에 런칭 불가니 뭐니 하면서 뜨는데 뭔가 문제가 있기는 한 것 같습니다. 하지만 싱글은 잘 되네요.



========2017. 5. 13 2시 현재======


아.... 알아냈습니다.


https://gist.github.com/rsanden/6f144b3db0566bb013c0d4f6f5b19fca

여기에 해답이 있었습니다.


기본적으로 Wine의 세팅을 Windows7으로 하고 Starcraft.exe만 WindowsXP로 실행하게 하면 되는 거였습니다.


방법은 다음과 같습니다. Playonlinux에서 구성창을 실행한 후 Starcraft가상드라이브를 선택합니다.


이렇게 하시면 Wine 설정 화면이 나오면서 이것 저것 설정할 수 있게됩니다. 라이브러리 네이티브 설정이라던가 사운드 장치 설정 같은 것을 하셨다면 자주 보셨을 창입니다.



여기서 응용프로그램 추가 버튼을 누르시고



drive_c/Program Files (x86)/StarCraft/StarCraft.exe

를 선택합니다.



위 스크린샷처럼 창 제목과 기본설정 아래에 StarCraft.exe가 잘 선택되어있는지 확인하고 아래의 윈도우즈 버전을 Windows XP로 선택합니다. 이렇게하면 기존 프로그램은 Windows7으로 StarCraft.exe는 WindowsXP 모드로 실행되게 됩니다.


보너스로 Staging탭에서 CSMT옵션을 활성화해주시면 반응속도가 조금 더 좋아진다고 합니다.(그래봐야 VGA해상도라 큰 차이는 안 납니다....)



이제 배틀넷도 접속된다.

배틀넷 접속 됩니다!!!!


==========2017. 6월==========

배틀넷에서 한글이 보이지 않는다는 Lubuntu님의 제보가 들어왔습니다.

무슨일인지 몰라서 둘이서 머리를 맞대고 열심히 삽질을 했는데


원인은 그저 굴림 글꼴 때문이었습니다. 사실 대다수 프로그램들은 특정 폰트를 이용하기보단 기본 시스템 폰트를 사용하면 Fontlink를 통해 시스템 폰트에 없는 폰트는 다른 폰트에서 받아오는 기능이 있는데 스타크래프트는 한국어면 그냥 굴림 폰트를 쓰게끔 하드코딩이 되어있는 것으로 추정됩니다. 사실 레지스트리를 이용해서 굴림이나 기타 다른 폰트를 다른 폰트로 지정할 수도 있는데 그러면 굴림폰트에 맞춰서 만들어진 몇몇 유즈맵의 인터페이스때문에 또 엉킬 수도 있다는 결론을 얻었습니다. (특히, Fish서버의 채팅창은 굴림폰트에 맞게 되어 있으므로 크기가 큰 폰트를 쓰면 한 화면에 들어오지 않아 엉킬 것입니다.)


그래서 그냥 ttf-mscore패키지 설치하듯이 그냥 Microsoft의 폰트를 사용하는 것으로 결론을 얻었습니다.


ttf-mscore-korean-font.tar.7z

위의 파일은 Windows 출신인 Gulim.ttc파일과 Batang.ttc 파일이며 위의 파일을 다운로드 받는 것은 Microsoft의 EULA에 동의한다고 생각해야 합니다.


그러니까 Windows의 라이센스 없이 위의 파일을 유용하는 것은 Microsoft의 EULA에 의거 불이익을 받을 수도 있습니다.


Gulim.ttc 파일과 Batang.ttc파일은 Microsoft의 소유물입니다. 물론 Windows 라이센스야 집집마다 있을 테니 크게 상관은 없겠지만요. 이 파일은 Windows에서 파일을 추출하기 힘든 사람들을 위해 올린 것입니다.


나눔고딕으로 대체한 gulim.ttc파일을 만들었습니다. 이름만 굴림이고 내용물은 나눔고딕이므로 EULA에 대한 걱정없이 사용이 가능합니다.


http://moordev.tistory.com/176

여기에서 Gulim_NANUM.ttc.tar.7z 파일을 받은다음 나온 gulim.ttc 파일을 설치하면 됩니다.




================2017. 8. 14=====


스타크래프트가 1.19로 업데이트 되면서 위의 방법으로 실행이 되지 않았습니다. 그런데 Wine-Starcraft 대신 Wine-staging 2.14로 바꾸고 WindowsXP나 Windows7대신 Windows 2003으로 버전을 바꾸니까 실행이 잘 됩니다.


리마스터 버전은 1.19를 기반으로 한다고 했으므로 큰 변경사항이 없다면 리마스터도 우분투에서 실행이 가능할 겁니다.

,

2017. 5. 13현재 starcraft용 wine을 이용해서 실행이 가능함이 확인 되었습니다. 버그가 있지만 이는 시간이 해결 할 것으로 보이며 이젠 걱정 하실 필요 없습니다.


링크 참조


http://moordev.tistory.com/158


아래 글은 그냥 그때 그랬구나 하고 넘어가 주시면 됩니다.(한 달도 안되서 해결 됐네요. 역시 대단합니다.)


======================================================



1998년 처음 발매되고 전설이 된 게임 Starcraft.


이 게임이 새로 리마스터되어 4k해상도로 구현된다는 소식에 많이 이들이 환호 했었습니다.


그리고 4k 리마스터 이전에 밸런스 패치라고 할 수 있는 1.18버전의 테스트 버전이 지난 3월 31일에 배포되었습니다.

https://kr.battle.net/forums/ko/starcraft/topic/4564449121

사실 스타크래프트는 Wine1.0버전부터 아무런 문제 없이 구동이 잘 되어 왔기 때문에 얼마나 달려졌는지 확인차 Wine의 최신버전인 2.4버전으로 구동을 했는데 무슨일인지 실행이 안 되더군요(!)


물론 이전 버전인 1.17pre나 1.16버전은 당연하다는 듯이 실행이 잘 됩니다.



위의 메시지를 보시면 1.18에서 새로 추가된 ClientSdk.dll 파일의 실행이 안 된다는 것을 알 수 있습니다. 해당 파일은 아마도 Blizzrad Clinet와 관련이 있는 것을 보이며 Battle.net과의 보안 문제를 해결하기 위해 추가된 기능으로 추정됩니다.


현재 이 문제는 Blizzard Forum에도 보고되어 있고 Wine에도 보고 되어 있습니다.


아무래도 이런 식이라면 리마스터된 고해상도 스타크래프트가 나온다고 해도 리눅스에서 플레이하려면 시간이 꽤 걸릴 것 같습니다. 그동안은 어쩔 수없이 구 버전인 1.16버전이나 (Wine에선 최신 윈도우에 있는 각종 문제가 없습니다.) 문제없이 돌아가는 스타크래프트2의 브루드워MOD를 할 수 밖에는 없을 것 같습니다.


사실 Visual Studio의 버전이 올라갈 수록 이러한 문제가 계속 발생되고 있는데요. Wine측의 새로운 API가 계속 나오고 있어서 대응이 늦는 것은 어쩔 수 없긴 하지만 이 부분에서는 조금 아쉽긴 하네요.


일단 Wine의 대응을 기다려봐야지요. 하지만 제일 좋은 것은 Blizzard가 리눅스 용을 직접 내놓는 것 이지만요.

,

출처는 https://launchpad.net/~kendatsuba/+archive/ubuntu/starcraft/+packages 이곳이고 패치는

wine1.2_1.1.42-0ubuntu4_1.1.42-0ubuntu4starcraft1.diff.gz

인데 버전을 보면 1.1.42버전용임을 알 수 있습니다. Playonlinux를 이용하면 충분히 다른 버전 Wine을 이용해서 굴릴 수 있으므로 지금 시스템에 설치된 Wine은 별로 신경 쓰실 필요는 없습니다.

http://sourceforge.net/projects/wine/files/Source/wine-1.1.42.tar.bz2/download

여기서 1.1.42버전의 소스를 받은 다음 압축을 풀고 패치파일을 압축을 푼 폴더에 넣어줍니다.

그 다음 patch -p1 < wine1.2_1.1.42-0ubuntu4_1.1.42-0ubuntu4starcraft1.diff

라고 해주시면 와인에 패치가 됩니다. 그다음

make

그리고 Playonlinux를 설치 하셨다면 ~/.PlayOnLinux/wine/linux-x86 (32비트기준 64비트라면 linux-amd64입니다.)에다가 폴더 하나 만들어서 컴파일된 결과물을 넣어주시면 됩니다.

그런데 컴파일 하기 귀찮으시면 위의 출처 들어가셔서 deb파일을 다운로드 받은 다음 똑같이 압축 풀어주셔도 됩니다. 사실 이것이 훨씬 더 편합니다. 그리고 스타크래프트를 설치후에 돌려주시면 됩니다.윈도7에서 색상 깨지는 것과는 다르게 상당히 잘 됩니다. 특히 패치중에 스타크래프트용 속도패치가 들어가 있어서 딜레이도 상당히 줄어듭니다.

참고사항 : 스타크래프트2는 어떻게 돌리냐고 하시는 분들도 있을 것 같은데 Playonlinux에 이미 있습니다. 그것으로 설치하시면 잘 됩니다. 스타크래프트1은 Playonlinux에 들어가있는 녀석이 속도패치가 되어있지를 않아서 따로 설명을 하는 것입니다.

,