새 캐릭터를 키울 때마다 인터페이스 및 애드온 설정을 하는 사람들을 위한 글입니다.
설치형 통합애드온 이용자는 이 글을 볼 필요가 없습니다. 캐릭터 설정 복사를 위해서는 그냥 재설치하시면 됩니다.
주로 패치의 공포로부터 즉각 애드온 업데이트가 가능하고 커스터마이징이 자유로운,
소위 짜집기 애드온 세팅을 선호하는 분들을 위한 글입니다.
굳이 원리 설명이 필요 없는 분들은 3번부터 보시면 됩니다.
목차
1. 기본 디렉토리 구조
2. 애드온 설정 이해하기
3. 설정 복사 시나리오 첫번째 - 새 캐릭터를 만들 경우
4. 설정 복사 시나리오 두번째 - 새 계정을 만들 경우
5. 번외편 - Reflux 사용법
1. 기본 디렉토리 구조
모든 세팅은 와우 설치 디렉토리의 WTF 디렉토리 안에 들어 있다.
1) WTF/Config.wtf, WTF/Launcher.WTF
전자는 와우 클라이언트 전체에 적용되는 게임 설정이며, 후자는 런쳐 실행시 필요한 Torrent 설정 등이 있다.
Config.WTF는 캐릭터 설정 자체에는 관여하지 않으며, 주로 환경 설정 내역 및 기타 내부 설정이 가능하다.
설정방법은 다른 글을 참조하거나 아래 링크를 참조하기 바란다.
Launcher.WTF는 런처에 문제가 있거나 업로드/다운로드 속도 설정 조절이 필요한 경우가 아니면 건드릴 이유가 없다.
2) WTF/Account 이하 디렉토리 (예제: WTF/Account/10012345#1)
이 디렉토리 아래에 있는 것은 여러분의 계정이며 (주의: Battle.net 통합 이후 ID였던 디렉토리명이 숫자로 변경되었다)
일차적으로 여기에 계정 공통으로 적용되는 설정이 있다.
숫자라지만 PC방이 아닌 이상 당신의 계정을 찾는 일은 어렵지 않을 것이다.
PC방일 경우 아래 4)에서 후술할 서버/캐릭터 디렉토리를 찾아 확인할 것.
여기서 여러분이 볼 만한 설정 파일들은 다음과 같다.
친초 등의 이유로 계정을 새로 팔 경우 새로운 계정ID 디렉토리로 다음 파일들을 복사하라.
- bindings-cache.wtf
계정 전역 키보드 단축키 세팅이 들어 있다. 캐릭터별 단축키 설정이 활성화될 경우 첫 접속을 제외하고 무시된다.
- config-cache.wtf
계정 전역으로 인터페이스 설정이 들어 있다. 역시 첫 접속을 제외하고 무시된다.
- macros-cache.txt
공통 매크로가 들어있다.
- SavedVariables.lua
블리자드 기본 애드온에서 사용하는 설정이 들어있다.
3) WTF/Account/(계정ID)/SavedVariables
이 디렉토리 아래에, 여러분의 계정에 전역으로 저장되는 애드온 설정들이 있다.
물론이지만 이 디렉토리 역시 새 계정을 팔 때 복사해야 한다.
4) WTF/Account/(계정ID)/(서버)/(캐릭터명) (예제: WTF/Account/10022222#1/아즈샤라/Drakedog)
여기에 캐릭터별 설정이 들어간다. 새 캐릭터를 만들 경우 해당 캐릭터 디렉토리 안에 다음 파일들을 복사하라.
- Addons.txt
애드온 활성화/비활성화 설정이 들어있다.
- bindings-cache.wtf
캐릭터별 키보드 단축키 세팅이 들어 있다. 캐릭터별 단축키 설정이 비활성화될 경우 무시된다.
- layout-local.wtf
게임 메뉴나 미니맵 위치, 기본 유닛프레임 위치 등 각종 UI 프레임의 위치가 들어있다.
그 뿐만 아니라 일부 애드온들도 여기에 자신의 프레임 위치를 저장해두는 경우도 있다.
단 채팅 프레임의 위치 정보는 제외된다.
- chat-cache.wtf
채팅 관련 정보를 저장하는 곳으로, 위에서 말한 프레임 위치 뿐 아니라 채널, 색상 등 모든 채팅 세팅이 여기 들어간다.
- config-cache.wtf
캐릭터별 인터페이스 설정이 들어 있다.
- macros-cache.txt
캐릭터별 매크로가 들어있다.
- SavedVariables.lua
블리자드 기본 애드온에서 사용하는 설정이 들어있다.
5) WTF/Account/(계정ID)/(서버)/(캐릭터명)/SavedVariables
이 디렉토리 아래에, 캐릭터별로 저장되는 애드온 설정들이 있다.
이 디렉토리 역시 새 캐릭터를 만들 때 복사해야 한다.
2. 애드온 설정 이해하기
위에서 말했듯 모든 애드온 설정은
1) WTF/Account/(계정ID)/SavedVariables 에 계정 전역 세팅이
2) WTF/Account/(계정ID)/(서버)/(캐릭터명)/SavedVariables 에 캐릭터별 세팅이
각각 저장된다.
그럼 대충 디렉토리만 알맞게 복사하면 장땡 아닌가? 아니다.
이유는 위에서 말했듯 애드온의 계정 전역/캐릭터별 세팅이 나눠져 있기 때문이다.
애드온은 현재 접속해 있는 계정 및 캐릭터별 디렉토리의 애드온 세팅 파일을 제외하고 읽고 쓸 수 없다.
여기서 애드온 제작자 입장에서 제한되는 두가지 시나리오를 생각해보자.
1) 모든 계정에서 공유되는 애드온 세팅
이게 가능하면 오히려 보안 구멍을 일으킬 가능성이 농후하니, 불가능한 것 자체가 적절하다 할 수 있다. 웬 보안구멍?
이 정도면, 특정 계정의 채팅 내용을 긁어다가 다른 계정의 플레이어에게 보여주는 애드온 정도는 만들 수 있다.
당연하지만 PC방과 같이 계정 설정이 여러 개 존재할 수 있는 곳에서 문제가 될 것은 뻔한 일이다.
2) 특정 캐릭터의 세팅을 다른 케릭터에서 읽기
이게 무슨 소린고 하니 "프로필 기능"이 있는 애드온들의 난제이다.
프로필 기능을 구현하려면, 적어도 어떤 캐릭터의 세팅을 다른 캐릭터로 읽을 수 있어야 한다.
문제는 위에서 말했듯 위 2번의 특정 캐릭터 세팅은 해당 캐릭터밖에 읽지 못한다.
해결 방법은 하나뿐이다. 캐릭터별 세팅을 다른 캐릭터에서 읽을 수 있게 계정 전역 (위 1번)에 저장하는 방법이다.
어떻게 계정 전역에 캐릭터별 설정을 저장하냐고? 쉽다. 서버-캐릭터명과 프로필을 연결만 하면 된다.
아래 예제를 보자.
예제: MyAddon이라는 애드온에 Profile1, Profile2라는 세팅이 있다.
현재 계정 내 듀로탄의 Oldcharacter는 Profile1을 쓰고 있고, 데스윙의 Newcharacter에서 Profile2를 쓰고 있다.
이럴 경우 WTF/Account/(계정ID)/SavedVariables의 MyAddon.lua 파일엔 대충 다음과 같은 내용이 저장된다.
Profile1 설정은 쏼라쏼라...
Profile2 설정은 쑥덕쑥덕...
듀로탄-Oldcharacter는 Profile1에 연결됨
데스윙-Newcharacter는 Profile2에 연결됨
이제 플레이어가 데스윙의 Newcharacter에 접속했다 하자.
그럼 MyAddon은 현재 접속된 서버명-캐릭터명을 확인하고 데스윙-Newcharacter에 연결된 Profile2를 불러오면 된다.
Newcharacter로 게임 중 플레이어가 현재 프로필을 Profile1로 바꾸고자 한다면?
그럼 MyAddon은 Profile1을 로딩하고, MyAddon.lua에 다음 내용을 적는다.
Profile1 설정은 쏼라쏼라...
Profile2 설정은 쑥덕쑥덕...
듀로탄-Oldcharacter는 Profile1에 연결됨
데스윙-Newcharacter는 Profile1에 연결됨
즉 계정 전역 세팅 위치에 캐릭터별 세팅을 저장하면 타 캐릭터의 세팅을 읽을 수 있다는 것이다.
실제로 AceProfile을 사용해 프로필 기능을 구현한 모든 애드온은 모두 이런 구성을 따른다.
얼마 없는 "국산애드온"을 제외하고 대부분의 애드온 (특히 CurseForge / WowAce에서 개발하는 대부분의 애드온)이
Ace 라이브러리를 사용하기 때문에 이런 세팅은 심해지는 추세이다.
Ace 계열이 아니더라도 자체적으로 이런 형태로 프로필을 구현한 애드온이 넘쳐난다.
비 Ace 계열 중 이런 방식을 차용한 대표적 예제는 인벤 애드온팀 최고의 수작인 InvenRaidFrames,
그리고 도트클래스에게 신이 내려준 하사품이라 여겨지는 ForteXorcist 등이다.
(여담. IRF의 경우는 하이브리드인데, 스펠타이머 및 클릭캐스팅은 프로필이 아닌 케릭터별 세팅으로 국한시킨다)
이제 문제를 알겠는가?
애드온 설정 디렉토리를 단순 복사한다 하더라도, 정작 프로필 연결을 고쳐주지 못하면 캐릭터 설정 복사는 불가능하다.
파일을 복사하더라도 게임 내에서 일일히 프로필 연결을 조정해주어야 캐릭터 설정을 이전할 수 있는 것이다.
Ace 라이브러리를 사용하는 대부분의 통합애드온이 설치형인 이유가 여기에 있다.
설치 프로그램은 서버/캐릭터 조합을 물어보고, 서버/캐릭터 조합에 맞게 세팅 Lua 파일을 일일히 직접 손본다.
뒤집어 말하면 새 캐릭터를 만들거나 이름 변경, 서버이전 등을 하게 되면 반드시 재설치를 해야 한다.
하지만 짜집기 플레이어는 무슨 애드온이 프로필 기능을 사용하는지 파악해 바꾸어야 한다.
이때 프로필 연결을 간소화하는 몇가지 "애드온"이 존재한다.
가장 대표적인 것은 Reflux이며 뒤에 5번에서 사용법을 후술한다.
3. 설정 복사 시나리오 첫번째 - 새 캐릭터를 만들 경우
계정 ID가 10012345#1
기존 캐릭터가 듀로탄 서버의 Oldcharacter
새로 만들 캐릭터가 데스윙 서버의 Newcharacter라 하자.
1) 새 캐릭터를 만든다.
주의: 아직 접속하지 말 것. 간혹 먼저 접속하면 캐릭터별 채팅 설정 (chat-cache.txt)이 제대로 업데이트가 되지 않는다.
이 경우 와우를 종료하고 해당 설정만 다시 복사해서 덮어씌운 다음 접속해 보자.
서버와 캐릭터명을 정한 상태라면 1번보다 2번을 먼저 할 수 있으나 캐릭터명 중복체크도 해야 하니...
2) 기존 캐릭터 설정을 통째로 복사한다.
WTF/Account/10012345#1/듀로탄/Oldcharacter -> (복사) -> WTF/Account/10012345#1/데스윙/Newcharacter
3) 새 캐릭터에 접속한다.
프로필 기능을 사용하는 애드온이라면 엉망진창이 되어있을 공산이 크다.
4) 프로필을 일일히 연결한다.
Ace 계열 애드온이라면 채팅창에 /ace3를 치고 직접 프로필 창마다 기존 설정으로 바꿔주면 된다.
ForteXorcist, IRF 등 기타 애드온은 직접 바꿔준다.
4. 설정 복사 시나리오 두번째 - 새 계정을 만들 경우
기존 계정 ID가 10012345#1
기존 캐릭터가 듀로탄 서버의 Oldcharacter,
새로 만들 계정 ID가 10012345#2
새로 만들 캐릭터가 데스윙 서버의 Newcharacter라 하자.
1) 기존 계정 디렉토리를 통째로 복사한다.
WTF/Account/10012345#1 -> (복사) -> WTF/Account/10012345#2
2) 새 캐릭터를 만든다.
상술했듯 먼저 만드는 게 캐시 문제를 막는 길이다.
3) 복사된 계정 디렉토리의 캐릭터 디렉토리 이름을 적당히 바꿔준다.
WTF/Account/10012345#2/듀로탄/Oldcharacter -> (수정) -> WTF/Account/10012345#2/데스윙/Newcharacter
4) 새 캐릭터에 접속한다.
5) 프로필을 일일히 연결한다.
5. 번외편 - Reflux 사용법
Curse Client를 이용해 짜집기를 한 경우, 프로필 기능을 사용하는 애드온의 99%가 Ace 라이브러리를 사용할 것이다.
이때 프로필 기능을 구현해주는 것이 바로 AceProfile인데, 이 기능에 굉장히 애매모호한 점이 하나 있다.
기본 프로필 이름 (첫 접속시 연결되는 프로필 이름)이 "기본값"인 애드온이 있고, "서버명-캐릭터명"인 애드온이 있다.
만일 전자라면 모든 캐릭터의 프로필명이 "기본값"으로 통일되니 단순복사에 문제가 없지만, (예: Prat, Quartz 등)
후자의 경우 프로필이 모두 제각각 다른 사태가 일어난다. (예: Recount, Bartender, PitBull4)
때문에 먼저 프로필 이름을 통일해놓고, 한번에 연결하는 것이 편리하다.
Reflux를 이용하면 이런 Ace 애드온들의 프로필 연결 작업이 매우 단순해진다.
1) 일단 Reflux를 설치하자. Curse Client 혹은 아래 링크에서 받도록 한다.
2) 기존 캐릭터 (설정 복사 원본)로 접속한다.
3) 모든 Ace 애드온의 프로필명을 통일하는 작업부터 시작한다.
"/reflux snapshot 새프로필명"을 채팅창에 입력한다.
예: /reflux snapshot MySetting
그러면 모든 Ace3 애드온의 현재 프로필이 MySetting이란 이름으로 복사된다.
4) 상술했던 시나리오 대로 새 계정/새 캐릭터 설정 복사를 진행한다.
계정을 새로 팠을 경우 2, 3번을 4번보다 먼저 해야 한다.
당연히 계정 디렉토리를 복사하기 전에 미리 프로필부터 통일해두어야 통일된 프로필이 같이 기록되기 때문이다.
5) Ace3 프로필을 연결한다.
"/reflux switch 새프로필명"을 채팅창에 입력한다.
예: /reflux switch MySetting
그러면 현재 캐릭터의 모든 Ace3 프로필이 MySetting 프로필로 연결된다.
6) 기타 프로필을 연결한다.
이건 자신의 애드온 구성에 맞게 알아서 할 것.
필자의 경우 IRF와 ForteXorcist만 바꾸면 되었다.

이 저작물은
크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 country.kr 라이선스에 따라 이용할 수 있습니다.