Project

General

Profile

Actions

How to install NetDrone Live » History » Revision 3

« Previous | Revision 3/6 (diff) | Next »
Master Chief, 2020-02-11 08:22


<h1>넷드론 라이브 설치하기</h1>

<h2>이클립스 프로젝트 설정</h2>

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

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

root &lt;span class="c"&gt;# yum install eclipse-cdt&lt;/span&gt;

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

root &lt;span class="c"&gt;# yum install java&lt;/span&gt;
root &lt;span class="c"&gt;# wget http://ftp.yzu.edu.tw/eclipse/technology/epp/downloads/release/mars/1/eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz&lt;/span&gt;
root &lt;span class="c"&gt;# mv eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz /opt&lt;/span&gt;
root &lt;span class="c"&gt;# cd /opt&lt;/span&gt;
root &lt;span class="c"&gt;# tar xvzf eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz&lt;/span&gt;
root &lt;span class="c"&gt;# /opt/eclipse/eclipse&lt;/span&gt;

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

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

root &lt;span class="c"&gt;# apt-get install eclipse-cdt&lt;/span&gt;

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

user &lt;span class="nv"&gt;$ &lt;/span&gt;eclipse

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

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

root &lt;span class="c"&gt;# yum install unzip&lt;/span&gt;

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

root &lt;span class="c"&gt;# apt-get install unzip&lt;/span&gt;

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

user &lt;span class="nv"&gt;$ &lt;/span&gt;unzip unityserver.zip

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

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

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

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

user &lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;Debug
user &lt;span class="nv"&gt;$ &lt;/span&gt;./unityserver

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

<h2>빌드 구조 분석</h2>

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

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

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

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

<p><u>make.sh</u> 사용법은 다음과 같습니다.</p>

user &lt;span class="nv"&gt;$ &lt;/span&gt;./make.sh Debug
user &lt;span class="nv"&gt;$ &lt;/span&gt;./make.sh Release
user &lt;span class="nv"&gt;$ &lt;/span&gt;./make.sh

<p>다음은 Eclipse CDT 전용 옵션입니다.</p>

user &lt;span class="nv"&gt;$ &lt;/span&gt;./make.sh Debug_Eclipse
user &lt;span class="nv"&gt;$ &lt;/span&gt;./make.sh Release_Eclipse

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

user &lt;span class="nv"&gt;$ &lt;/span&gt;./make.sh Debug
user &lt;span class="nv"&gt;$ &lt;/span&gt;./make.sh Debug /opt/local &lt;span class="nb"&gt;install
&lt;/span&gt;user &lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;Debug
user &lt;span class="nv"&gt;$ &lt;/span&gt;make clean
user &lt;span class="nv"&gt;$ &lt;/span&gt;make uninstall
user &lt;span class="nv"&gt;$ &lt;/span&gt;make dist

<h2>서버 실행 방법</h2>

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

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

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

<p><u>-c</u> : 설정파일 경로에 대한 옵션입니다.</p>

<p><u>-d</u> : 데몬 실행 모드로 변경됩니다.</p>

user &lt;span class="nv"&gt;$ &lt;/span&gt;./unityserver-[VERSION] &lt;span class="nt"&gt;-s&lt;/span&gt; 100 &lt;span class="nt"&gt;-c&lt;/span&gt; ./unityserver-linux.txt
user &lt;span class="nv"&gt;$ &lt;/span&gt;./unityserver-[VERSION] &lt;span class="nt"&gt;-s&lt;/span&gt; 100 &lt;span class="nt"&gt;-c&lt;/span&gt; ./unityserver-linux.txt &lt;span class="nt"&gt;-d&lt;/span&gt; 1&amp;gt; /tmp/unityserver.txt 2&amp;gt;&amp;amp;1

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

user &lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; /tmp/unityserver.txt
user &lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; /tmp/unityserver.txt

Updated by Master Chief 5 months ago · 3 revisions