어짜피 개발자는 남는건 코딩이다.

<textarea name="code" class="javascript" cols="60" rows="10"></textarea>

◀ PREV : [1] : [2] : [3] : [4] : [5] : ... [37] : NEXT ▶

g15

마비노기 내꺼 2012/01/29 08:18

 

4. 유언과 의지

퀘스트 보상 - 경험치 15000

 

이제 엘프들의 마을인 ‘필리아’로 이동해야 한다. 필리아는 엘프 종족이라면 ‘이리아’ 대륙 이동을 통해 바로 갈 수 있지만, 다른 종족이라면 ‘필리아’ 마나 터널을 타야 한다. 만약 터널이 없다면 다른 유저에게 부탁해 보자.

 

* 필리아는 엘프들의 마을로, 적대 종족인 ‘자이언트’거나 자이언트를 지지한 ‘인간’이라면 가드에게 공격 받을 수 있습니다. 이동시 가드를 주의해 주세요.

 

포셔의 집은 마을 북동쪽 ‘촌장집’ 위에 있다. 포셔를 만나면 ‘청혼한다’나 ‘예쁘다고 말한다’를 선택할 수 있다. 취향에 맞는 쪽을 고르자. 그녀는 자신의 이야기를 들어주기를 원하는데, ‘물론입니다’ ‘짧게 말하세요’ 중 하나를 골라 의향을 표현하면 된다.

 

포셔는 메모리얼 타워가 손상되어 연인에 대한 기억이 흐려졌다며, 사연이 담긴 ‘포셔의 나침반’을 준다. 필리아 남쪽에 있는 ‘론가 사막 던전’에 나침반을 넣으면 포셔의 기억을 체험할 수 있다.

 

< 1대1로 빠르게 처리해나가는 것이 좋다 >

 

던전은 론가 사막 보석 화살 던전과 유사한 구성으로, 총 3층으로 구성되어 있다. 포셔는 레인지 컴뱃 마스터리와 매그넘 샷이 6랭크로, 단일 적 전투에 최적화되어 있다. 광역기인 ‘크래시 샷’은 랭크가 B로 큰 피해를 주긴 어려우니, 하나하나 빠르게 처리하는 것을 1차 목표로 삼자. 여러 명의 적에게 공격받는다 쳐도, 완전 회복의 포션이 30병이나 있으니 걱정할 필요는 없다.

 

< 아...내손발... >

 

모두 마무리하고 보스방에 들어서면 두 연인의 컷신이 펼쳐진다. 솔로라면 왠지 모르게 속이 시원할 부분이다. 던전을 종료한 후 포셔에게 돌아가면 그녀는 바사니오에 대한 기억을 되살리고 플레이어에게 편지, 그리고 사용시 필리아로 바로 돌아올 수 있는 ‘푸른 여신의 날개’를 주며 전달을 부탁한다. 편지 내용은 읽어볼 수 있으니 궁금한 유저라면 한 번 읽어봐도 된다. 이제 퀘스트를 완료하고 다시 벨바스트로 떠날 준비를 해 두자.


5. 사랑의 가격
- 보상 : 경험치 15000

 

< 안토니오는 여기 있습니다 >

 

벨바스트로 이동해 잠시 기다리면 포셔에게서 퀘스트가 온다. 이번에는 우선 안토니오와 대화해야 한다. 안토니오는 주점 2층에 있다. 그는 바사니오에 대한 이야기를 듣고 놀라며 바사니오의 현 상황에 대해 말해준다. 그는 금화 1만 골드가 담긴 돈 주머니를 주며 편지와 함께 전달을 부탁한다. ‘악수한다’나 ‘무시한다’를 택해 그의 선택에 대해 반응하자.

 

< 난 한버마이라도 햄보카고시픈데... 왜! 나! 바사뇨는 햄보칼수가엄써! >

 

바사니오는 카브 항구의 주점에 있다. 배를 타고 가건, 대륙 이동을 하건 무방하니 빠르게 이동할 수 있는 방법을 택하자. 바사니오를 만나면 우선 술에 취한 바사니오를 정신 차리도록 해야 한다. '편지를 준다'를 선택하거나, '뺨을 때린다'로 정신을 들게 할 수 있다. 정신이 든 그는 돈이 필요하다 말한다. ‘1만 골드를 준다’로 안토니오에게 받은 돈을 건네주거나, ‘시치미 뗀다’를 택해 모른 척 하자.

 

안토니오에게 돌아가면 그는 돈을 빌릴 곳을 찾고 있다며 ‘샤일록’에게 말해줄 것을 요청한다. 샤일록은 오언제독을 만났던 곳에서 약간 북쪽에 있다. 그는 안토니오에게 뭔가 원한이 있는 듯, ‘안토니오가…’ 이야기가 나온 시점부터 부정적인 인상을 가지는 모습이다.

 

< 말마다 가시가 있는 샤일록과의 첫만남 >

 

이후 액수를 묻는 질문이 나오는데 ‘3천만 골드’로 정확한 액수를 밝히거나, ‘최대한 많이’로 답하자. 기간 역시 ‘3달’과 ‘듣지 못했다’로 답하게 된다. 모두 답하면 샤일록은 사업상 용무로 알비 던전에 가 있어야 한다며, 안토니오와 함께 직접 찾아올 것을 요구한다. 통행증을 받아 알비 던전으로 가자.

 

* 실패에 대비해 샤일록 앞에서 통행증을 바닥에 떨어뜨려 두고, 다시 대화를 하는 방식으로 추가 통행증을 원하는 만큼 받아둘 수 있습니다.

 

이 던전은 다른 유저 2인과 함께 진행하는 RP던전으로, 다른 유저는 RP캐릭터 역할을 맡지만 플레이어는 자신의 캐릭터로 진행하게 된다.

 

* 던전 진행중 한 캐릭터라도 나가게 되면 자동으로 모든 캐릭터가 던전 로비로 이동하게 됩니다.

 

RP캐릭터 중 안토니오는 랜스, 그리고 해머와 방패를 이용한 공격에 특화됐다. 또한 바사니오는 실린더를 이용한 ‘프로즌 블래스트’ 같은 연금술, 그리고 마법 계열에 능숙한 모습을 보인다. 두 캐릭터 모두 포션이 50포션 20병으로 많지 않다 보니, 미리 파티장이 생명력과 스태미너 포션을 챙겨가 나눠주면 플레이가 수월해진다.

 

던전은 총 7층으로 던전 난이도는 입장을 맡은 플레이어 캐릭터 레벨에 따라 알비 하급으로부터 상급까지 조절된다.

 

안토니오의 경우 ‘랜스 차지’를 이용해 다수의 적을 한 번에 공격할 수 있으며, 고레벨 던전 설정에서 5층 이후 등장하는 ‘스파이더 파이터’시리즈를 랜스 콤보인 ‘스매시-스매시-랜스 카운터-다운 어택-윈드밀’로 대부분 처리할 수 있어 강력한 모습을 보인다.

 

하지만 ‘스파이더 레인저’나 ‘비틀 울프’와 같은 다수 인식형 몬스터에게는 윈드밀 외 특별한 대처법이 없는 만큼, 인식은 언제나 주의하자.

 

< 바사니오는 적을 묶어두는데 주력하자 >

 

바사니오는 ‘프로즌 블래스트’ 외에는 특별히 강력한 연금술이 없는 만큼, 생존 및 보조가 최우선이다. ‘플레이머’를 이용하면 다수에게 경직을 줄 수 있는 점과 ‘파이어볼트’를 이용한 강제 다운을 활용해 보자. 간간히 나오는 ‘라바’가 드랍하는 ‘라바 고치’는 알비 상급 하드를 도는 유저들이 사가는 경우가 많으니, 파티장에게 몰아주는 것이 좋다.

 

* 파티장은 던전이 종료되도 모든 아이템을 가지고 나올 수 있습니다.

 

보스방에 도착하면 안토니오와 샤일록 사이 계약 컷신을 보고, 보상방으로 이동할 수 있다. 보상방에서 파티장은 상자를 열 수 있으며, 이 상자에서는 무조건 ‘붉은 개조석’과 ‘푸른 개조석’ 중 하나가 나온다. 운이 좋다면 개조석 두 개를 모두 얻을 수도 있다. (늅늅폰님 제보) 이제 퀘스트를 완수하고, 게임에 재접속하자.


7. 최초의 환생
- 보상 : 경험치 20000

 

게임에 접속하면 진행되는 컷신을 통해 소년과 소녀간의 수수께끼 같은 대화를 들을 수 있다. 이후 말로에게서 셰익스피어에 관한 새 소식이 온다. 셰익스피어는 아본에 등장해 일지만을 남기고 사라졌으며, 말로는 그 일지 조각 중 일부를 플레이어에게 준다. 받은 ‘셰익스피어의 일지 7페이지’를 사용하면, 다시금 셰익스피어의 편에 서서 RP를 진행하게 된다.

 

< 좀 안됐지만 벨라도 적극적으로 이용하자... >

 

셰익스피어는 전투 스킬에 디펜스, 스매시, 윈드밀, 카운터 어택만을 가지고 있다. 힐링과 죽은 척 액션도 있는 만큼, 미리 퀵바를 확인하는 것을 잊지 말자. 처음에는 녹색 그렘린 네 마리를 상대하고, 이후 고블린 헌터 네 마리가 등장한다.

 

고블린 헌터는 타격시 확률적으로 독이 걸리는데, 독에 걸리면 가지고 있는 포션은 생명력 100포션 열 병 뿐이므로 체력 관리가 매우 어려워진다. 이 때는 몬스터들이 벨라를 먼저 인식하게 하면 피해를 줄이며 상대할 수 있으니 참고하자.

 

헌터를 모두 물리치면 고블린 헌터 네 마리와 오거 한 마리가 등장한다. 오거는 근접 오토 디펜스가 있으므로, 체력을 최소한 절반 이상 유지하면서 공격에 나서야 한다.

 

* 실패할 경우 말로와 대화해 페이지를 다시 받을 수 있습니다.

 

RP가 끝나면 모든 퀘스트가 완수된다.


8. 금과 은

- 보상 : 경험치 15000

 

< 바사니오는 이곳으로 자리를 옮겼습니다 >

 

약 3분쯤 대기하면 바사니오로부터 퀘스트가 도착한다. 벨바스트로 이동하자. 바사니오는 벨바스트 정원 쪽에 있다. 대화를 나누면 그는 편지의 답장과 ‘보리차’ 음식을 준다. 음료는 전달할 필요 없으니 마셔버려도 무방하다. 4번 ‘유언과 의지’ 퀘스트에서 받았던 푸른 여신의 날개를 이용해 포셔에게 가자. 그녀는 크게 기뻐하면서 수수께끼를 만들기 위한 재료 세 가지를 플레이어에게 의뢰한다.

 

이제 ‘승낙한다’를 골라 흔쾌히 응하거나, ‘수고비는…’ 을 통해 돈을 요구할 수 있다. 수고비를 청구할 경우 선금으로 1만 골드가 담긴 주머니를 받는다.

 

퀘스트를 수락했다면 ‘포셔가 준 뼛가루’를 들고 라비 던전으로 가자. 이 던전은 라비 상급 던전과 유사한 구성으로, 총 3층이다. 등장 몬스터는 크게 갑주 스켈레톤과 자폭 공격을 하는 ‘스켈레톤 스쿼드’, 그리고 이 던전에서만 등장하는 대량의 쥐다. 처음에는 ‘황금쥐’ 한 마리만 등장하지만, 이후 다수의 ‘동굴 쥐’가 등장한다.

 

< 쥐라고 우습게 봤는데...취소하죠... >

 

동굴 쥐는 다수 인식에 경계와 공격을 반복하는 패턴으로, 플레이어 주위를 계속 돌면서 이동한다. 그냥 두면 정신이 없을 정도로 바삐 움직이기에 던전 벽 쪽으로 가 이동을 막고 윈드밀과 같은 광역기로 공격하는 것이 효과가 좋다.

 

스켈레톤 스쿼드는 2층 후반에서 3층 초반부터 등장하며, 사망시 자폭해 큰 대미지를 입힌다. ‘폭발 저항’이 있는 세트 아이템을 장비했다면 대미지 30~50 정도로 끝나겠지만, 그렇지 않다면 포션 중독을 각오해야 할 것이다.

 

< 자신없으면 한 마리씩 끌어내자 >

 

보스방에 도착하면 ‘작은 스켈레톤’과 메탈 스켈레톤, 그리고 스켈레톤 스쿼드와 해골 늑대가 있다. 활과 같은 원거리 공격 수단이 있다면 스켈레톤 스쿼드만 공격해 자폭을 유도하는 것이 가장 효율이 좋으며, 아니라면 스쿼드부터 한 마리씩 끌어내 자폭 피해를 최소화하자.

 

모두 처치하면 ‘소름 끼치는 해골’ 아이템을 얻는다. 이제 푸른 여신의 날개로 포셔에게 돌아가자. 그녀가 묻는 질문에 ‘무섭지 않았다’와 ‘무서웠다’로 답을 할 수 있으니 취향껏 답하자.

 

< 바사니오, 신용 꽝이구나 >

 

두 번째로 필요한 아이템은 ‘광대 인형’이다. 광대 인형은 ‘탈틴’ 마을의 잡화점 NPC ‘피에릭’에게 구할 수 있다. 피에릭에게 가면 제작비로 5만 골드를 요구하니, 주도록 하자. 인형까지 받고 나면 퀘스트가 완료된다.

 

9. 납덩어리 같은 마음
- 보상 : 경험치 15000

퀘스트를 완료하고 3~5분 대기하면 새로운 퀘스트가 날아온다. 이제 포셔에게 돌아가 인형을 주자. 인형을 받은 포셔는 돈에 대해 우려하는데, ‘아무 말도 하지 않는다’와 ‘돈 이야기를 한다’중 택일하자. 돈 이야기를 할 경우 포셔는 미안해하면서 1만 골드와 금화 주머니를 준다. ([모리안]_쟈이르님 제보)

 

이후 그녀는 사랑에 관해 묻는데, ’있다’와 ‘없다’ 중 취향대로 답하자.

 

이제 마지막 아이템인 ‘초상화’를 구하러 갈 때다. 타라의 한스에게 가면, 아까와 마찬가지로 5만 골드를 요구한다. 요구하는 대로 주면 포셔의 의상착의에 대해 묻는다. 여기서는 틀린 답을 해서 이득될 것이 없으니, ‘긴 생머리’, ‘금발’, ‘파란색’ 순서대로 답해주자.

 

포셔에게 돌아가면 아까와 마찬가지로 돈에 대해 묻는다. ‘적당히 둘러댄다’나 ‘솔직히 말한다’ 중 하나를 고르자. 여기서는 어떤 선택지를 고르건 10만골드의 보상을 받을 수 있다. (이토노코님 제보)

 

그녀는 이야기를 계속 이어가며 불안해하는 모습을 보이는데, ‘행복하게 해 줄 것이다’를 선택해 달래주거나‘불행하게 만들 것이다’로 부정적 답을 하자.

 

< 악세 종결자. jpg. 내구 4가 그저 아쉽다 >

 

어떤 쪽을 고르건 그녀는 상자에 초상화를 넣기 시작한다. 여기서도 ‘훔쳐보지 않는다’를 골라 포셔의 답을 존중하거나, ‘훔쳐본다’로 답을 미리 알아볼 수 있다. 모든 작업이 끝나면 포셔는 플레이어에게 보상으로 자신의 펜던트(방어2, 보호2, 내구력 4/4)를 준다.

 

이제 답도 짐작할 여지가 생겼으니, 루카스에게 돌아가 답을 말해주고 퀘스트를 완료하자. 만약 앞에서 답을 봤다면 알려줄 수도 있으며, 그냥 엉뚱한 상자를 이야기해 답을 속일 수도 있다. 선택은 플레이어의 몫이다.


10. 많은 사나이들이 원하는 것
- 보상 : 경험치 15000

 

앞선 퀘스트를 완료한 후 게임 시간으로 약 하루(36분)를 기다리면, 루카스로부터 퀘스트가 온다. 이멘 마하 술집으로 가 보자. 플레이어가 답을 알려줬건 아니건 그는 자신이 원하는 것을 골랐고, 실패했다는 점을 이야기하며 위스키에 대한 진실을 알려준다. 이제 오언제독에게 돌아가자. ‘그렇다’를 선택해 진실을 말해줄 수도 있고, ‘아니다’를 선택해 배리 편을 들어줄 수 있으니 선택하자. 오언 제독은 이야기를 듣고 난 후 한 가지 일을 더 부탁한다.

 

대화가 종료되면 샤일록에게 가 보자. 샤일록은 설명을 시작하며 자세하게 설명할지에 대해 플레이어에게 묻는다. ‘궁금하다’와 ‘안 궁금하다’ 중 하나를 고르자. 그는 큰 돈이 필요하다며 ‘타라’의 은행NPC ‘키이스’에게 편지를 전해줄 것을 부탁한다.

 

루카스에게 이야기를 들은 것일까? 키이스는 돈을 빌려주는 대가로 포셔의 답에 대해 알려줄 것을 요구한다. 여부에 따라 변화되는 사항은 없으니, 원하는 답을 알려주자. 이야기를 끝내고 퀘스트를 완료하면 또 하루간의 기다림이 시작된다.


11. 자신의 수준만큼 얻으리라
- 보상 : 경험치 5000

 

약 하루가 지나고 나면 키이스에게 퀘스트가 온다. 은행으로 찾아가면 그 역시 자신의 선택대로 골랐다 실패했다는 점을 알 수 있다. 그는 실패를 인정하며, 자신에게 맞는 여자가 나타날지에 대해 묻는다. 평소 키이스를 어찌 생각했는지 평가할 좋은 기회니, ’있다’와 ‘없다’ 중 결정하자.

 

이제 샤일록에게 돌아가자. 그는 계약 성사에 대해 크게 기뻐하며 마지막으로 한 가지 부탁이 있다 한다. ‘잠자코 듣는다’를 선택해 원만히 넘어가는 방법도 있지만, 심부름에 지쳤다면 ‘화낸다’로 짜증을 부릴 수도 있을 것이다.

 

< 텍스트만 보면 본격 악행 장려게임...ㅠㅠ>

 

어느 쪽 대답을 선택했건 그는 평민들을 도와주길 부탁하며 ‘샤일록의 씨앗 상자’를 준다. 이 상자는 ‘사용하기’를 선택해 열 수 있는데, 이 경우 낭만 농장에 심을 수 있는 양배추 씨앗 다섯 개, 호박 씨앗 여덟 개를 얻는다.

 

12. 평민이라서

퀘스트 보상 - 경험치 15000

 

전달해주기로 한 ‘블라트’는 탈틴 농장에 있다. 상자를 유지했다면 선택지에서 ‘있다’를 선택하면 상자를 건네주고 포션을 받는다. 반대로 ‘모른척 한다’를 선택하면 씨앗을 빼돌릴 수 있다.

 

상자를 벌써 열었다면, 선택지가 '사실은...'과 '모른척한다'로 바뀐다. 이 경우 어떤 답을 골라도 씨앗은 가지고 있게 된다. (Byul☆님 제보)

 

어느 쪽을 고르던 플레이어는 호박과 토마토를 받으며, 이를 벨바스트 재판소 동쪽에 있는 NPC ‘히커 엄마’에게 전달해야 한다. 히커 엄마는 고마워하며 ‘딸기 우유’를 주고, 샤일록의 과거에 대한 소문을 말해 준다. 이야기를 들어보면 샤일록은 처음부터 저렇게 냉정한 사람은 아니었던 것 같은데…어떤 일이 있었던 걸까?

 

< 밝혀지는 의외의 진실 >

 

그에 대해 알아볼 겸 샤일록에게 가 보자. 그는 안토니오에 관한 이야기를 하며, 어떻게 생각하는지 플레이어에게 묻는다. ‘잘됐다’나 ‘불쌍하다’ 중 하나를 고르자. 그는 갑작스레 자신의 과거에 대해 이야기를 풀어놓으며, 자신의 일기장을 건넨다. 읽어본 후 오언제독에게 돌아가 보고하자. 그는 그 동안의 노고에 대해 칭찬하며자신이 쓰던 손등장갑을 건넨다.

 

* 오언제독의 손등장갑은 ‘강의 레이븐’ 인챈트가 되어 있으며, 레이븐 옵션은 랜덤으로 결정됩니다.


13. 저주받은 아본
- 보상 : 경험치 20000

 

퀘스트를 끝냈다면 채널이동 또는 재접속을 한 후, 나오는 영상을 감상하고 말로에게 가 보자. (술먹는꼴초님 제보) 그는 셰익스피어의 일지에 관한 추가 내용을 알아냈다면서 일지 16페이지를 준다. 사용해 보면 또 다른 RP의 세계로 들어선다. 셰익스피어는 7페이지 RP때와 동일한 스킬을 사용 가능하며, 두 자루의 글라디우스와 활을 장비했다.

 

처음에는 포이즌 스켈레톤 병사 네 마리와 싸우게 된다. 이 녀석들은 다중 인식하고, 맞으면 독이 걸리므로 활로 한 마리씩 끌어내서 처치하자. 이후로는 스켈레톤 스쿼드 세 마리가 등장하는데, 인식 거리가 상당히 넓으므로 여러 마리가 한꺼번에 보지 않게 주의하자.

 

스쿼드를 모두 물리치면 스켈레톤 병사 세 마리와 스켈레톤 아머 오거 두 마리가 등장한다.이후로 스켈레톤 아머 오거 두 마리와 스켈레톤 풀아머 오거가 등장한다. 스켈레톤 풀아머 오거는 근접 오토 디펜스가 있으니, 스매시나 윈드밀 같은 무조건 다운 스킬로 상대하는 것을 추천한다.

 

* 실패할 경우 말로와 대화해 페이지를 다시 받을 수 있습니다.

 

RP를 완료하고 나면 모리안과 키홀 사이 대화 이벤트가 진행된다. 둘은 오래 전부터 알고 지내는 사이 같았는데, 과연 어떤 일이 있었길래…?


14. 운명에 맡겨라
- 보상 : 경험치 20000

 

퀘스트가 완료된 후 3~5분 정도 대기하면 바사니오의 부름을 받는다. 그는 안토니오를 위로하면서, 플레이어에게 상황에 대한 판단기준을 묻는다. ‘알려준다’와 ‘모른척한다’ 중 선택하자. 이야기를 들은 안토니오는 사라지고, 바사니오는 질문에 대한 답을 묻는다. 앞의 두 인물과 마찬가지로 소신껏 답해주자.

 

< 결혼식. 부럽다...ㅠㅠ >

 

답을 알려 준 뒤, 바사니오는 포셔의 집으로 떠난다. 이제 필리아로 이동하자. 포셔나 바사니오 중 한 명과 대화하면 이벤트를 보고, 결혼식이 진행된다. 이후 바사니오와 대화하면 안토니오의 무역선을 보호하는 데 힘을 빌려달라는 부탁을 받는다. 이리아 대륙 켈라 베이스 캠프로 이동해 무기상인 ‘니커’와 대화하면 자동으로 무역선에 탑승하게 된다.

 

< 선상에서의 전투. 에트나는 여기서도 근성을 찾는다... >

 

무역선에서는 계속 등장하는 다수의 약탈자와 싸우게 된다. 적들의 체력은 약 1200 정도로, 별도의 오토디펜스가 없기 때문에 아무렇게나 때려 줘도 된다. 단, 약탈자 AI의 특성상 평타로 반격하는 경우가 많으므로 스매시와 같은 스킬은 자제하자. 동행한 에트나나 니커는 피해를 거의 안 입기 때문에, 간간히 힐링 정도로만 보조해 줘도 큰 문제가 없을 것이다. 마지막에는 '약탈단 두목'이 등장하며, 이 적만 죽여도 미션이 완료된다. (shsz12님 제보)

 

미션을 완수하면 보상으로 경험치 100000을 받는다.


15. 과거의 유령들
- 보상 : 경험치 10000

 

배를 지키는 데 실패한 플레이어. 이제 다시금 샤일록과 대화할 차례다. 대화 중 그는 플레이어에게 증인을 설지에 대해 묻는다. ‘증언한다’와 ‘증언하지 않겠다’ 중 하나를 선택하자. 이제 재판소에 들어가 감옥에 갇힌 안토니오와 대화하자. 그는 용서를 빌며, 마지막으로 편지를 바사니오에게 전해 주기를 부탁한다. 이 곳에서는 최대 세 번까지 부탁을 거부할 수 있다. 퀘스트를 완료하고 재접속해보면, 앞에서 봤던 소년과 소녀의 영상 다음 이야기를 볼 수 있다.


16. 모이투라의 상처
- 보상 : 경험치 20000

 

영상을 보고 나면 말로가 부른다. 아본으로 이동해 일지 133페이지를 받자. 이번에는 2차 모이투라 전투에서 팔론의 편에 서서 싸우는 셰익스피어 역할을 맡게 된다. 시작하면 플레이어는 전장 한 가운데에 라이트닝 원드를 든 상태로 소환되며, 썬더 스킬을 이용해 적들을 퇴치해야 한다.

 

근처에 있는 팔론의 병사는 한 명만 죽어도 미션 실패로 처리되기 때문에, 힐링 스킬로 회복시켜가면서 전투를 진행해야 한다. 힐링은 퀵 슬롯에 지정되어 있지 않으니 반드시 셋팅해 두도록 하자.

 

< 블랙 워리어와 싸울 때는 안전거리 준수! >

 

처음에는 고블린과 고블린아처만 등장하지만, 어느 정도 지나고 나면 블랙 위자드가 함께 등장한다. 파이어볼트 풀차지는 병사에게 큰 피해를 입힐 수 있으니, 볼트 마법을 계속 시전하지 못하도록 하자. 마지막에는 블랙 워리어가 등장한다. 썬더 공격 후에도 자주 뛰어와 평타를 날리는 편이니, 뒤로 물러서면서 번개가 떨어진 후에 카운터 어택을 병행해 공격해 주면 안전하다.

 

모두 물리치고 나면 컷신이 등장하고, 미션이 완료된다. 말로와 대화해 퀘스트를 완료하자.


17. 적을 더 가깝게
- 보상 : 경험치 10000

 

이번에는 바사니오, 포셔와 힘을 합쳐 안토니오를 탈출시켜야 한다. 퀘스트가 오면 필리아로 돌아가 바사니오와 대화하자. 대화가 끝남과 동시에 밤의 벨바스트로 이동해 ‘벨바스트 탈출’ 미션을 수행하게 된다.

 

< 붉은 선으로 표시된 부분이 인식 범위 표시기다 >

 

이 미션은 경비대장을 피하고, 경비대를 모두 물리치는 것이 목적이다. 경비대장은 타당 대미지가 수천 대에 달하고, 어떤 무기로도 대미지가 1밖에 들어가지 않기에 싸움은 자살행위다. 인식 범위는 전면으로 약 120도 정도로, 캐릭터 주위에 부채꼴 모양으로 표시되기 때문에 이를 피해서 움직이면 된다.

 

포셔는 미라지 미사일과 서포트 샷, 평타 위주 공격을 하기 때문에 전투에는 거의 도움이 되지 않는다. 가능한 혼자 움직이도록 하자.

 

경비대는 총 세 군데에 있으며, 모두 처치하면 자동으로 이벤트가 진행된다. 이제 퀘스트를 완료하고 재접속해 영상을 보자. 마지막 전투만이 남았다.

 

18. 샤일록의 계약
- 보상 : 경험치 50000

 

알비던전 앞으로 가 보면 샤일록을 만날 수 있다. ‘위로한다’‘그냥둔다’ 중 하나를 선택하자. 그는 자신의 마음에 대해 이야기하면서, 셰익스피어가 숨어 있는 알비 던전에 갈 수 있는 통행증을 플레이어에게 건넨다.

 

< 중반 이후로는 대부분 알비 상급 몬스터들이 등장한다 >

 

이 던전은 1인부터 3인까지 입장할 수 있으며, 총 7층 구조다. 누적 4000 기준으로 4층까지는 알비 하급 몬스터가 등장하며, 이후로는 알비 상급의 몬스터들이 등장한다.

 

누적 1천 이하의 경우 7층까지 알비 하급 몬스터가 등장한다. 이후 중급 몬스터인 '푸른 베어울프'와 그리즐리베어류가 등장한다. (츳치아님 제보)

 

7층 보스방에 도착하면 G14에서 만나본 ‘브란’이 재등장한다.

브란의 패턴은 아래 링크를 참고하여 진행하면 된다.

 

< 브란 패턴 공략 바로가기 >

 

브란까지 물리치고 임무를 완수하면 최종 보상인

‘소네트’ 인챈트(접미 랭크 A - 장신구에 인챈트 가능, 지력 10, 체력 10, 솜씨 10 증가)

페르소나 ‘샤일록의 발걸음(이동속도 100% 증가)’을 얻는다.

 

이와 함께 답변 여부에 따라 보상 타이틀을 얻는다.

 

긍정적인 답변 위주로 진행했을 경우 -

다 같이 행복한 (의지 20 증가, 행운 10 증가)

부정적인 답변 위주로 진행했을 경우 -

혼자서도 잘 노는 (방어 5 증가, 최대스태미나 10 증가)


저작자 표시
Trackback 0 : Comment 0

목공 4~1랭크

마비노기 생활계 2012/01/23 05:51
============================================================================================================


◈ 4랭크
★ 고급 나무장작을 제작.          +0.006(2렙대패 기준), 수련횟수 1,000번  [ 6% ]
★ 최고급 나무장작을 제작.        +0.24(2렙대패 기준),  수련횟수 150번    [ 36% ]
★ 가디언 보우 제작에 성공.       +1.8(2렙대패 기준),   수련횟수 30번     [ 54% ]
★ 완성도 높은 활 제작에 성공.    +1.2(2렙대패 기준),   수련횟수 40번     [ 48% ]

완성도 높은 활 제작, 소위 신작 수련이 추가되었습니다.
신작 활이 뜰 확률이 극악이기 때문에 가급적이면 손대지 않습니다...만 4랭에서는 유일하게 신작 수련을 해야 합니다.
4랭에서는 생활2배포를 먹는 것이 이득입니다. 굳이 계산하지 않더라도 왜인지 삘이 오지요?

수련포를 먹고 가디언(고작4 최작1 질끈2)을 만듭니다. 4회 제작합니다.
다음으로는 최작을 만듭니다. 19회 만들면 90의 수련치가 찹니다.
여기까지 했을 때 2배포 시간이 약 5분가량 남습니다. 그동안 취향껏 고작을 만들어도 좋고 신작수련을 해도 좋습니다.

저는 2배포 시간 동안 신작수련을 1회 성공하여 수련치 9.6을 채우고, 남은 수련치 0.4는 고작을 17회 제작했습니다.
신작수련은 장작이 제일 적게 드는 숏보(고작2, 굵실2)로 합니다.


소모 재료 : 중작51개, 고작75개, 최작4개, 질끈8개, 굵실2개(PC방+상인환+2배포 기준) + 생활2배포 1개

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

◈ 3랭크
★ 최고급 나무장작을 제작.        +0.12(2렙대패 기준), 수련횟수 250번  [ 30% ]
★ 가디언 보우 제작에 성공.       +1.2(2렙대패 기준),  수련횟수 20번   [ 24% ]
★ 엘븐 롱 보우 제작에 성공.      +1.8(2렙대패 기준),  수련횟수 30번   [ 54% ]
★ 완성도 높은 활 제작에 성공.    +0.96(2렙대패 기준), 수련횟수 40번   [ 38.4% ]

2렙 대패 덕에 신작수련을 하지 않습니다. 혁명입니다.
역시 생활포를 먹습니다. 자세한 계산은 생략한다.

엘롱(고작3 최작2 질끈1 철괴2) 4회 = 수련치 54
가디언(고작4 최작1 질끈2) 3회 = 수련치 24
최작 23회 = 수련치 22.08
미리 재료를 배치하고 빨리빨리 수련하면 수련포 1개로 뚫을 수 있습니다.


소모 재료 : 고작93개, 최작12개, 질끈10개, 철괴8개(PC방+상인환+2배포 기준) + 생활2배포 1개


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


◈ 2랭크
★ 최고급 나무장작을 제작.        +0.096(2렙대패 기준), 수련횟수 300번  [ 28.8% ]
★ 엘븐 롱 보우 제작에 성공.      +1.2(2렙대패 기준),   수련횟수 20번   [ 24% ]
★ 레더 롱 보우 제작에 성공.      +1.8(2렙대패 기준),   수련횟수 30번   [ 54% ]
★ 완성도 높은 활 제작에 성공.    +0.6(2렙대패 기준),   수련횟수 60번   [ 36% ]

마지막 랭크입니다. 역시 신작수련은 하지 않습니다.
수련법은 3랭과 똑같습니다.

레롱(고작5 최작3 굵실3 고가1) 4회 = 수련치 54
엘롱(고작3 최작2 질끈1 철괴2) 3회 = 수련치 24
최작 23회 = 수련치 22.08
역시 수련포 1개로 해결할 수 있습니다.


소모 재료 : 고작98개, 최작18개, 굵실12개, 고가4개, 질끈3개, 철괴6개(PC방+상인환+2배포 기준) + 생활2배포 1개


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

저작자 표시
Trackback 0 : Comment 0

스타2 테란

AnythingElse 2012/01/21 21:33

기본적인 테란부터 알려드리면, 우선 테란 기본빌드인 10서플 12병영  13가스(선택) 16궤도 17보급은 되도록이면 암기하셔야합니다.

 

 

 

우선 저그전엔 염차더블 하시는걸 추천해드려요. 염차로 견제하면서 확장과 생산건물을 늘려 한방병력을 모을수있습니다. 뮤링링은 보통 공성전차 해병 의료선으로 상대하고요 바드라는 소수불곰 해병 공성전차 의료선으로 상대합니다. 보통 바드라는 잘안쓰죠..테란한테 바퀴 히드라는 약합니다.

 

대플토전은 공허는 보통 해병으로막죠. 우주공항이 빨랐다면 바이킹 1~2기정도 찍으신후 긴사거리를 이용해 잡아주시는것도 괞찮습니다.

추적 거신 파수기 질럿 조합은 바이킹 해병 불곰 의료선으로 막으셔야해요. 가스 여유가 된다면 유령 섞어주시는것도 좋습니다. 보통 병영은 기술실과 반응로 비율이 2:1이에요.

대플토전 추천해드리는 빌드는 기술실더블입니다. 빠른더블을 가져가면서도 자극제나 방패업이 빨라 수비,공격 모두 좋습니다.

테테전은 원래 싸움은 공성전차와 해병 의료선 입니다. 근데 요즘추세가 바이오닉이나 메카닉 쪽으로 흘러가고 있어서 대충 알려드리면,

바이오닉빌드는 상대가 메카닉일떄 쓰는빌든데요, 다수불곰과 소수 해병 의료선 바이킹 조합입니다. 공성전차와 다수 화염차로 조여오는 메카닉을 산개컨으로 잡아먹어야되죠. 우선 바이오닉빌드를 타시면 드랍을 꾸준히 보내세요. 기동성좋은 바이오닉을 메카닉이 따라잡기 힘듭니다.

메카닉 빌드는 공성 염차 토르 조합입니다. 우선 3다 스플유닛으로 화력이 어마어마하죠. 상대를 조이거나 염차견제등 쌓이면 쌓일수록 강한체제죠. 다만 기동성이 느리다는게 단점입니다.
 

 

 

 

 

 

 

 

 

 

 

 

 

저작자 표시
Trackback 0 : Comment 0

스타2 테란

AnythingElse 2012/01/21 21:30

[1] 테테전

 

크게 나누어서 4가지 종류가 있습니다.

 

1. 1/1/1

 

2. 메카닉

 

3. 사신더블

 

4. 스카이 테란

 

 

1. 1/1/1

10보급고 - 12병영 - 13가스 - 15궤도사령부 - 해병1기 - 15가스 후 가스되는대로 군수공장, 완성되면 바로 우주공항

 

군수공장에선 기술실 다시고 탱크 뽑아주시구요, 병영에선 해병 꾸준히, 우주공항 완성되면 반응로 달고 바이킹 꾸준히 모아줍시다.

진출타이밍은 인구같은거 안막혔다면 8분대 쯤에 진출타이밍 나올겁니다. 건설로봇 몇기 자동수리 붙여놓고 데려가시면서 하나씩 던지면서 자리 잡아서 조여들어가시면 이깁니다. 미네랄이 많이 남으니까 멀티는 미네랄 남으면 먹어주세요.

 

2. 메카닉

1/1/1과 초반 빌드는 비슷합니다. 하지만, 그냥 메카닉은 앞마당을 일찍 먹고 안정적으로 갑니다.

 

3. 사신 더블

10보급 - 12병영 - 13가스 - 15궤도사령부 해병1기 이후 가스모이는대로 기술실, 사신1기 찍어주시고 돈되는대로 바로 두번째 사령부

 

그 후로 운영하시면서 병영 폭발적으로 늘려주시면서 해병+의료선 조합으로 갑니다. 두번째 가스는 앞마당 드신 후에 가주시면 되구요, 기술실에선 자극제, 방패업 눌러주시고 군수공장에 반응로 달고 우주공항 지으셔서 군수공장과 우주공항 스왑(위치 바꿔달기)합니다. 그 후, 의료선 뽑아주시면서 그걸로 견제다니시면 됩니다. 상대가 메카닉이라 좀 힘들어진다 싶으시면 거기서 탱크도 뽑아주시는게 좋습니다.

 

4. 스카이 테란

10보급 - 12병영 - 13가스 - 15궤사 - 15가스 - 해병1기 - 기술실 사신 더블 후에 군수공장 1개에 기술실 , 우주공항 2개 올려주시면서 두개다 반응로.

 

군수공장에 기술실 완성되면 지옥불과 화염차 2기정도 찍어주시고, 우주공항은 1개에선 바이킹 2개씩, 나머지 1개는 지옥불 끝나면 군수공장과 스왑하셔서 은폐밴시를 모아줍니다. 군수공장에선 2화염차, 우주공항에선 2바이킹 1밴시씩 꾸준히 모아주시면서 공중을 장악하시는 빌드입니다.

 

 

 



[2] 테프전 전략

 

일단 4차관은 메카닉에 정말, 엄청, 존나게 취약합니다.

메카닉 카운터가 불멸자인데 로공을 안올라가니까 불멸자가 나오지 않거든요.

 

빌드는

 

1. 3병영(기본빌드, 로공 카운터, 초반찌르기용)

 

2. 1/1/1(기본빌드, 웬만하면 승률 80% 이상, 4차관과 암흑기사 카운터)

 

3. 토르러쉬(엄청난 날빌, 4차관 카운터)

 

가 있습니다. 대략..

뭐 은폐밴시나 1/1/1 변형인 2/1/1 등도 있는데 그런 자잘한 류는 생략할게요.

 

1. 3병영

10보급 - 12병영 - 13가스 - 15궤도 후 해병 1기 눌러주고 돈남는대로 병영을 2개 더 늘리고 이후 운영가는 빌드입니다. 상대가 불멸자나 고위기사, 집정관류면 여기서 유령 섞어주시면 되고, 거신이면 바이킹 섞어주시면 됩니다. 의료선은 당연히 필수겠죠? 주 병력은 해불유의(해병+불곰+유령+의료선) 입니다.

 

2. 1/1/1

10보급 - 12병영 - 13가스 - 15궤도 - 15가스 후 가스남는대로 군수공장, 그 후에 보급고 지어주시면서 해병이랑 건설로봇 꾸준히 뽑아주시구요(해병은 필수) 상대가 4차관인거 같다하면 얼쑤 하시면서 입구에 벙커1개 건설, 아닌거 같다 싶으면 탱크까지만 버티면 되니까요 뭐. 군수공장 완성되면 우주공항 바로, 군수공장에 기술실, 기술실 완성되면 공성전차(아직 공성모드는 찍지 않습니다.), 우주공항 완성되면 기술실, 기술실 완성되면 바로 밤까마귀 1기 찍을 가스가 거의 딱 되거나 약간 넘칩니다. 밤까마귀 1기 후 공성모드, 공성전차와 밴시를 눌러주면서 밤까마귀 마나 85~90정도에 진출합니다. 이 때, 건설로봇 4~5기를 대동하면서 공성전차와 밤까마귀, 밴시 리페어 해주시구요, 상대가 로공이 없다 싶으면 공성전차 생산을 잠시 멈추시고 은폐 찍어줍시다. 미네랄이 남으므로 400모이면 앞마당 먹어주시구요.(장래를 생각합시다) 밤까마귀는 국지방어기 용입니다. 추적자 공격을 20회 막고 마나차는대로 한발씩 또 막아주니 이게 얼마나 좋습니까. 아무래도 관측선 없는 경우가 대부분이므로 은폐완성되면 ㅈㅈ. 공성전차로 조이기하고 밴시와 해병으로 엄호해주시는 공격형태를 취하시면 됩니다.

 

3. 토르러쉬

1/1/1과 기본빌드는 같습니다. 군수공장 완성되면 바로 무기고 올려주시고, (가스가 딱 될겁니다.) 가스 되는대로 기술실 달아주세요. 보급고는 15~20인구수 정도 여유있어야 합니다. 무기고 완성되면 토르 2기를 모읍시다. 이 빌드는 초반찌르기에 굉장히 약하므로 해병 꾸준히 모으기와 벙커 1~2개 건설을 의무화 합시다. 토르가 2기정도 완성되면 건설로봇 10기정도를 대동하여(자동리페어보단 직접 붙여주는게 좋습니다.) 러쉬를 갑니다. 이 때, 토르는 보조 화력이고 주 화력은 해병임을 명심합시다. 그래도 토르 죽으면 큰일납니다.

 

 

 

 

[3] 테저전 전략

 

1. 1-4병영 더블 온리해병 푸쉬

이 빌드는 초싸이언 해병이라고도 불리는 빌드입니다.

그만큼 사기소리 듣는 해병을 극대화시켜서 사용하는 빌드입죠.

 

빌드오더는 대충 이렇습니다.

10보급고->12병영->15궤도사령부->해병 한기->정찰 끊어주면서(해병 허리돌리기 연습해주세요.) 본진 사령부 바로 옆에 추가 사령부 -> 병영 3개(해병 한기 이후엔 아무 유닛도 뽑지 않습니다.) -> 건설로봇, 해병 꾸준히 눌러주기->17정제소->17보급고(보급고 막히면 적당히 기술실 달아주세요.1개에만)

 

사령부가 완성되면 궤도사령부로 바꾸신 후 지게로봇 꾸준히 떨궈주시고, 만약 기술실이 1개 있는 상태라면 선 전투방패 -> 자극제 가줍니다.인구 50정도에 해병 모두와 건설로봇 4~5기 데리고 러쉬갑니다. 가시면서 두번째 사령부를 앞마당으로 옮겨주시고, 가스 2개 더 먹고, 군수공장 1개 늘려주고, 상대 본진에 스캔 한번 뿌려줍시다. 자 여기서 갈림길.

 

 ①. 상대가 링링이고 번식지를 타고 있다.

 -> 맹독충이 소수라면 해병 적당히 산개해주시면서 밀어주시고, 다수라면 2번 선택지로 갑니다.

 

 ②. 상대가 맹독충 올인 또는 다수이다.

 -> 앞마당에 벙커짓고 군수공장 1개 더늘려서 총 2개 만들어줍시다. 완성된 군수공장은 바로 기술실 달고 공성전차와 공성모드 눌러주시고, 병영에 2개 반응로 다시고, 그거 완성되면 나머지 하나도 반응로 달아줍시다. 그 후엔 우주공항 가시고 반응로 다셔서 의료선 뽑아주세요.

 

 ②. 상대가 바퀴다.

 -> 꽁승 ㄳ 그냥 쭉쭉

 

 ④. 상대가 뭔진 잘 모르겟으나 앞마당에 성큰이 3~4기나 된다.

 -> 지금 모인 해병으로 성큰 2방 ㅅㄱ 쭉쭉 밀어줍시다.

 

일단 이정도 되고, 이번엔 두번째.

 

2. 해탱선

 

위와 빌드는 비슷합니다. 다만 처음 병영이 2~3개이고, 2가스를 좀더 빨리 먹는다는 점이 다릅니다.

 

3. 화토밤

 

화염차 + 토르 + 밤까마귀 입니다. 상대 무리군주 전에 밀어주시는 빌드인데, 3멀티 안돌리면 자원력이 딸려서 힘들겁니다.

 

 

 

출처 : 지식IN

 

 


저작자 표시
Trackback 0 : Comment 0

다양한 이벤트

마비노기 2012/01/19 16:05
안녕하세요.
마비노기 운영팀입니다.

2012년 흑룡의 해를 맞이하여,
마비노기에서는 다양한 이벤트
설날 당일에만 누릴 수 있는 특별한 혜택을 준비했습니다.

자세한 내용은 아래와 같습니다.

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

■ 흑룡의 해 기념 이벤트

이벤트 기간 : 2012년 1월 19일 (목) ~ 2월 5일 (일) 23시 59분

에린 전역에서 펼쳐지는 다양한 이벤트를 즐기시고,
밀레시안끼리 합심하여 '흑룡의 조각'을 모아 흑룡을 소환하면, 소원도 이루어줍니다.



다양한 이벤트에 참여해서, 각종 쿠폰을 모으시면 여러가지 선물을 받으실 수 있습니다.
이벤트에 대한 자세한 내용은 아래 표를 참고해주세요~!

1. 쿠폰을 획득할 수 있는 이벤트 참여 방법

이벤트

내용

보상

제스쳐

에린 시간 오전/오후 8시마다 제스쳐 제시 문구 안내
이리아 대륙을 제외한 모든 지역에서 참여 가능

제스쳐 성공 시,
'제스쳐 쿠폰' 획득

널뛰기

흑룡의 사절 NPC에게 '널뛰기 조립 키트' 구매

1명이라도 10M 이상 널뛰기 성공 시,
'널뛰기 쿠폰' 획득
높이가 높을수록 쿠폰 추가 획득

스키
점프

스키 점프 이벤트 도우미에게 입장권 구매 1600점 이상 획득 시,
'스키 점프 쿠폰' 획득
점수가 높을수록 쿠폰 추가 획득

OX
퀴즈

현실 시간으로 매 시간 정각에 OX 퀴즈 진행
OX 퀴즈 시작 1분 전까지 발판 위에 있어야 참여 가능
오답 시, 다음 OX 퀴즈 시작 전까지 참여 불가
퀴즈 정답 획득 시,
'OX 쿠폰' 획득
문제를 많이 맞추면 쿠폰 추가 획득

비밀의
야시장

에린 시간 오후 6시 ~ 오전 6시에 비밀의 야시장 출현
(출현 위치는 이리아 문양 중 한 곳)
목공/핸디 크래프트/요리/방직/철공 재료 상점 등장
판매되는 재료 수량은 한정되어 있으며,
판매랑 소진 시 다음 야시장이 열릴 때 구매 가능

미니게임 2종 '다트/해머 미니게임' 참여 가능
- 4명 이상 구성된 파티만 참여가 가능하며,
파티장이 게임 예약 가능
- 파티원이 멀리 떨어져 있거나, 펫 탑승 및
스킬 시전 중인 경우 게임 시작이 취소되며
게임 시작이 3회 이상 취소될 경우 게임이 취소됨

미니게임 순위에 따라
'야시장 쿠폰' 획득
단, 획득 점수가 100점 이하인 경우,
순위에 관계없이 쿠폰 획득 불가

[쿠폰 사용 안내]
다양한 이벤트에 참여하여 각종 쿠폰을 모아보세요!
쿠폰 종류별로 일정 개수 이상 모아 흑룡 사절단에게 가져가면, 각각의 선물 상자로 교환이 가능합니다.

쿠폰 종류

보상 아이템

제스쳐 쿠폰 2장

제스쳐 선물 상자

널뛰기 쿠폰 10장

널뛰기 선물 상자

스키 점프 쿠폰 5장

스키 점프 선물 상자

OX 쿠폰 20장

OX 선물 상자

야시장 쿠폰 10장

야시장 선물 상자


위 선물 상자와 흑룡의 선물 상자를 사용하면,
아래 아이템을 포함한 게임에 필요한 아이템 1가지와 '흑룡의 조각'을 100% 확률로 얻을 수 있습니다.



* 참고 사항
- 흑룡의 사절 NPC는 티르코네일/던바튼/타라/탈틴/이멘마하와
스키점프/OX퀴즈/비밀의 야시장/흑룡에게 소원을 이벤트 지역에서 만나실 수 있습니다.
- 흑룡의 사절 NPC와 대화하시면, 각 이벤트 지역으로 이동할 수 있는 '노란 이벤트 날개'를 받으실 수 있으며
해당 아이템은 최대 1개만 보유할 수 있습니다.
- 노란 이벤트 날개는 에린 시간으로 하루에 1번만 받을 수 있으며, 유효시간이 존재합니다.
- 선물 상자에서 획득 할 수 있는 세트 아이템은, 각각의 아이템으로 획득되며, 일부 거래가 불가능합니다.
- 흑룡의 선물 상자는 '흑룡에게 소원을' 이벤트에서 획득 가능하며,
다른 선물 상자보다 특별한 아이템을 획득할 확률이 조금 높습니다.

2. 흑룡에게 소원을 이벤트

각각의 선물 상자에서 획득한 '흑룡의 조각'을 '흑룡의 사절단 NPC'에게 바쳐보세요.
동일한 서버 내 유저들이 힘을 모아 '흑룡의 조각'을 일정 갯수 이상 모으면,
무유 사막 새문양 근처에 흑룡과 흑룡의 현신이 30분 동안 소환됩니다.

'흑룡의 현신'에게 소원을 빌면, 흑룡의 소원 선물 상자 혹은
아래의 아이템을 포함한 게임에 필요한 아이템 1가지를 받을 수 있습니다.



* 참고 사항
- 흑룡의 조각이 일정 개수 이상 누적되면, 흑룡과 흑룡의 현신이 소환되지만
소원 아이템은 현실 시간으로 하루에 1번만 받으 수 있습니다.
- 흑룡의 기운 아이템은 보유 중인 아이스 드래곤 중 하나의 색상을 검정색으로 변경할 수 있으며
변경된 아이스 드래곤의 색상은 되돌릴 수 없습니다.
- 불안정한 아이스 드래곤의 알 아이템을 사용하면, 일정 확률로 아이스 드래곤을 생성할 수 있는
'아이스 드래곤의 알' 아이템을 획득할 수 있습니다.

3. 1월 23일 설날의 특별한 혜택

- 1월 23일 접속만 해도 특별한 타이틀을 획득할 수 있습니다.
'흑룡의 기운을 담은' 타이틀은 접두 타이틀로, 다른 타이틀과 함께 사용하실 수 있습니다.

- 1월 23일 단 하루!!
전투 경험치, 교역 보상 2배와 함께, 대장간 수리 성공 100% 효과를 누리실 수 있습니다.

* 참고 사항
- 1월 22일부터 접속 중인 분들은, 23일에 새로 접속하셔야 '흑룡의 기운을 담은' 타이틀을 획득할 수 있습니다.

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

마비노기에서 준비한 다양한 이벤트와 함께
활기차고 힘찬 새해 맞으시기 바랍니다.

감사합니다.

[이벤트 페이지 보러가기]
저작자 표시
Trackback 0 : Comment 0

csrf

php 2012/01/18 22:12

 http://www.securityplus.or.kr/xe/?mid=textyle&category=18992&vid=bangrip1&document_srl=20993 




CSRF 대응에 대한 고민

이번 쓰레드 주제는 CSRF 입니다.


CSRF 는 Cross Site Request Forgery 의 약자로서 XSS 를 이용한 요청 위조를 의미합니다.

CSRF는 OWASP에서 XSS와는 또다른 하나의 항목으로 분류되고 있으며 

외국에서는 이미 많이 연구가 되어있고, 문서도 많은 반면에
우리나라에서는 XSS의 아류? 정도로 분류하고 있는 것 같습니다.

대응을 예기하기에 앞서 일단 어떤 취약점인지 간단히 알고 가겠습니다.

 

웹은 페이지 단위로 동작합니다.
login.asp insert.asp delete.asp write.asp upload.asp 등등 각각의 페이지마다 역할이 정해져 있습니다.

 

만일 인터넷 뱅킹 웹에서 계좌이체를 처리하는 iche.asp 라는 페이지가 있고
송신 계좌, 이체금액이 파라메터로 처리되어 아래와 같이 페이지가 동작한다고 가정한다면
 "http://www.xxxbank.com/iche.asp?accountnum=1111111111&money=50000"

공격자는 자신의 계좌로 계좌이체를 하는 스크립트를 뱅킹사이트 게시판에 삽입하고
누군가가 게시판을 읽기를 기다리면 됩니다.
아래와 같은 iframe 태그를 게시판에 삽입하면 되겠네요..
<iframe src="http://www.xxxbank.com/iche.asp?accountnum=1111111111&money=50000 width=0 height=0></iframe>

 

만일 A라는 사람이 게시판을 읽게되고 공격자가 삽입한 스크립트가 실행된다면
A는 해커에게 자신도 모르게 50000만원을 이체하게 됩니다.

즉 불특정 다수를 대상으로 중요 행위를 하는 Action을 강요함으로서
특정 사용자를 해킹할 수 있는 것입니다.

 

위와같은 경우는 단순히 개념 이해를 위해 예를 든 것이고
실제 국내 환경에서 가장 대표적이 CASE는 싸이월드의 방문자 추적기 입니다.

 

원리는 굉장히 단순합니다.
비공개 게시판을 하나 생성하고 성성된 게시판에 글을 하나 쓰게하는 스크립트를 삽입합니다.
싸이에 방문한 사람은 자신도 모르게 게시판에 글을 남기게 될 것이니 게시판에 쓰여진 사용자를 확인한다면 누가 왔다갔는지 알 수 있는 것이죠.

 

위에서 보듯이 CSRF는 단순 XSS 보다 훨씬 큰 문제점을 일으킬 수 있습니다.
왜냐하면 첫번째는 사이트의 비지니스 로직 취약점을 파고들기 때문에 피해 발생시 금전적이 손해로 직결될 수 있으며
두번째는 불특정 다수를 공격 대상으로 하고 있기 때문에 피해 범위가 예측할 수 없다는 점입니다.

 

최근에는 제로보드에서 csrf 취약점이 발견되어 긴급 패치되었는데 
악의적인 스크립트를 삽입하여 관리자에게 쪽지를 보내고

관리자가 쪽지를 읽을때 스크립트가 실행되어  특정 사용자에게 관리자 권한을 부여하는 취약점이었습니다.

이것은 CSRF가 다양한 방법으로도 응용될 수 있다는 것을 알 수 있습니다.

 

참고로 아래는 이베이에서 csrf 취약점이 발견되었다는 기사입니다.
ebay :
http://www.eweek.com/c/a/Security/Researcher-Uncovers-eBay-Security-Vulnerabilities-684970/

 

다음에는 CSRF에 대한 실제 대응방안에 대해서 알아보겠습니다.

 







이제  CSRF에 대한 대응에 대해서 논해 보겠습니다.

CSRF 공격이 성립하려면 2가지 조건이 필요합니다.

첫번째는 사이트에서 계좌이체, 관리자 권한 부여, 게시판 글작성 등등 
중요한 Action을 하는 페이지가 존재해야 하는 것이고 
두번째는 사이트에서 인증에 대한 처리를 쿠키로만 하고 있어야 합니다.

 

그렇다면 스크립트 삽입이 가능한 XSS 취약점은??? 이라는 의문을 가질 수 있는데
XSS 취약점이 존재한다면 CSRF공격이 성공하는데 충분조건이지 필수 조건은 아닙니다.

XSS 취약점이 존재하지 않더라도 스크립트를 실행시킬 수 있기 때문입니다.

예를 들어 악성 메일을 통해서도 CSRF를 실행할 수 있습니다.
먼저 로그인 버튼을 삽입하여 로그인을 유도하고 

아래에 이벤트 참가 등으로 가장한 버튼(실제로는 계좌에체 Action을 수행)을 삽입하여 차례로 글릭하도록 유도하면 
이메일을 발송을 통해 공격을 성공 시킬 수 있기 때문입니다.

즉 꼭 해당 사이트에 XSS 취약점이 존재하지 않아도 되는 것이죠.. 

첫번째 필수 조건인 중요한 Action이 사이트에 존재 해야 한다는 것은 당연한 예기 이기에 넘어가고
두번째 필수 조건인 쿠키로만 인증관리를 해야 한다는 것에 대해서 설명하도록 하겠습니다.

 

CSRF 공격이 반드시 성공을 하려면 사용자가 로그인한 상태 이어야 합니다.
즉 계좌이체를 하는 스크립트를 만들었더라도 스크립트가 실행될때
어떠한 사용자라는 인증 정보가 서버에 같이 송신 되어야 하는 것이죠..

 

GET 이나 POST 로 전송되는 파라메터는 공격자가 얼마든지 분석해서 알아낼수 있지만
사용자를 구분하는 인증값(일반적으로 쿠키에 암호화 되어 저장되는 쿠키값)은 
공격자가 스니핑을 하지 않는 이상 알아낼 수가 없습니다.

 

그런데 쿠키값은 서버를 호출할때 브라우저가 알아서 HTTP 헤더에 붙여 보내줍니다.
따라서 공격자는 브라우저가 알아서 쿠키를 서버로 전송시켜 주기 때문에 쿠키값에 대한 고민을 안해도 되는 것이죠..

 

만일 서버에서 쿠키 이외의 다른 파라메터 값으로 추가 인증을 처리한다면
그리고 그 값이 매번 바뀌는 ONE TIME 값이라면...
CSRF가 성공하기는 굉장히 어려울 것입니다.

 

예를들어 중요 Action을 처리할때 OTP, 캅챠, 공인인증서, 보안카드 같은 추가 인증 수단을 사용한다면
거의 공격은 불가능 합니다.

인증값을 알아내는것도 힘들 뿐더러 사용자 마다 매번 인증값이 바뀔 테니까요!!

 

즉 CSRF에 대응하는데 가장 효과적인 방법은 
쿠키가 아닌 다른 형태의 매번 바뀌는 인증값을 사용하는 것입니다.

 

캅챠 같은 것은 사용자가 매번 입력을 별도로 해야 하는 불편함이 있기 때문에
원타임 토큰을 사용하는 것이 가장 일반적인 방법입니다.

 

OWASP 의 CSRF 항목을 보면 이내용이 자세히 나와 있습니다.
http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet

 

이렇게 인증상의 문제점을 해결하는 것이 첫번째이고
두번째가 가능하다면 XSS 스크립트가 실행되지 않게 막는 것이죠..

XSS 취약점이 있다면 아무래도 쉽게 CSRF를 실행할 수 있기 때문에
XSS 가 동작하지 않도록 하는것 또한 중요합니다.

 

다시한번 강조하지만 인증상의 문제를 해결하면 CSRF를 해결했다고 말할 수 있지만
XSS를 막았다고 해서 CSRF를 막았다고는 할 수 없습니다.
XSS와는 반드시 구분해야할 개념입니다.

 

마지막으로 IPS나 웹방화벽을 활용할 수는 없을까?

CSRF 스크립트는 정상적인 HTML 스크립트 입니다.
그렇기 때문에 보안 솔루션으로는 방어할 수가 없습니다.

 

안전한 웹 어플리케이션 개발만이 살길입니다.~~

일일이 사이트에서 행해지는 중요 Action의 로직을 파악하고 분석하여 개별 건으로 대응할 수 밖에 없습니다.//
















 

저작자 표시
Trackback 0 : Comment 0

밀수업자

마비노기 내꺼 2012/01/17 23:59


저작자 표시
Trackback 0 : Comment 0

comet

php 2012/01/13 11:48

좀 예전에 작성해 놓았던 건데 걍 정리 하는 차원에서 맛보기 들어 갑니다.
아래 기술하는 내용은 XMLHttpRequest polling 방식 입니다.
아주 예전에 제가 쓰던 방식은 hidden iframe 을 이용한 remote scripting 이였는데 뭐.. 세상은 날로 좋아지고 있으니.. ㅎㅎ
관련 글 WebSocket 도 참고하세요.
- http://jjeong.tistory.com/485

[참고링크]
- http://en.wikipedia.org/wiki/Comet_(programming)
- http://www.google.co.kr/search?q=reverse+ajax


[Server]

// server.html

<?php

header("Cache-Control: no-cache, must-revalidate");

header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

header('Content-Type: multipart/x-mixed-replace; Charset=utf-8');


$filename = 'comet.txt';


$currentTime = filemtime($filename);

$inputTime = filter_input(INPUT_GET, 'inputTime', FILTER_SANITIZE_STRIPPED);


clearstatcache();


while ( $inputTime < $currentTime ) {

$inputTime = $currentTime;

echo $currentTime;

flush();

usleep(10000);

}

?>


[Client]

// client.html

<!DOCTYPE html>

<html>

<head>

<title>XMLHttpRequest</title>

<script type="text/javascript">

//<![CDATA[

var XHR = {

conn : null,

request : {

url : '',

method : 'GET',

data : '',

async : true

},

header : {

key : [],

value : {}

},

data : {

key : [],

value : {}

},

response : {

type : "XML"

},


createConnection : function() {

if (typeof window.XMLHttpRequest) {

this.conn = new XMLHttpRequest();

} else if (typeof window.ActiveXObject) {

this.conn = new ActiveXObject("Microsoft.XMLHTTP");

}


return this.conn;

},


createRequestData : function() {

var size = this.data.key.length;


for ( var i = 0; i < size; i++) {

this.request.data += this.data.key[i] + '='

+ this.data.value[this.data.key[i]] + '&';

}


this.request.data = this.request.data.substr(0,

this.request.data.length - 1);


return this.request.data;

},


createRequestHeader : function() {

var size = this.header.key.length;


for ( var i = 0; i < size; i++) {

this.conn.setRequestHeader(this.header.key[i],

this.header.value[this.header.key[i]]);

}

},


open : function() {

var requestUrl;


if (this.request.method == 'GET') {

requestUrl = this.request.url + '?' + this.request.data;

} else {

requestUrl = this.request.url;

}


this.conn.open(this.request.method, requestUrl, this.request.async);

},


send : function() {

if (this.request.method == 'GET') {

this.conn.send();

} else {

this.conn.send(this.request.data);

}

}

}




XHR.request.url = "http://192.168.1.1/comet/server.html";

XHR.request.method = "GET"; // "POST";

XHR.header.key = ["Content-Type"];

XHR.header.value = {

"Content-Type":"application/x-www-form-urlencoded"

};

XHR.data.key = ["id", "s", "ts", "inputTime"];

XHR.data.value = {

"id":12345678,

"s":"320x48",

"ts": Math.floor(new Date().getTime()/1000),

"inputTime":0

};


function xhrRequest() {

XHR.createConnection();

XHR.createRequestData();

XHR.conn.onreadystatechange = function () {

switch ( XHR.conn.readyState ) {

case 0 : // XHR.conn.UNSENT :

break;

case 1 : // XHR.conn.OPENED :

break;

case 2 : // XHR.conn.HEADERS_RECEIVED :

break;

case 3 : // XHR.conn.LOADING :

break;

case 4 : // XHR.conn.DONE :

doReadyStateChange();

break;

}


/*

별도로 수행해야 하는 함수 작성 필요

*/

function doReadyStateChange() {

if ( XHR.conn.status >= 200 && XHR.conn.status < 300 ) {

testConsole(XHR.conn.responseText);

XHR.data.value.inputTime = XHR.conn.responseText;

} else if ( XHR.conn.status == 404 ) {

alert('Not Found.');

} else {

alert(XHR.conn.status);

}

}

};


XHR.open();

XHR.createRequestHeader();

XHR.send();

}


function testConsole (log) {

var console = document.getElementById("console");


console.innerHTML = log + '<br>' + console.innerHTML;

}


window.setInterval("xhrRequest();", 5000);

//]]>

</script>

</head>

<body>

<div id="console" style="width:800px; height:400px"></div>

</body>

</html>



[Content&Message File]
- comet.txt
- 이 파일은 Client 로 전달한 content 나 message 등을 넣어 놓으면 server.html 에서 while loop 내 file_get_contents 함수를 통해서 Data 를 읽고 Client 로 전달해 주면 됨.


[간단설명]
- Client 에서 주기적으로 Server 에 Request 를 보냅니다.
- Server 에서는 comet.txt 파일의수정 시간을 검사를 합니다.
- 전달할 메시지가 추가 되었다면 file의 수정된 시간이 크기 때문에 comet.txt 파일의 Content 를 읽어서 Client 로 전달을 합니다.
- Async 방식은 잘 아실테니 설명 생략하구요.


※ 작성된 코드는 아주 옛날에 작성된것으로 ㅋ 초간단 버전 입니다. - 태클금지 -
저작자 표시
Trackback 0 : Comment 0

펄서

AnythingElse 2012/01/12 00:32


저작자 표시
Trackback 0 : Comment 0

RadRails

Ruby 2012/01/11 21:37

Ruby on Rails가 최고의 시기를 맞고 있다. 개발자들은 더욱더 접근성 있는 Rails를 만드는 통합 개발 환경을 필요로 하고 있다. Eclipse 기반 환경인 RadRails는 많은 개발자들의 필요를 채우고 있다.

이 글에서 RadRails IDE를 소개한다. 여러분이 Ruby on Rails로 웹 애플리케이션을 개발하는 방법을 알고 있다는 전제로, 루비 또는 Rails 코드를 설명하는 대신 IDE 자체에만 초점을 맞추기로 하겠다.

RadRails 다운로드와 설치

Ruby on Rails: 우리가 주목해야 하는 이유 (원문 2006년 9월 기준)

유행어는 왔다가 사라진다. 자바도 PHP도, XML도 그랬다. 올해는 Ajax와 Ruby on Rails가 유행어이다. 2006년 O'Reilly의 Ruby on Rails: Up and Running (Bruce Tate와 Curts Hibbs)에서는 Rails가 지난 10년 동안 가장 중요한 오픈 소스 프로젝트가 될 것이라고 주장하고 있다. 왜 저자들은 그런 말을 했을까?
  • "2006년 12월까지, 여러분은 JSF, Spring, Hibernate 같은 자바의 대표적인 프레임웍 보다는 Rails에 관한 책을 더 많이 보게 될 것이다.
  • "Rails 프레임웍은 2006년 5월 현재, 500,000회 이상의 다운로드를 기록하고 있다. 이러한 통계는 어떤 언어의 가장 대표적인 오픈 소스 프레임웍과 견줄만 하다.
  • "Rails 커뮤니티 메일링 리스트는 하루에 수 백 개의 공지를 받는데, 다른 언어의 가장 대표적인 웹 개발 프레임웍의 경우 수십 개에 불과하다.
  • "Rails 프레임웍은 Ruby 프로그래밍 언어 사용을 촉진시켰다.
  • "Rails 유행어는 다른 프로그래밍 언어들에 초점을 맞추는 포털에 대한 뜨거운 논쟁을 불러 일으키고 있다. 특히, 자바 커뮤니티는 Rails 플랫폼을 심각하게 고려 중이다.

여러분은 Ruby on Rails에 편승하고 싶지만, IDE가 주는 안락함을 포기할 준비가 되지 않았다. 아니면, 잠시 동안 Rails를 사용하다가 이제는 과거 에디터로 다시 돌아가기 원하고 있을지도 모른다. 어떻게 하다가 RadRails 세계에 오게 되었는지 모르지만, 좋은 소식은 라Rails는 설치와 사용이 쉽다는 것이다. 이 섹션에서는 설치 방법을 설명하고, 나머지 섹션에서는 RadRails 사용법을 설명하겠다.

RadRails는 많은 조건이 필요치 않다. Microsoft® Windows®, Linux®, Mac OS X 시스템에서 Ruby V1.8.4, Rails V1.1 또는 이후 버전, Java™ V1.4 또는 이후 버전으로 실행된다.

여러분의 시스템이 이러한 요구 사항에 맞는다면, 프로젝트의 웹 사이트(참고자료)에서 RadRails를 다운로드 하라. Eclipse 플러그인 링크를 찾아서 기존 Eclipse와 소스 코드에서 RadRails를 실행할 수 있다. 주:이러한 배포판들을 실행하는 방법은 이 글에서는 설명하지 않겠다.

알맞은 zip 파일을 다운로드하면, radrails 실행 파일을 추출하여 실행한다. $PATH를 조정하여 RadRails가 자바를 찾을 수 있도록 한다.

RadRails 시작 및 사용하기

RadRails를 설치했다면, 이제는 사용 방법에 대해 알아보자. 이 섹션에서는 RadRails 애플리케이션과 프로젝트에서 실행하는 방법을 살펴볼 것이다. 새로운 프로젝트를 시작하고 기존 프로젝트를 반입하는 등 프로젝트에서 실행할 수 있는 여러 방법들이 있다.

어떤 경로를 선택했든지 간에, 시작은 가장 중요한 부분이다. RadRails를 배우는 최상의 방법은 뛰어들어 사용해 보는 것이다. 하지만 뛰어들기 전에 몇 가지를 살펴보도록 하자.

RadRails 애플리케이션

우리의 여행은 하나의 프로젝트를 포함하고 있는 RadRails 애플리케이션부터 시작한다. 프로젝트를 추가하는 방법을 설명하겠다.

그림 1은 RadRails 애플리케이션 모습이다. 실제로는, 애플리케이션의 Rails "퍼스펙티브"를 보여주고 있지만, 걱정하지 말라. 이것을 여섯 개의 영역으로 나뉜 창으로 생각할 수 잇다. Menu bar, Tool bar, Navigator와 Test::Unit pane, Editor pane, Outline pane, External Tools pane.


그림 1. RadRails 애플리케이션
RadRails 애플리케이션 

Menu bar
Menu bar는 애플리케이션 윈도우의 맨 위에 있다. 여느 다른 애플리케이션의 메New 바와 같은 역할을 한다. 한 가지 중요한 메New 아이템은 Window > Preferences인데, 여기에서 Ruby 인터프리터를 설정 또는 선택할 수 있다. 이렇게 하지 않으면, 많은 스크립트를 실행해도, Rails는 실패할 것이다. (예, 단위 테스트 스크립트)
Tool bar
Tool bar는 Menu bar 바로 밑에 있다. 다른 툴바와 비슷한 역할을 한다. 가장 왼쪽에 있는 버튼은 New 버튼이다.
Navigator and Test::Unit pane
Navigator와 Test::Unit pane은 애플리케이션 윈도우의 왼편을 차지한다. 프로젝트의 네비게이션이 간략히 설명된다. Test::Unit 부분에서는 단위 테스팅 상태를 모니터링 할 수 있다.
Editor pane
Editor pane은 애플리케이션 윈도우의 중앙에 있다. 이 에디터는 신택스 컬러링(coloring), 인덴팅(indenting), 기타 툴을 제공하는 좋은 위젯이다. 에디터를 오른쪽 클릭하면 디버깅 옵션, 파일에서 코드를 실행하는 방식, 선택된 영역에 주석 달기/해제 같은 많은 툴을 가진 메New가 나타난다.
Outline pane
Outline pane은 애플리케이션 윈도우의 오른편에 있다. 현재 편집되고 있는 소스 파일의 아웃라인 뷰를 보여준다. 이 뷰에서는 파일 안에 있는 메소드와 클래스를 빠르게 검색할 수 있다.
External Tools pane
External Tools pane은 애플리케이션 윈도우의 우측 아래에 있다. 웹 서버 컨트롤, 제너레이터, RegExp 툴, 기타 툴로의 액세스를 제공한다.

프로젝트 네비게이션

Navigation pane에는 워크스페이스에 존재하는 프로젝트들의 계층이 있다. 프로젝트를 클릭하면 프로젝트를 구성하고 있는 디렉토리와 파일들이 나타난다. (그림 2는 Navigation pane에서 확장된 프로젝트가 있는 RadRails 윈도우를 보여주고 있다.)


그림 2. 확장된 프로젝트
확장된 프로젝트 

프로젝트가 하이라이팅 되어있다면, RadRails의 활성 프로젝트인 것이다. 제너레이터를 실행할 수 있고, 웹 서버를 시작할 수 있다.

파일을 더블 클릭하면 Editor Pane에 있는 에디터에서 파일이 열린다. 여러 파일들을 열면 탭에 여러 파일들이 열린다. 그림 3은 Editor Pane에 네 개의 파일들이 열린 모습이다.


그림 3. 탭의 여러 파일들 
탭의 여러 파일들  

새로운 프로젝트 시작하기

새로운 프로젝트를 시작하는 것은 쉽다. Tool bar의 New를 클릭하거나, Menu bar에서 File > New를 선택한다. 두 경우 모두 새로운 다이얼로그 박스가 생긴다. 이 박스에서는 여러분이 시작한 프로젝트 유형에 맞는 마법사를 선택할 수 있다. 옵션에는 웹 서버 구성, SQL 파일, Ruby 프로젝트와 클래스, Ruby 프로젝트(이 글에서 설명할 유일한 옵션)가 포함된다.

Rails > Rails Project를 선택하고 Next를 클릭한다. 새로운 스크린이 뜨고, 여기에서 프로젝트 이름을 입력한다. 다른 옵션에 대한 기본 값들은 실험용으로는 괜찮지만, 나중에 조정해야 한다.

  • 기본 위치를 사용한다. (워크스페이스 디렉토리에서 프로젝트와 같은 이름을 가진 디렉토리로 설정한다.)
  • Rails 애플리케이션 골격을 만든다. (true로 설정한다.)
  • WEBrick 서버를 만든다. (true로 설정한다.)
  • 복수 테이블을 실행 불가로 한다. (false로 설정한다.)

수정한 후에, Finish를 클릭한다. 이렇게 하면 프로젝트가 생성되고, 이것은 RadRails 인터페이스의 왼편에 있는 Rails Navigator pane에 보이게 된다.

기존 프로젝트 반입하기

Rails 프로젝트가 이미 있고 새롭게 시작하는 것 보다는 이것을 사용하고 싶다면 반입하는 간단한 방법이 있다. Tool bar의 New를 클릭하거나 메뉴 바에서 File > New를 선택하여 시작한다. 마치 새로운 프로젝트를 시작하는 것과 같다. 다이얼로그 박스에서 Rails > Rails Project를 선택하고 Next를 클릭한다. 프로젝트 이름을 정한 다음에 Generate Rails application skeleton 체크 박스를 클릭하여 옵션을 끈다. 그런 다음, Finish를 클릭한다.

프로젝트가 Rails Navigator Pane에 나타나면 이것을 오른쪽 클릭하여 옵션들의 메뉴를 가져올 수 있다. 이 메뉴에서 Import를 선택하면 Import 다이얼로그 박스가 뜬다. General > File System을 선택하고 Next를 클릭한다. 이렇게 하면 반입 할 소스를 선택할 수 있다. 소스를 선택하는 것 외에도 반입할 폴더용 옵션도 있고(기본적으로 프로젝트의 워크스페이스가 된다.), 기존 파일들을 겹쳐쓰기 할지, 필요한 파일이나 폴더를 생성할 것인지(기본은 false이다.), 여러분이 선택한 폴더로만 반입을 제한할 것인지(기본은 true이다.)에 대한 옵션이 있다.

선택된 디렉토리가 파일 검색 윈도우에 나타나면 이것을 선택하고(무엇이든 선택할 때까지 에러 메시지 "There are no resources currently selected for import"가 다이얼로그 박스의 상단에 나타난다.) Finish를 클릭하여 파일을 반입한다. 중복이 있다면 추가 다이얼로그 박스가 나타나고, 원래 버전을 반입된 버전으로 겹쳐 쓰기 할 것인지 여부를 묻게 된다.

RadRails에서 애플리케이션 구현하기

기반 데이터베이스를 생성하는 것으로 프로젝트를 시작한다. 가장 좋은 방법은 명령행이다. 제너레이터를 사용하여 마이그레이션 스크립트를 만들고, 스크립트를 편집한다. RadRails에서 같은 패턴을 따라간다.

Navigation Pane에서 프로젝트(또는 여기에 속해있는 리소스들 중 하나)를 클릭하여 활성 프로젝트를 선택한다. 그런 다음 External Tools Pane에서 Generators 탭을 클릭하여 Generator 툴을 가져온다. (그림 4) Pane의 좌측 상단에 있는 풀다운 메New에서 Migration 제너레이터를 선택한다. 제너레이터를 실행하려면 우측 상단 코너에 있는 Go를 클릭한다.


그림 4. Generator 툴
Generator 툴 

Go를 클릭하면 Editor Pane에 터미널 위젯이 열리고 이 안에 있는 제너레이터 스크립트가 실행되면서, 명령어의 결과를 보여준다. Navigator Pane에 있는 프로젝트 트리의 db > migrate 브랜치를 확장하고 파일 이름을 클릭하여 Editor Pane에 있는 에디터에서 파일을 연다. (그림 5) 여러분의 필요를 만족시킬 만한 마이그레이션 스크립트를 편집했다면, Rake에서 이를 실행할 수 있고 애플리케이션 작동을 시작할 수 있다.


그림 5. 마이그레이션 편집하기 
마이그레이션 편집하기  

다시 제너레이터로 가서 거기서부터 실행한다. 이번에는, Scaffold 제너레이터를 선택하고 Options 필드(풀다운 메뉴와 Go 버튼 중간에 있는 필드)에 Example Admin이라는 이름을 정한다. Go를 클릭하여 터미널 위젯에서 제너레이터를 실행한다.

이 부분에서, 웹 서버를 실행할 수 있는 애플리케이션이 생기고 모든 것이 작동하고 있는 것을 볼 수 있다. External Tools Pane에 있는 Servers 탭을 클릭하고, Pane에 나타난 리스트에서 해당 서버를 클릭하고 Start를 클릭한다. (녹색 화살표. External Tools Pane의 상단에 있는 작은 툴바의 왼쪽에서 두 번째.) 이렇게 하면 웹 서버와 콘솔이 시작된다. External Tools Pane의 Console 탭을 클릭하여 이 콘솔에 액세스 한다. (그림 6)


그림 6. Console 탭
Console 탭 

생성된 스카폴드에는 단위 테스트가 포함되기 때문에 이를 실행할 수 있다. 여러분은 일찍이 Ruby 인터프리터를 설정한바 있다. 기본 테스트는 통과하겠지만(true만 true로 선언한다.), 오류 작동을 실행하여 어떤 일이 발생하는지 볼 수 있다. Navigator Pane에서 choosing Test > Unit > example_test.rb를 선택하여 단위 테스트 스크립트를 편집하고, test_truth 메소드에 있는 선언을 수정하여assert false를 읽는다. 이제 이것이 실패할 것이라는 것을 알 수 있다.

테스트를 실행하려면, Tool bar에 있는 Run Unit Tests를 클릭한다. (왼쪽에서 세 번째 버튼 그룹에서 좌측에서 세 번째 버튼) 테스트가 실패하기 때문에, Navigation Pane의 Test::Unit 탭의 위쪽 가까이에 있는 녹색 바가 빨간색으로 변한다. Pane의 중앙 필드의 Failures 탭에 오류 리스트가 나타나고(이 경우, 단 하나이다.) 선택된 오류에 대한 스택 트레이스가 Pane의 Failure Trace 필드에 나타난다. (여러분의 관찰력이 뛰어나다면, 탭의 제목 공간에서는 단위 테스트용 런타임을 보여준다는 것도 알 수 있을 것이다.)

Test::Unit Pane의 중간 필드의 Hierarchy 탭을 클릭하여 현재 실행되는 것 중 오류에 대한 트리 뷰를 본다. 이 탭에서 오류(또는 Failures 탭)를 선택하면 Test::Unit Pane에 있는 다른 모든 탭들에서 같은 오류를 선택하게 된다.

Tool bar의 해당 버튼(또는 Run All Tests 버튼을 가진 테스트)을 클릭하여 통합 테스트 또는 함수 테스트를 실행한다. 이렇게 하면, 테스트 슈트가 실행되고 Test::Unit Pane을 통해 결과에 액세스 할 수 있다.

맺음말

이 글에서는 Ruby on Rails용 RadRails IDE를 설명했다. RadRails의 설치 방법, 애플리케이션 윈도우의 구조와 사용법, 애플리케이션 개발 과정을 살펴보았다. 다음 단계는 여러분에게 달려있다. RadRails를 다운로드 하여 설치하고, 이 글에서 설명한 단계들을 다 완료했다면 여러분의 개발 환경에 맞게 RadRails를 사용 할 수 있을 것이다.

기사의 원문보기


참고자료

교육

제품 및 기술 얻기

토론

저작자 표시
Trackback 0 : Comment 0

레드레일즈

Ruby 2012/01/11 21:36

태그 : 레드레일즈

RadRails Tips



가장 먼저 RadRails 홈에서 제공하는[스크린캐스트](http://download.radrails.org.nyud.net:8090/video/RadRailsScreencast.mov)를 보면서 eclipse 워크벤치의 기능에 대해서 습득하기 바란다.

### 빈 프로젝트만 만들어질 때

윈도우 환경에서 [RadRails](http://www.radrails.org) 는[InstantRails](http://instantrails.rubyforge.org) 배포판을 필요로 한다. 따라서 처음설치시 ruby 와 rails 의 PATH 를 설정해 줄 필요가 있다. window->preferences 에서 Ruby와 Rails 의 옵션을 아래와 같이 수정할 것.

| 옵션 | 설정 |
|-|-|
| ruby > installed interpreters | name=ruby, path=c:\instantrails\ruby\bin\ruby.exe |
| ruby > RI/RDoc | ri=c:\instantrails\ruby\bin\ri, rdoc=c:\instantrails\ruby\bin\rdoc |
| rails > rails installs | name=rails, path=c:\instantrails\ruby |

맥OSX 에서 이와 같은 문제를 만났다면 [이 문서에 따라서 루비와 GEM을 재설치](http://hivelogic.com/articles/2005/12/01/ruby_rails_lighttpd_mysql_tiger)한후, 아래와 같이 설정해보기 바란다.

| 옵션 | 설정 |
|-|-|
| ruby > installed interpreters | name=ruby, path=/usr/local/bin/ruby |
| ruby > RI/RDoc | ri=/usr/local/bin/ri, rdoc=/usr/local/bin/rdoc |
| rails > rails installs | name=rails, path=/usr/local/ |

## Before updating scaffolding from new DB schema, try creating a table for your model (XXX)

scaffold를 생성할 때 위와 같은 에러 메시지가 뜰 때가 있다. InstantRails에 함께 따라온 mysql의 인코딩과 테이블인코딩의 차이 때문에 생기는 문제인 듯. 데이터베이스 전역 charset과 테이블의 charset을 일치시키면 해결된다.UTF8을 추천한다.

## WEBrick Server 추가하기

Server View 에서 기존에존재하는 서버를 삭제할 경우 Rails Navigator 에서 오른쪽 클릭을 한 후 New - WEBrick Server 를이용해서 새로 추가할 수 있다. (이걸 몰라서 계속 재설치하고 삽질했던 나 자신이 부끄럽다. 알고보니 기본적으로 배포되는RadRails 문서에 잘 나와 있었다.)

see also:

* [Eclipse 팁](http://reiot.com/archives/312)


출처 : http://reiot.com/2006/07/22/radrails-tips/#comment-262
저작자 표시
Trackback 0 : Comment 0

루비 온 레일스 설치하기

Ruby 2012/01/10 19:10



http://uzooro.tistory.com/2#1-1






루비 온 레일스 설치하기


Contents

  1. Windows에 설치하기
  2. 리눅스에 설치하기
  3. 데비안(우분트)에 설치하기
  4. 설치확인하기

루비온레일스 프레임워크의 모든 설치 과정은 Ruby 설치 , 패키지 관리자인 RubyGems 설치 , Rails 패키지 설치로 이루어집니다.

또한 여러가지 DB를 지원하고 있으며 보통 Mysql을 많이들 사용하며 필요에 따라 선택하여 설치사용하시면 됩니다.



1. WINDOWS에 설치하기

http://rubyforge.org/frs/?group_id=167

위의 경로가서 최신 루비 버전을 다운로드 합니다.


지금은 ruby186-25.exe 가 최신버전이군요. 선택하셔서 다운완료가 되면

일반적 프로그램을 설치하는 것 처럼 기본항목 나두고 next를 계속 하시면 됩니다.


Windows 에서의 인스톨 버전은 RubyGems 항목이 기본설치로 되어 있습니다. 이 프로그램을 활용하여 레일스를 설치 할 수 있습니다.


시작>실행 cmd를 치셔서 명령프롬프트 창을 띄웁니다.

cd \
gem install rails --include-dependencies

커멘드를 치시고 차분히 기다리면 레일스가 자동으로 설치가 됩니다.

(인터넷 연결이 되어 있어야 합니다.)


어느분인지 고맙게도 설치과정을 동영상으로 제작을 하여 주셨더군요. 참고하시면 많은 도움이 될듯합니다.

http://www.saeinsw.co.kr/support/download/RUBY/INSTALL/ruby_install.html



2. 리눅스에 설치하기

루비와 루비잼을 다운로드한 후 압축을 풉니다.

wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
wget http://rubyforge.org/frs/download.php/20585/rubygems-0.9.3.tgz
tar -xvzf ruby-1.8.6.tar.gz
tar -xvzf rubygems-0.9.3.tgz

이젠 root 계정으로 루비를 설치하겠습니다.

cd ruby-1.8.6
./configure
make
make install

다시 경로로 돌아와 루비잼도 아래와 같이 설치합니다.

cd rubygems-0.9.3
ruby setup.rb

이젠 아래의 커멘드로 레일스를 설치할수 있습니다.

gem install rails --include-dependencies

(네트워크 상황이 좋지 않을 때 에러가 자주 나더군요 재시도 하여 에러메세지 뜨지 않으면 성공입니다.)



3. 데비안(우분투)에 설치하기

데비안이나 우분투 리눅스를 사용중이라면, apt-get을 이용해서도 설치할 수 있습니다.

sudo apt-get install ruby irb rdoc

아직 루비잼은 apt-get 연결이 안되어 있군요.

sudo wget http://rubyforge.org/frs/download.php/20585/rubygems-0.9.3.tgz
tar -xvzf rubygems-0.9.3.tgz
cd rubygems-0.9.3
sudo ruby setup.rb

레일스를 설치합니다.

sudo gem install rails --include-dependencies

4. 설치확인하기

마지막으로 레일스 프로젝트를 생성하여 설치 확인을 해보겠습니다.

rails test
cd test
ruby script/server

사용해서 웹서버를 실행합니다. http://localhost:3000 로 접속하셔서

오류없이 테스트 페이지가 나오면 설치 성공 커멘트 창에서 Ctrl+C 를 누르고 웹서버를 중지 하시면 됩니다.

저작자 표시
Trackback 0 : Comment 0

data-x

xhtml & html5 2012/01/10 11:01

<div data-x="63" />
$('div').data('x')

html5 쪽 표준

저작자 표시
Trackback 0 : Comment 0

Ruby Links....

Ruby 2012/01/10 02:56
http://railsforphp.com/reference/strings/printf

http://rubykr.github.com/rails_guides/getting_started.html

http://railsforphp.com/

http://www.javajigi.net/display/RUBY/Home
 

http://api.rubyonrails.org/  

http://lab.wordstory.net/categories/3/posts/18  

http://groups.google.com/group/rubykr  
저작자 표시
Trackback 0 : Comment 0

amfphp

php 2011/12/30 12:11

http://www.silexlabs.org/amfphp/
저작자 표시
Trackback 0 : Comment 0