에셋 서버는 서버 장치를 한 번에 간단하게 설치할 수 있도록 고안되었습니다. 에셋 서버와의 상호 작용은 Unity를 통해 이루어집니다. Unity를 서버 장치에 설치할 수도 있지만, 반드시 필요한 것은 아닙니다. 다만, 프로젝트와 사용자를 추가할 수 있는 클라이언트 기기에서는 설치되어 있어야 합니다. 각각의 추가 클라이언트는 특정 사용자 증명을 통해 프로젝트에 동기화되도록 설정되어야 합니다.
Mac OS X 10.4 이후 버전, Windows XP, Windows Vista 및 CentOS, Ubuntu, Suse Linux를 포함한 Linux 배포판에 에셋 서버를 설치할 수 있습니다. 여기에서 Unity 에셋 서버를 다운로드합니다.
설치 관리자는 모든 필요한 파일을 설치하고, 데이터베이스를 설정한 후 에셋 서버를 실행합니다. 마지막 과정에서 __Admin password__를 생성할 것인지 물을 것입니다. Unity에서 에셋 서버를 관리하려면 이 비밀번호가 필요합니다. 프로젝트나 사용자를 생성하기 전에 에셋 서버에 관리자로 연결해야 합니다.
에셋 서버를 통해 수많은 사용자 가 프로젝트 에 연결할 수 있습니다. 관리자는 우선 Unity에서 클라이언트로서 서버에 연결한 후 새로운 프로젝트와 사용자를 생성해야 합니다.
이 가이드는 서버 설치, 준비, 실행 과정에 대해 설명합니다.
Asset Server__는 레거시 제품이라는 점을 참고하십시오. Unity 프로젝트의 버전을 관리하기 위해서는 Plastic SCM__ 또는 __Perforce__를 사용하는 것을 권장합니다.
1. Unity__를 실행한 후 빈 프로젝트를 엽니다. Window->Version Control__을 선택한 후 Settings 버튼을 클릭합니다.
Inspector__에서 Version Control__ 설정이 나타납니다. Mode 드롭다운 메뉴에서 __Asset Server__를 선택합니다.
2. 에셋 서버를 실행해 보겠습니다. 다음 파일을 찾아 실행합니다.
Windows: C:\Program Files (x86)\Unity\AssetServer\bin\AssetServerControl.exe
Macintosh: /Library/UnityAssetServer
주의: Yosemite 10.10.3 사용자는 사용자 라이브러리 디렉토리가 아닌 하드 디스크의 라이브러리 디렉토리에서 실행 파일을 찾으십시오.
3. __Window->Version Control__을 선택합니다.. 에셋 서버의 관리 탭이 열립니다.
관리 버튼을 클릭합니다.
4. Server Address 입력란에 관리하고자 하는 에셋 서버를 실행하는 컴퓨터의 IP 주소 또는 호스트 이름__을 입력합니다. 에셋 서버가 로컬 장치에 설치되어 있는 경우, Server Address__에 “localhost”를 입력합니다. 그 다음, 관리자 이름과 비밀번호를 입력합니다. 관리자 이름은 항상 “admin”이며, 비밀번호는 에셋 서버를 설치할 때 입력한 비밀번호입니다. 마지막으로 Connect 버튼을 클릭합니다. 이제 에셋 서버와 연결되었으며 초기 설정을 진행할 수 있습니다.
각 서버는 여러 프로젝트를 포함할 수 있으며, 사용자는 한 개 이상의 프로젝트에 권한을 가질 수 있습니다. 프로젝트는 보통 독립적이며, 에셋 콜렉션에서 각각 고유하게 인식됩니다. “하나의 프로젝트는 하나의 게임”으로 생각하면 좋습니다.
새 프로젝트를 생성하려면 Server Administration 탭의 Create 버튼을 클릭하면 됩니다.
새로운 사용자를 생성하려면 기존 프로젝트를 선택한 후, New User 버튼을 클릭하면 됩니다.
사용자가 한 프로젝트에서 생성된 이후에는, 사용자 리스트에서 사용자 이름 왼쪽의 체크박스를 선택하여 다른 프로젝트에 추가할 수도 있습니다.
각각의 프로젝트에 대해 사용자 접근 권한을 활성화 또는 비활성화할 수 있습니다. 서버에서 사용자나 프로젝트를 완전히 제거하려면 Delete Project 버튼과 Delete User 버튼을 사용합니다.
Unity 에셋 서버는 10733 TCP 포트를 사용합니다. 방화벽이나 라우터에서 포트를 통한 연결을 활성화해야 할 수도 있습니다.
에셋 서버는 PostgreSQL의 수정 버전을 통해 빌드되었습니다. SQL 데이터베이스에 접근하려면 SQL과 Unix/Linux 커맨드 라인에 대한 약간의 기술 지식을 필요로 합니다. 사용자 재량에 따라 진행해야 합니다.
에셋 서버 백업을 위한 커맨드 라인 툴이 제공됩니다. 이 툴은 에셋 서버를 실행하는 장치의 관리자 계정에서 실행해야 합니다. BACKUP_LOCATION을 백업을 저장할 경로로 대체해야 합니다.
Mac OS X
sudo /Library/UnityAssetServer/bin/as_backup
BACKUP_LOCATION
Linux
sudo /opt/unity_asset_server/bin/as_backup
BACKUP_LOCATION
Windows
"%ProgramFiles%\Unity\AssetServer\bin\as_backup.cmd"
BACKUP_LOCATION
as_backup을 사용하면 프로젝트당 한 개 이상의 파일과 각 프로젝트에 대한 정보를 포함하는 파일, 그리고 모든 사용자와 비밀번호에 대한 백업을 포함하는 디렉토리가 BACKUP_LOCATION에 생성됩니다.
as_backup으로 생성된 에셋 서버 백업을 복원하려면, 우선 에셋 서버를 클린 설치하여 프로젝트 생성 기록이 없도록 하십시오. 복원 과정 중에 같은 이름을 가진 프로젝트가 있으면 덮어쓰기가 거부됩니다.
그 다음, 제공된 백업 복원 툴인 as_restore
를 실행하고, as_backup가 생성한 백업 위치를 입력합니다.
Mac OS X
sudo /Library/UnityAssetServer/bin/as_restore
BACKUP_LOCATION
Linux
sudo /opt/unity_asset_server/bin/as_restore
BACKUP_LOCATION
Windows
"%ProgramFiles%\Unity\AssetServer\bin\as_restore.cmd"
BACKUP_LOCATION
as_backup과 as_restore를 사용하여 설치된 에셋 서버를 다른 장치로 옮길 수도 있습니다. 원래 장치에서 백업을 수행한 후, 백업 디렉토리를 이동하려는 장치로 옮기거나 네트워크 파일 공유를 통해 옮긴 후, as_restore를 실행하여 새로 설치된 에셋 서버 인스턴스에 데이터를 입력하면 됩니다. 이것은 두 장치의 운영체제 버전이나 종류가 다른 경우에도 가능합니다.
프로젝트 데이터베이스 표를 보려면, 우선 실제 데이터베이스의 이름을 알아야 합니다. 아래의 커맨드 라인 커맨드를 에셋 서버를 호스트하는 장치에서 실행해야 합니다.
Mac OS X
/Library/UnityAssetServer/bin/psql -U admin -h localhost -d postgres -c 'select * from all_databases**view'
Linux
/opt/unity_asset_server/bin/psql -U admin -h localhost -d postgres -c 'select * from all_databases**view'
Windows
"%ProgramFiles%\Unity\AssetServer\bin\psql.exe" -U admin -h localhost -d postgres -c "select * from all_databases**view"
이 커맨드를 비롯한 다른 커맨드는 비밀번호를 요구합니다. 설치 도중 설정한 데이터베이스 관리자 비밀번호를 입력합니다. 커맨드를 실행하면 아래와 같이 간단한 레이아웃을 가진 표가 나타납니다.
databasename | projectname | description | version
--------------------+--------------------+--------------------------+---------
sandbox | Sandbox | Created with Unity 2.0.0 | 1.0
game | Game | Created with Unity 2.0.0 | 1.0
my_game_project | My Game Project | Created with Unity 2.0.0 | 1.0
(3 rows)
이제 백업하려는 프로젝트의 “databasename”를 파악해야 합니다. 데이터베이스를 생성하는 경우, 디폴트 “databasename”은 Unity에서 보이는 “projectname”과 같지만 소문자로 표시되고 공백은 밑줄(_)로 대체됩니다.
서버가 다수의 PostgreSQL 데이터베이스를 서로 다른 포트를 통해 호스트하는 경우, 에셋 서버 데이터베이스를 연결하는 데 사용한 포트를 명시해야 합니다. 이 경우 아래와 같이 제공된 커맨드에 -p 10733(인스턴스에 기본 포트인 10733을 사용했다고 가정)을 추가합니다.
Linux
/opt/unity_asset_server/bin/psql -U admin -h localhost -d postgres -c 'select * from all_databases**view' -p 10733
커맨드는 모두 PostgreSQL 배포판 툴을 활용합니다. 이들 툴에 대한 자세한 내용은 http://www.postgresql.org/docs/8.3/interactive/reference-client.html를 참조하십시오.