(이해를 돕기위해 글을 풀어서 다시 쓰면서 몇가지 설명을 추가했습니다.)
1. 팅기는 문제의 원인과 그 배경
32비트 OS인 윈도우Xp는 총 4기가의 메모리(가상메모리, 스왑페이지 기술은 논외)를 운용할 수 있습니다.
그래서 마이크로소프트는 Xp를 디자인할 때 4기가의 운용 가능한 메모리중에 절반은 윈도우가 사용하도록 하고 절반은 컴퓨터 사용자가 쓸 수 있도록 합니다.
OS영역(2GB) + USER영역(2GB) = 4GB
Xp가 탑재된 컴퓨터를 처음 부팅하게되면, 메인보드가 장착된 모든 메모리를 인식하고 주소를 정하기 시작합니다. 윈도우 Xp 로고 화면이 시작되면서 지렁이가 꿈틀댈 때에 윈도우는 자신이 사용해야 하는 메모리 2GB를 정신없이 확보하기 시작하고 자기의 영역으로 예약해버립니다. 그래서 일반유저가 사용할 수 있는 공간은 넓지 않았으며 램이 모자란 경우에는 가상메모리를 사용해야 합니다.
이렇게 4기가의 메모리는 부팅이 시작됨과 동시에, 누가 쓸 수 있는 공간인지 처음부터 운명이 정해지게 됩니다.
만약 어떤 머저리같은 게임회사가 2기가가 넘는 공간을 사용하는 덩치가 매우 큰 게임을 제작했다면 그것이 윈도우 XP에서 호환이 될까요? 아닙니다. 절대 안돌아가죠. XP를 사용하는 시스템에서는 2기가를 넘어서는 용량은 다루지 못하도록 애초에 디자인이 되었기때문입니다.
따라서 XP에서 호환이 되는 게임을 제작하기 위해서는 2기가가 넘지 못하도록 디자인하고 만들어야합니다. 3D 구현력이 좋은 이른바 '대작' 게임들은 한번에 로딩하는 양이 적은 채널방식 또는 던전방식의 게임을 주로 만듭니다.
아이온도 이 2기가라는 공간 안에서만 운용되도록 제작되었습니다. 하지만 채널방식이 아닌 MMO방식이라 2기가의 한계는 언제 터질지 모르는 폭탄과도 같았습니다.
게임 초기에는 2기가는 정말 큰 공간이었고 이 안에서 충분히 돌아갔습니다. 일반적인 상황에서 그정도는 넉넉한 공간이었습니다. 일부 써버에서 요새전을 할 경우 팅기는 문제가 있었지만 대작(!) 아이온의 게임성에 묻혀서 그정도 오류정도는 애교로 봐주었습니다.
하지만 현재는 그렇지 않습니다. 1.5패치 이후에 모든 혜택이 어비스에 집중되어있어서 요새전시 팅기는 것은 기본입니다. 괜히 밖에 나가서 죽으면 안되니까 거점에서 결투하고 놀고 파티짜느라 거점대기인원이 많아졌습니다. 어비스 거점에 그냥 서있는 것만으로 팅길 때도 많아졌습니다.
설명이 구차하고 길어졌지만, 어쨋든 현재 아이온 게임이 팅기는 이유의 요지는 아래와 같습니다.
일시적으로 좁은공간에 많은 캐릭터를 구현해내야 하는 관계로 2기가 이상의 메모리를 사용해야하는 일이 발생하고 이 때 클라이언트가 넘치는 캐릭터정보를 어떻게 처리하는가에 따라 팅기는 종류가 다양해집니다.
바로 컴퓨터가 다운될 수도 있고, 블루스크린을 뿜을 수도 있고, 클라이언트가 강제종료될 수도 있고, 중요도가 덜한 파일에 침범해서 어떻게 계속 진행은 가능하지만 정상적으로는 플레이할 수 없게 되는 등등...의 현상이 나타나는것입니다.
팅기는 원인을 알았으니 이제 우리가 할 수 있는 대응책이 무엇인지 생각해봅시다.
옵션을 타협할까요? 사운드를 꺼볼까요? 해상도를 낮출까요? 해볼거 다 해봤는데 어짜피 팅깁니다. 왜냐하면 아이온의 특성상 좁은 공간에 많은 사람이 모이게되면 반드시 2기가 이상의 메모리를 사용해야 하는 시점이 오기때문입니다. 게다가 우리는 아이온을 위해서 비싼 거금을 들여 최신 컴퓨터를 장만했고, 비싼돈을 주고 좋은 컴퓨터가 있는 피씨방에 왔으며, 랙없는 환경에서만 할 수 있다면 얼마든지 더 투자할 용의가 있는 나름 화끈한 사람이지, 훈장 몇개 더 먹어보겠다고 컴퓨터를 껏다 켰다 옵션을 줄이고 리스했다 죄없는 백신마저 종료시켰다 하는는 등의 임시조치를 하는 쪼잔한 사람이 아닙니다. (웃자고 하는 말입니다 -_-)
모든 문제의 원인이 메모리할당량의 한계에 있음을 알았으니 이를 해결하기 위해서
a. 개인의 컴퓨터를 설정해서 2기가 이상의 메모리 주소공간을 아이온프로그램이 점유할 수 있는 환경을 만든다.(OS수정)
b. 아이온 클라이언트를 위의 늘어난 주소공간을 적절히 사용할 수 있도록 수정해준다.(아이온클라이언트 수정)
이렇게 하여 문제를 해결하도록 합니다.
2. OS의 수정
초기의 디자인과는 달리 2기가를 초과하는 메모리를 필요로하는 어플리캐이션들이 속속 등장하고 서버용 OS에서 리눅스가 윈도우를 물리치고 득세하자 빌게이츠는 대안을 내 놓습니다.
/3GB 스위치가 그것입니다. 이는 2+2=4가 아니라 3+1=4로 이해할 수 있습니다. 2기가에 제한되어있던 유저용 공간이 3기가로 늘어나는 대신 윈도우는 자체적으로 1기가만 사용하도록 설정하는 방법입니다. 그러나 이렇게 하면 커널용공간이 너무 부족해서 각종 드라이버를 로드하지 못하는 문제가 생길 수 있습니다.
/Userva=2800 스위치를 같이 사용하면 이 문제를 해결 할 수 있습니다. 이는 유저용 공간을 2기가이상 3기가 이하로 보다 정밀하게 설정하는 매개변수로 2800을 입력할 경우 2.8+1.2=4가 되어 커널용으로 0.2기가를 좀 더 내어주고 유저는 그만큼 덜 쓰도록 해줍니다. 이때 숫자는 임의로 작성할 수 있으며 2500~2900까지는 별 문제없이 동작이 가능한 범위입니다. 더 작거나 클 경우는 의미가 없거나 문제를 일으킬 수 있습니다.
((주의))2500 이하로 설정하면 순간적으로 늘어나는 데이타량이 많을 시에 주소공간 부족의 문제가 생길 수 있으며, 2900이상으로 설정하면 대용량 그래픽메모리를 탑재한 고급 그래픽카드를 사용시 또는 2개의 그래픽카드를 연결하거나 듀얼모니터를 킨 경우 커널부족의 현상이 생길 수 있습니다. 그래픽메모리 1G 이상급 모델을 사용하는 경우에는 2500~2600을 사용하시고 일반적인 256~512메가의 그래픽메모리 모델을 사용하시는 경우에는 2700~2800을 추천합니다. pci슬롯에 별도의 메모리가 장착된 제품을 쓰는 경우에는 그 메모리양을 고려하여 숫자를 적용해야합니다)
자 이제 우리의 컴퓨터를 아이온이 팅기지 않게 설정해줄 차례입니다.
방법> 시작-제어판-시스템-[고급]-시작 및 복구[설정]-[편집]을 순서대로 찾아 클릭합니다.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP" /noexecute=option /fastdetect /usepmtimer
메모장이 펼쳐지면서 위와 비슷한 내용이 나옵니다. 다른것은 건드리지 않고 맨 뒤에 /3GB /USERVA=2500 이라고 입력하고 저장합니다.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP" /noexecute=option /fastdetect /usepmtimer /3GB /USERVA=2500
이렇게 내용이 추가되면 됩니다. 그리고 재부팅을 합니다. 한칸 띄우고 / 을 쓰셔야 합니다.
경고)))) 위의 내용을 복사에서 붙여쓰기하지 마세요. 자신의 운영체제마다 내용이 조금씩 다르게 되어있습니다. XP 서비스팩2 이상에서만 가능한 옵션입니다.
3. 아이온클라이언트의 수정
위의 방법으로 2기가 이상의 유저공간을 확보하였더라도 이는 XP가 2기가 이상의 프로그램을 사용하도록 내부적으로 허락하는 의미에 불과합니다. 불행히 우리의 아이온은 그 허락에도 불구하고 2기가 이내의 범위에서 일을 합니다. 2기가제한은 XP의 표준이었습니다. 현재 대부분의 사람들이 XP 32비트를 사용하고 있으며, 모든 사람들이 위의 방법으로 유저공간을 확보했다고 장담할 수 없는 상황입니다. 이런 상황에서 엔씨에서 2기가 이상용량에서 일을 할 수 있도록 패치할 수도 없는 노릇입니다.
그렇다면 아이온에 걸려있는 2기가이상 사용제한을 풀어버리는 것은 어려운것인가? 그렇지 않습니다. 빌게이츠군단은 /3GB 스위치 기능을 내 놓으면서 동시에 프로그램 제작자들이 기존의 프로그램에 간단하고 손쉽게 문제를 해결 할 수 있도록 방법도 같이 내 놓았습니다. 실행프로그램의 헤더에 명령 한줄만 입력하면 되도록 말입니다.
각설하고 우리의 아이온클라이언트에 손을 좀 대 보도록 합시다.
방법)
우선 CFF explorer를 구해야합니다. 검색을 통해 재주껏 인터넷을 활용하여 구하십시오. explorersuite 라는 검색어를 통해 어렵지 않게 구하실 수 있을겁니다.
1) 다운받아 설치한 후 실행시켜서 좌측상단 [File]-[Open]을 통해서 AION.bin파일을 찾아야합니다. 보통 C\program files\play nc\aion_kor\bin32의 경로에 있을 것입니다. 눈에 익숙한 까만색의 AionClient가 아니라 대문자 AION 파일입니다.
2)[열기]를 눌러보면 AION.bin 파일에 대한 정보가 보입니다.
좌측의 여러 하위폴더중에서 File Header를 찾습니다. ( dos header나 nt header가 아닙니다)
3) File Header를 클릭하면 우측에 정보가 표시됩니다.
가장 오른쪽아래에 파란색으로 click here 라고 나옵니다.
4) 그것을 클릭하면 characteristics 라는 조그마한 창이 뜹니다.
5) 그 창의 중앙쯤에 app can handle >2gb address space 라고 있습니다. 여기에 체크를 해주고 File탭에서 저장합니다. 덮어쓰겠냐고 물어보면 확인을 눌러주시면 됩니다.
6) 모든 과정이 끝났고 CFF explorer를 종료하시고 게임에 접속해봅니다.
주의))) 이 방법은 컴퓨터를 좀 다룰줄 아는 분들이 하셨으면합니다. 잘못건드렸다가 윈도우를 처음부터 다시 설치해야 하는 불상사가 발생할 수 있습니다. 또한 추후에 게임가드에서 위의 조작을 걸러내어 해킹으로 의심을 살 수도 있습니다. 뭐 게임 내부적인 요소는 하나도 손을 대지 않고 오직 요새전에서 원활히 돌아가도록 하기 위해 해더에 약간의 손질을 하는 것일 뿐이니 그정도의 강수를 두지는 않을 것이라 예상합니다만, nc에서 공식적으로 패치해주기 기다리시는 분들은 적용하지 마십시오. 위의 방법을 적용 후 발생하는 문제에 대해서는 일체 책임지지 않겠습니다;;;
4. 요약 및 결론
요새전에서 아이온은 2기가 이상의 메모리사용을 요구한다
아이온은 2기가 이내에서만 작동한다.
그 이유는 XP때문이다.
XP 설정을 바꿔서 2기가 이상을 사용하도록 허용한다.
그래도 아이온은 2기가에서만 작동한다.
아이온을 2기가 이상에서도 작동하도록 해준다.
이상입니다.
p.s1) 위에 설명한 방법은 32비트로 작동하는 비스타나 윈도우7에서도 a문제의 해결방식에 약간의 차이가 있을 뿐 원리는 같습니다. 2기가이상 허용의 방법은 각 운영체제마다 다르므로 검색을 통해서 자신의 운영체제에 맞는 방식으로 적용하십시오.
p.s2) 64비트 환경에서 작동하는 OS들은 별도의 조작없이 a문제는 자동해결되어있으며 b문제의 경우 CFF Explorer의 구 버전일 경우 사용할 수 없는 문제만 있습니다. 64비트용 CFF Exploror 를 다운받아 문제를 해결하세요.
p.s3) 위의 방법을 적용할 경우 3기가 이상의 물리램을 장착한 경우에는 팅기지 않는 정도를 넘어 원활한 플레이가 가능해집니다. 2기가의 램을 장착한 경우에는 적용하지 마십시오.