GUI 툴을 사용하지 않고 Git만 설치해서 사용할 수 있습니다. 하지만 Git은 기본적으로 명령어를 입력하여 사용하므로 텍스트 명령을 입력받을 프롬프트가 필요합니다. 이 프롬프트에 대한 설정인데 위에 설명에 따라 시스템에 대한 안정화 정도가 걱정된다면 Git Bash를 사용하면 됩니다.
위 옵션은 Git을 이용하여 파일 등을 내려받거나 올릴 때 (정확하게는 다운로드 업로드의 개념이 아니지만) 텍스트의 개행문자. 즉, 줄바꿈 문자에 대한 설정입니다. 이에 대해 잘 모른다면 반드시 가장 위의 옵션을 선택하는 것을 권합니다.
설치 Finish
다음 Git의 GUI 툴을 설치해 보겠습니다.
GUI 툴들은 여러가지가 있으며 홈페이지의 다운로드에서 몇 가지들을 보여주고 있습니다.
자신의 OS에 맞는 것 중에 무료인 것과 유료인 것이 있으니 마음에 드는 것을 설치하여 사용하면 됩니다.
이 글에서는 TortoiseGit과 GitHub 두 가지를 툴 설치하여 사용해 보겠습니다. rAthena 팀과 Hercules 팀은 GitHub를 이용하고 있고, 이 전에 TortoiseSVN을 이용하였으므로 이 두가지를 선택하였습니다. 이 외에도 여러가지가 있으니 사용해보는 것도 좋을 것 같습니다.
먼저 GitHub에서 사용할 계정을 생성합니다. (GitHub에서 계정없이 다운받을 수도 있지만 Git을 통해서 버전관리를 받기위해서는 계정을 생성해야 합니다. 그냥 소스의 업데이트 없이 필요한 리비전만 다운받아 사용한다면 계정생성도 Git 설치도 하지 않아도 됩니다.)
먼저 몇몇의 Athena 개발팀의 Athena 소스를 내려 받기위해 SVN이나 Git를 이용합니다.
단순히 웹저장소에 업로드된 특정 버전의 Athena 소스를 내려받아서 이용해도 되지만, 계속 개발되고 있는 Athena를 업데이트하고 이전 버전과 어떤 점이 달라졌는지 그리고 여러 명의 개발자가 하나의 작업을 협업하여 개발할 때 프로젝트 관리에 편의성을 보태기위해 SVN 또는 Git을 이용합니다. 물론 개발자가 아니더라도 공개되어 있는 소스는 SVN과 Git을 통해 다운받을 수 있습니다.
[Athena 개발 그룹 중 rAthena와 Hercules 팀은 Git을 사용하는 것을 권장하고 있습니다.(물론 SVN도 사용하고 있지만)]
따라서 SVN이나 Git을 편리하게 사용할 수 있는 툴을 먼저 설치해보겠습니다.
SVN의 간략한 설명
먼저 SVN은 자유 소프트웨어 버전 관리 시스템으로 원래의 이름은 Subversion입니다. SVN은 시간에 따라 파일과 파일경로를 관리합니다. 파일 트리는 한 곳에 저장되어있는 Repository/. 즉, 레포지토리라는 저장소에 저장되어 있습니다. 개념적으로는 일반 파일 서버와 비슷하지만 파일과 파일경로 등에 적용된 모든 변경사항을 기록하여 관리합니다. 즉, 시간 1에 저장된 정보에 시간 2에 파일 경로와 저장된 정보에 변경 사항이 있을 경우 그 변경 사항만을 저장합니다. 이 변경사항을 시간에 따라 기록하여 관리하므로 이전 시간. 즉, 이전의 버전으로 돌아가기가 쉽고 이전의 버전과 어떠한 점이 달라졌는지 비교하기 쉬워서 소스 코드 관리에 많이 사용합니다.
하지만 Subversion은 명령행 인터페이스(CLI)로 텍스트 터미널을 통해 사용자와 컴퓨터가 상호작용 합니다. 이러한 인터페이스는 초보자들에게 다소 생소하고 어려운 부분이 있기 때문에 운영체재와 사용자가 사용하기 쉽도록 그래픽 사용자 인터페이스(GUI)를 제공해 주는 툴을 사용하는 것이 좋습니다.
SVN에 대한 자세한 정보와 사용법은 직접 찾아보시기 바랍니다.
Git의 간략한 설명
Git 또한 SVN과 비슷한 버전 관리 프로그램입니다. 하지만 SVN과 달리 속도에 중점을 둔 분산형 버전 관리 시스템(DVCS) 입니다. SVN의 경우에는 Repository라는 하나의 저장소를 가지고 있지만 Git의 경우에는 중간에 Local Repository가 존재하여 대체로 Local에서 작업이 이루어지기 때문에 인터넷을 통한 서버 조회 없이 Local에서 조회하므로 속도면에서 굉장히 빠릅니다. 이외에도 Git만 가지고 있는 강력한 장점이 있습니다.
이러한 장점들로 인해 Athena의 여러 개발팀들도 Git과 SVN을 동시에 사용하거나 SVN에서 Git으로 옮겨가는 추세입니다.
(앞에서 언급한 점 외에도 Git의 중요하고 특별한 점이 있지만 자세한 것은 직접 찾아보시기 바랍니다.)
같이 페이지에서 아래로 내려가면 여러나라 언어로 번역된 Language Pack이 있습니다.
한국어 사용이나 다른 나라 언어로 사용하고 싶다면 자신의 OS에 맞는 Language Pack 설치 파일을 같이 다운받습니다.
Language Pack은 TortoiseSVN이 모두 설치된 다음에 설치해야 하므로 먼저 받은 TortoiseSVN 인스톨러를 먼저 실행합니다.
라이센스 동의 후 Next
기본 설치경로 확인 후 Next
Install 클릭
설치 중에는 실행되고 있는 프로그램을 종료해야하는 부분이 있습니다. 첫번째 옵션은 실행중인 프로그램을 종료하고 필요한 설치를 진행하고 종료했던 프로그램을 다시 시작합니다. 두번째 옵션은 실행중인 프로그램을 종료하지는 않지만 컴퓨터의 재부팅이 필요합니다. 필요한 옵션을 설정하여 설치를 마무리 합니다.
기본적인 설치가 끝난 후에는 필요할 시 Language Pack을 다운 받아 설치합니다.
TortoiseSVN 설치 때와 같이 원하는 옵션을 선택하여 설치를 마무리 합니다.
설치가 제대로 되었다면 마우스 우클릭으로 나타나는 메뉴에 다음과 같이 TortoiseSVN 관련 메뉴가 추가된 것을 알 수 있습니다.
Git을 설치하기에 앞서 SVN을 이용하여 Athena를 다운받아 보겠습니다.
먼저 Athena가 저장될 폴더를 미리 생성합니다.
본인에게 맞게 Athena가 저장될 폴더를 생성한 뒤
폴더를 우클릭하여 나오는 메뉴 중 SVN 체크아웃을 선택합니다.
위와 같이 체크아웃에 대한 창이 뜹니다.
이 때 표시된 곳과 같이 저장소 URL을 넣어야 하는데 이 URL이 Athena가 저장되어 있는 곳입니다. 이 저장소 URL은 여러 Athena팀들이 각자의 홈페이지에 게시하고 있으므로 필요한 Athena를 확인하여 받으면 됩니다.
위와 같은 URL을 사용하면 사용한 URL 하위에 있는 모든 파일을 내려받게 됩니다. 위와 같은 경우에는 3개의 폴더를 내려받게 되는데
.svn의 폴더에는 SVN에 관련된 정보가 들어있는 폴더이고 초록색 바탕의 흰색 체크가 되어있는 폴더가 Hercules팀에서 올려놓은 Athena 프로젝트 입니다. 여기서 branches는 원래의 프로젝트에서 소스코드나 구조, 버전 등이 다르거나 테스트 중인 프로젝트 입니다. 폴더의 이름에서도 알 수 있듯이 Trunk(나무 등의 몸통)에서 Branches(가지들)로 파생되어 나온 것입니다.
다시 말해 크게 필요하지 않거나 원하지 않는 폴더까지 다운 받을 수 있게 됩니다. 이 때에는 TortoiseSVN의 저장소 브라우저를 이용하여 원하는 리비전과 저장소를 탐색할 수 있습니다.
원하는 저장소 URL을 적은뒤 확인을 눌러줍니다.
저장소 브라우저의 초기화가 끝난 후 윈도우 탐색기의 형태로 파일을 조회할 수 있습니다.
즉, 다음과 같은 브라우저에서 원하는 파일 또는 폴더를 선택하여 우클릭으로 바로 체크아웃을 받을 수 있습니다.
또한 우측 상단의 리비전:HEAD를 클릭하여 원하는 리비전(일종의 버전)을 선택하여 파일을 조회하고 체크아웃 받을 수 있습니다.
원하는 리비전을 직접 적어넣어 파일을 볼 수도 있지만
아래의 사진처럼 로그보기를 선택하여 각 리비전 별로 업데이트 또는 달라진 점에 대한 코멘트 등에 대해서 자세히 볼수도 있고 여러 키워드를 이용하여 그 동안의 변경된 점들을 알아볼 수도 있습니다.
마지막으로 Athena의 업데이트가 이루어졌을 때 체크아웃 받은 파일도 업데이트하기 위해서는 체크아웃 받은 폴더를 우클릭하여 SVN업데이트를 해주면 간단하게 업데이트를 할 수 있습니다.
-기타
TortoiseSVN을 통해 체크아웃 받은 모든 파일 및 폴더들은 초록색 원에 흰색 체크가 표시됩니다. 하지만 체크아웃이 아닌 개인적으로 추가한 파일이나 폴더는 이러한 표시가 없고 체크아웃이나 SVN업데이트로 소스나 내용이 변경된 파일이 아닌 개인적으로 변경한 파일이나 폴도는 붉은색 원으로 표시가 됩니다. 또한 체크아웃 받은 폴더의 최상위에 있는 .svn 폴더를 삭제하면 TortoiseSVN의 관리를 받지않는 일반적인 파일 및 폴더로 사용할 수 있습니다.
먼저 아래의 글은 본인이 작성하였습니다. 여러 자료를 조사하고 공부하여 개인적인 생각을 정리한 것 입니다.
물론 자료조사가 부족하고 잘못된고 틀린 생각으로 인해 잘못된 정보를 적어놓았을 가능성이 높습니다.
따라서 아래 글에는 실수나 잘못된 정보가 있습니다. 실수와 잘못된 정보에 대해서는 지적으로 수정이 가능합니다.
일방적인 비방은 삼가 주시기 바라며, 지적은 환영합니다.
[Athena란?]
먼저 Athena에는
eAthena, rAthena, kAthena, jAthena, iLRAthena 등이 있습니다. 보시면
아시겠지만 모두 Athena 앞에 접두사(e-, r-, k-, j-,
iLR- 등등)가 붙어서 파생된 것입니다. 그렇다면 Athena에 대해서만 어느 정도 알아도 나머지 것들에 대해서 쉽게 이해할 수 있을 것입니다.
Athena는 MMORPG인
라그나로크 온라인 게임 서버의 에뮬레이션입니다. 정식으로 배포되는 라그나로크 클라이언트에서는 게임 실행
시 정식 서버로 접속이 됩니다. 이 때, 불법으로 수정된
클라이언트를 이용하여 게임에 접속하면 설정된 개인 Athena 서버 접속이 되게 됩니다. 접속된 이 Athena 서버는 정식 서버를 구동하는 사람의 설정과
불법적으로 수정한 라그나로크 온라인 클라이언트에 따라 다양한 라그나로크 온라인의 게임 환경을 제공할 수 있습니다.
[그리고 Athena를 사용하기 전에]
잘 아시겠지만 위와 같이 Athena와 라그나로크 온라인 클라이언트를
이용하여 운영되는 개인서버(Private Sever)는 불법이 됩니다.
단, 서버 에뮬레이터인 Athena에 한해서
편집 및 구동과 운영에 대해서는 법에 저촉되지 않습니다(GNU GPL을 따릅니다.). 이에 반해 라그나로크 온라인
클라이언트에 대해서는 어떠한 변경이나 분해, 변경된 클라이언트의 배포 및 사용, 기타 상업적인 사용 등에 대해서는 불법 해킹이나 저작권 위배 등에 저촉됩니다. 즉, 이러한 위법 행위가 명백할 때는 법적 처벌을 받을 수 있습니다.
우선 위의 내용만 정리하면 Athena는 불법으로 수정된 클라이언트를 이용해 접속할 수 있는 게임 서버
에뮬레이션입니다.
그런데 위의 내용을 종합해보면 이상한 점이 있습니다. Athena는
라그나로크 온라인의 개인 서버(Private Server) 에뮬레이션이며 이에 접속하기 위해서는 불법으로
개조된 클라이언트를 사용해야 합니다. 따라서 이 서버를 이용한 게임은 불법 행위가 됩니다. 단, Athena를 구동하는 것은 합법이며, 수정 및 배포는 GNU GPL을 따르게 됩니다. Athena는 라그나로크 게임 서버 에뮬레이션인데 구동은 합법이지만 클라이언트로 접속하면 불법이 됩니다. 이렇게 보면 클라이언트로 접속해서 게임을 하라고 만든 Athena이고
수정과 사용이 자유롭지만 정작 그 목적에 맞게 사용하기 위해 접속하면 불법이 됩니다.
즉, 이해하기 쉽게 요약하면라그나로크 개인 서버(Private Sever)는 모두 불법입니다. 하지만 게임 서버 에뮬레이션인 Athena에 대한 자료에 국한해서는 GNU GPL을 따릅니다.
앞서 말한 것과 같이 불법으로 수정된 클라이언트를 이용하여 게임 접속을 할 때, 설정된 특정 Athena에 접속하게 됩니다. 이때 Athena는 접속을 시도하는 유저의 정보 등을 이용하여 접속을 허가하고 이 후의 클라이언트 동작에 대해 명령하거나 클라이언트에서 요구하는 정보를 전해줍니다. 그리고 이러한 정보나 동작을 유저가 클라이언트를 통해 보게 됩니다.
[더 자세하고 전문적인 내용은 관련 정보를 모아놓은 포럼과 사이트를 이용하는게 좋습니다.]
즉, 아이템의 정보나 NPC, 몬스터의 정보는 Athena에서 제공되는 데이터에 의해 클라이언트에 전달됩니다. 하지만 클라이언트에서 유저에게 보여지는 그림, 이미지나 이펙트 등은 클라이언트의 소스를 사용하여 보여지게 됩니다.
[이 이상의 내용은 클라이언트와 관련된 내용으로 다루면 안됩니다.]
따라서 Athena는 게임 서버 프로그램으로 볼 수 있습니다. 그렇다면 j-, e-, r-, k-, iLR- 등의 접두사는 왜 붙은 것인지 궁금할 겁니다. 먼저 Athena는 라그나로크 온라인 게임 서버 에뮬레이션 프로젝트로 일본어로써 먼저 시작되었습니다.[위키백과 eAthena 관련 글 참고] 이때, 일본어로 되어있는 Athena를 Japanese Athena, 즉 jAthena라고 부르게 되었고, 이 후에 영어로 번역되고 개발된 English Athena가 eAthena입니다.[eAthena에 대한 자세한 설명은 관렴 포럼사이트나 위키백과 참고] 이와 마찬가지로 kAthena는 Korean Athena를 지칭합니다.[kAthena는 국내 엠펠리움 포럼에서 국내 프로그램 저작권과 상표를 보유하고 있습니다.엠펠리움바로가기] 또한 iLRAthena는 '아이루나'라는 국내 포럼에서 제작한 것으로 한글화 및 다른 Athena에는 없는 기능 등을 독자적으로 추가하여 제작한 것 입니다.
[rAthena란?]
마지막으로 rAthena는 라그나로크 리뉴얼(Renewal) 후 이를 반영하여 업데이트한 Athena 입니다. eAthena는 리뉴얼 후의 내용은 업데이트하지 않고, eAthena의 문제점이나 개선 사항만을 간간히 업데이트하는 것으로 알고 있습니다. 요즘의 거의 모든 Athena(eAthena를 제외한 Athena들)는 English Renewal Athena. 즉, rAthena를 기반으로 하고 있습니다. rAthena는 현재까지 꾸준히 업데이트와 개발을 하고 있는 상태입니다.