Unreal에서 협업을 할 때 Perforce를 사용하면 편하다.
팀원 한 명의 컴퓨터에서 Perforce 서버를 구동시키는 것은 불편하기 때문에, 보통은 AWS에 서버를 두고 작업하게 된다. AWS에서 Perforce 서버를 어떻게 구동하고, 사용하는지 알아보자.
프로그램 설치
먼저 필요한 프로그램들을 설치해야 한다.
아래에 적혀있는 프로그램들을 모두 다운받자.
Putty
윈도우에서 리눅스나 유닉스 계열의 서버로 원격 접속하기 위해 사용하는 프로그램이다.
SSH 프로토콜을 사용하는데, 자세한 것은 몰라도 된다.
Putty를 사용하여 우리가 EC2를 통해 만들어 놓은 서버에 접속하고 관리할 수 있다.
Putty 다운로드 링크 : https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Putty를 설치한 후에, 환경설정 값에 Putty를 추가해주면 cmd에서 편리하게 사용할 수 있다.
내 PC > 속성 > 고급 시스템 설정 > 고급 > 환경변수로 들어가서 Path에 Putty폴더의 경로를 추가해준다.
설정이 잘 완료되었으면, cmd창에서 putty를 입력했을때, putty가 실행되어야 한다.
P4V & P4D
P4V(Helix Visual Client), P4D(Helix Core Server)
P4V는 자신의 컴퓨터에, P4D는 서버로 사용할 컴퓨터에 설치해서 사용한다.
따라서 P4V는 자신이 사용하는 컴퓨터 OS에 맞게 다운받고, P4D는 리눅스(Linux, x64)로 다운받으면 된다.
P4V는 다운받아서 바로 설치하면 되고, P4D는 다운받은 파일을 압축해제해 놓기만 하면 된다.
P4V 다운로드 링크 : https://www.perforce.com/downloads/helix-visual-client-p4v
P4D 다운로드 링크 : https://www.perforce.com/downloads/helix-core-p4d
AWS EC2 인스턴스 생성
AWS EC2는 클라우드 가상 서버로, 우리는 이곳에 리눅스 서버를 만들고 퍼포스 서버를 구동시킬 것이다.
AWS는 가입 후 1년까지는 프리티어를 제공하기 때문에, 30기가의 용량까지는 무료로 사용할 수 있다는 이점이 있다.
AWS에 로그인을 하고, EC2 대시보드에서 '인스턴스 시작'을 클릭한다.
그런 다음 생성할 EC2 인스턴스에 대해서 여러 설정들을 선택할 수 있다.
이름 및 태그
원하는 이름으로 설정
Application and OS Images & Instance Type
OS는 Amazon Linux 2023 AMI, 인스턴스 유형은 t2.micro로 선택한다.
키 페어
putty로 원격으로 서버에 접속하기 위해 필요하다.
새 키 페어 생성을 클릭하여, 키 페어를 생성해준다. 키 페어 생성을 클릭하면 (키 이름).ppk 파일이 다운로드된다. 이 파일은 나중에 putty 서버에 접속할 때 필요하니 지우지는 말자.
네트워크 설정
네트워크 설정 옆의 편집을 누르면, 인바운드 보안 그룹 규칙을 변경할 수 있다.
보안 그룹 규칙을 추가하여, 다음과 같이 변경해준다.
스토리지 구성
프리티어에서는 최대 30 GB까지 사용할 수 있다. 30 GB로 변경해주자.
인스턴스 시작 클릭
다른 설정들은 그대로 놔두고, 인스턴스 시작을 클릭해서 인스턴스를 생성해준다.
EC2 서버에서 Perforce 서버 구동
Putty를 사용해서, EC2 서버에서 P4D를 구동시킬 것이다.
키와 P4D 준비
폴더를 하나 만들어서 안에 아까 생성했던 .ppk 형식의 키와, p4d 파일을 준비해두자.
Putty로 서버 접속 & P4D 설치
cmd를 키고, 아까 만들어 놓은 폴더로 이동한다.
putty를 사용해서 서버에 접속할건데, 서버에 접속하려면 주소를 알아야한다. 서버 주소는 EC2 인스턴스 창에서 '퍼블릭 IPv4 DNS'라 써 있는 항목을 찾으면 된다. 다음과 같이 입력하여 원격으로 서버에 접속할 수 있다.
putty -i "(키 이름).ppk" (서버 주소)
cmd 창에서 pscp라는 명령어를 사용하여 p4d 파일을 서버로 전송한다.
pscp는 윈도우에서 리눅스 서버로 파일을 전송할 수 있도록 해준다.
pscp -i "(키 이름).ppk" p4d (서버 주소):
Server refused our key FATAL ERROR
: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
다음과 같은 에러가 발생하는 경우 먼저 키와 p4d파일이 올바른 디렉토리에 위치하는지, 서버의 주소는 올바른지 확인한다. 만약 올바른데도 오류가 발생한다면, key 값 뒤에 `-l ec2-user`를 명시한다.
내 경우에는 여러 방법을 사용해도 문제가 해결되지 않아서, 현재 EC2인스턴스를 삭제한 후에 ppk 형식이 아닌 .pem 형식의 키를 새로 발급받았다. puttygen을 통해 발급받은 .pem키를 .ppk로 변환하고 해당 키를 사용하니 문제가 해결되었다.
p4d 파일이 잘 전송되었으면, 이제 서버에서 p4d를 작동시킬 수 있다.
P4V로 퍼포스 서버에 접속
퍼포스 서버가 정상적으로 작동된다면, 이제 P4V로 서버에 접속해보자.
서버 주소를 입력하고, New를 눌러 새로운 계정과, WorkSpace를 만들어준 후, OK를 눌러 서버에 접속한다.
Unreal에서 Perforce 사용하기
.p4ignore 파일 설정하기
p4ignore파일을 통해 서버에 업로드하지 않을 파일들을 설정해줄 수 있다.
Git을 사용할때도 .gitignore로 업로드하지 않을 파일들의 형식을 정해줬는데, p4ignore도 이와 같다고 생각하면 된다.
Unreal 프로젝트에 필요한 .p4ignore 파일은 아래 링크를 참고하면 된다.
https://github.com/mattmarcin/ue4-perforce/blob/master/.p4ignore
.p4ignore파일을 만든 후에, 서버에 업로드해주자.
그런다음 로컬에서 .p4ignore 파일에 대해 다음과 같이 설정하면 된다.
1. cmd 실행
2. 프로젝트 디렉토리 최상단으로 이동(.p4ignore가 있는 디렉토리)
3. p4 set P4IGNORE=.p4ignore 입력
4. p4 ignores 명령어로 p4ignore 설정 확인(뭔가 많이 떠야 정상임)
Unreal 프로젝트 관리
해당 워크 스페이스에 언리얼 프로젝트를 만들고, 사용하면 된다.
참고 자료
https://www.youtube.com/watch?v=7eVO0qXC3nk&t=282s
'Information' 카테고리의 다른 글
[Perforce] 전체 파일 크기와 디스크 사용량이 다른 경우 해결 방법 (2) | 2023.11.26 |
---|