Project

General

Profile

Actions

넷드론 라이브 설치하기

이클립스 프로젝트 설정

Eclipse CDT가 준비되지 않았다면 다음 명령어로 설치하세요.

다음은 센트OS 6 사용자를 위한 방법입니다.

root # yum install eclipse-cdt

다음은 센트OS 7 사용자를 위한 방법입니다.

root # yum install java
root # wget http://ftp.yzu.edu.tw/eclipse/technology/epp/downloads/release/mars/1/eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz
root # mv eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz /opt
root # cd /opt
root # tar xvzf eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz
root # /opt/eclipse/eclipse

센트OS 7의 경우 아직 Eclipse CDT가 YUM Repository 안에 없습니다. Java 설치후 eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz 를 다운받아 설치하세요.

다음은 우분투 사용자를 위한 방법입니다.

root # apt-get install eclipse-cdt

모든 설치가 완료 되었다면 Eclipse Workspace를 지정하세요. 기본값은 $HOME/workspace 로 설정됩니다.

user $ eclipse

만약 unzip 패키지가 없다면 다음과 같이 설치가 가능합니다.

다음은 센트OS 사용자를 위한 방법입니다.

root # yum install unzip

다음은 우분투 사용자를 위한 방법입니다.

root # apt-get install unzip

이제 unityserver 압축을 workspace 아래에 풀어준뒤 Eclipse Workspace에 Import 합니다.

user $ unzip unityserver.zip
  • Project Explorer 에서 마우스 오른쪽 버튼을 클릭하면 Import 항목이 나타납니다.
  • General » Existing Projects into Workspace 를 선택한뒤 Next 버튼을 클릭하세요.
  • Select root directory 항목에서 Browse 버튼을 클릭한뒤 workspace 아래에 있는 unityserver 예제 폴더를 클릭합니다.
  • Projects 목록에 unityserver 항목이 나타났으면 Finish 버튼을 클릭한뒤 완료됩니다.

unityserver/os-release 을 편집하여 배포판 환경을 설정하세요. 환경에 맞는 libnetdronelive.a 를 자동으로 찾게 도와줍니다.

TYPE은 Gentoo_Hardened , CentOS_6 , CentOS_7 , Ubuntu_14 , Ubuntu_16 로 구분되어 있으며 배포판별 아카이브를 찾기 위해 사용됩니다.

모든 작업을 완료했다면 Eclipse CDT로 빌드할수 있습니다.

user $ cd Debug
user $ ./unityserver

기본값 설정이 소스코드에 되어있어 즉시 실행하는것이 가능합니다.

빌드 구조 분석

넷드론 라이트의 빌드 구조는 CMake를 기반으로 하고있습니다.

작성법이 많은부분 달라져있어 해당 설명을 반드시 참고하세요.

CMake와 관련된 파일들은 모두 unityserver/build/* 아래에 위치합니다. 기존 CMakeLists.txt 작성법과 달리 한개의 CMakeLists.txt 만 작성합니다. GNU Autotools와 동일한 결과물을 얻기위해 Templates, Bash Scripts를 개발하였습니다.

  • unityserver/build/build.h.cmake.in : 소스 코드에서 사용할 Define들이 생성됩니다.
  • unityserver/build/cmake_uninstall.cmake.in : make uninstall 명령어를 사용할수 있게 설정됩니다.
  • unityserver/build/rpmbuild.spec.cmake.in : rpmbuild를 위한 spec 파일을 생성합니다.
  • unityserver/build/CMakeLists.txt : CMake가 찾는 유일한 소스 코드 목록 및 빌드 방식에 대한 설정을 포함합니다.
  • unityserver/build/Configuration.cmake : CMakeLists.txt 에서 상세 설정용으로 분리(include)되어 있는 스크립트 입니다.
  • unityserver/build/FindNetDroneLite.cmake : NetDrone Live 버전의 아카이브 경로를 탐색하는 스크립트 입니다.
  • unityserver/build/FindThread.cmake : GNU Posix Thread의 경로를 탐색하는 스크립트 입니다.
  • unityserver/build/getversion_netdron.sh : NetDrone Live 버전의 Version.h 파일 정보를 읽어옵니다.
  • unityserver/build/getversion_service.sh : Unity Server 예제의 Version.h 파일 정보를 읽어옵니다.
  • unityserver/build/makedist.sh : make dist 명령어를 사용할수 있게 설정됩니다. (현재는 rpm만 지원되며 dpkg는 다음 버전에 포함될 예정)
  • unityserver/make.sh : CMake 빌드를 편리하게 사용할수 있도록 작성된 스크립트 이며 아래와 같은 옵션이 존재합니다.
  • unityserver/os-release : 배포판별 정적 라이브러리 자동 적용을 위한 설정입니다.

make.sh 사용법은 다음과 같습니다.

user $ ./make.sh Debug
user $ ./make.sh Release
user $ ./make.sh

다음은 Eclipse CDT 전용 옵션입니다.

user $ ./make.sh Debug_Eclipse
user $ ./make.sh Release_Eclipse

그외 넷드론 엔진의 빌드 스크립트는 표준 make 옵션을 따르고 있습니다.

user $ ./make.sh Debug
user $ ./make.sh Debug /opt/local install
user $ cd Debug
user $ make clean
user $ make uninstall
user $ make dist

서버 실행 방법

넷드론 라이트의 유니티 서버 예제는 다음과 같은 옵션을 사용할수 있습니다.

-s [server id]
-c [config path]
-d [daemon]

-s : 하나의 실행 파일로 서버를 여러개 올릴경우 각각 다른 설정을 적용하기 위한 옵션입니다.

-c : 설정파일 경로에 대한 옵션입니다.

-d : 데몬 실행 모드로 변경됩니다.

user $ ./unityserver-[VERSION] -s 100 -c ./unityserver-linux.txt
user $ ./unityserver-[VERSION] -s 100 -c ./unityserver-linux.txt -d 1> /tmp/unityserver.txt 2>&1

데몬 모드 실행시 로그 확인을 위해 cat , tail 명령어를 사용할수 있습니다.

user $ cat /tmp/unityserver.txt
user $ tail -f /tmp/unityserver.txt

Updated by Master Chief 12 days ago · 3 revisions