1. 제품 구성 구분 분류1 분류2 Engine NetDroneUnity SDK Tools Express.NET Template 비고 크로스 플렛폼 전체 소스 DataConverter CSV to Binary CSV 변환 도구 DummyClient RTCP, RUDP

Similar documents
넷드론 엔진 사용 안내서 목차 1. 제품 구성 플랫폼 구성 VirtualBox 설치 CentOS 설치 빌드 준비 개발 도구 스마트 클라이언트 스터디 서버...7 3

1. 제품구성 구분분류 1 분류 2 비고 SDK Cluster Engine Tools.NET Template NetDroneUnity DataConverter DummyClient ReuseMemory CryptTester NetCommon UnityClient Aut

NETDRONE ENGINE GUIDE BOOK

NETDRONE ENGINE GUIDE BOOK

Windows 8에서 BioStar 1 설치하기

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Microsoft PowerPoint - chap01-C언어개요.pptx

RHEV 2.2 인증서 만료 확인 및 갱신

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

bn2019_2

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

SIGIL 완벽입문

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

ActFax 4.31 Local Privilege Escalation Exploit

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

Microsoft PowerPoint - 10Àå.ppt

[Brochure] KOR_TunA

PowerPoint Presentation

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

C++ Programming

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint 프레젠테이션

슬라이드 1

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

Spring Boot

Interstage5 SOAP서비스 설정 가이드

untitled

PowerPoint 프레젠테이션

PCServerMgmt7

PowerPoint 프레젠테이션

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Orcad Capture 9.x

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Sena Technologies, Inc. HelloDevice Super 1.1.0

Microsoft PowerPoint - 04-UDP Programming.ppt

슬라이드 1

스마트월드캠퍼스 교육교제

Secure Programming Lecture1 : Introduction

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

/chroot/lib/ /chroot/etc/

MPLAB C18 C

Windows Server 2012

ISP and CodeVisionAVR C Compiler.hwp

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

강의10

View Licenses and Services (customer)

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

PowerPoint 프레젠테이션

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

삼성955_965_09

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

TTA Journal No.157_서체변경.indd

PowerPoint 프레젠테이션

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

11강-힙정렬.ppt

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

<C6F7C6AEB6F5B1B3C0E72E687770>

PowerPoint Presentation

C 언어 프로그래밊 과제 풀이


Microsoft PowerPoint - CSharp-10-예외처리

제20회_해킹방지워크샵_(이재석)

. PC PC 3 [ ] [ ], [ ] [ ] [ ] 3 [ ] [ ], 4 [ ] [ ], 4 [Internet Protocol Version 4 (TCP/IPv4)] 5 [ ] 6 [ IP (O)], [ DNS (B)] 7 [ ] 한국어 -

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

PowerPoint 프레젠테이션

유니티 변수-함수.key

User Guide

PowerPoint 프레젠테이션

PowerPoint Presentation

The Pocket Guide to TCP/IP Sockets: C Version

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

C++ Programming

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

PowerPoint Template

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

운영체제실습_명령어

Microsoft Word - PA1_Hints.doc

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

The Pocket Guide to TCP/IP Sockets: C Version

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

OnTuneV3_Agent_Install

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>


PowerPoint 프레젠테이션

Transcription:

넷드론 익스프레스 사용 안내서 목차 1. 제품 구성...2 2. 플랫폼 구성...2 2.1. VirtualBox 설치...2 2.2. CentOS 설치...3 3. 빌드 준비...4 3.1. 개발 도구...4 3.2. 유니티 클라이언트...5 3.3. 게임 서버...6 3.4. 환경 설정...7 4. 지원 프로그램...8 4.1. 필수 도구...8 4.2. 응용 도구...9 5. 사용 방법...10 5.1. 패키지 소개...10 5.2. 게임 오브젝트...11 5.3. 오토 프레임워크...12 5.4. 로그 및 메세지...13 5.5. 유니티 엔진 분리...13 1

1. 제품 구성 구분 분류1 분류2 Engine NetDroneUnity SDK Tools Express.NET Template 비고 크로스 플렛폼 전체 소스 DataConverter CSV to Binary CSV 변환 도구 DummyClient RTCP, RUDP 테스트 도구 ReuseMemory 가상 메모리 풀 테스트 도구 CryptTester RSA RC5/RC6 테스트 도구 NetCommon Client/Server 공유 소스 UnityClient.NET/C# 예제 클라이언트 GameServer.NET/C# 예제 서버 2. 플랫폼 구성 2.1. VirtualBox 설치 Oracle VirtualBox는 윈도우즈 환경에서 손쉽게 리눅스 환경을 테스트 할 수 있는 가상 환경을 제공하 는 소프트웨어 입니다. 만약 당신이 VMware, Hyper-V 사용에 익숙하다면 해당 소프트웨어를 사용하셔 도 괜찮습니다. Oracle VirtualBox 다운로드 https://www.virtualbox.org 게임 서버 예제는 Windows, Linux, OSX 에서 모두 안정적인 성능을 보여주며, 본 문서는 Linux 를 기준으로 작성 됩니다. 2

2.2. CentOS 설치 리눅스 배포판중 하나인 CentOS는 업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽히 호환되는 무료 기업용 플랫폼 입니다. 만약 당신이 Utuntu, Gentoo 사용에 익숙하다면 해당 배포판을 사용하셔 도 괜찮습니다. CentOS (The Community ENTerprise Operating System) 다운로드 https://www.centos.org 게임 서버 예제는 Windows, Linux, OSX 에서 모두 원할히 작동하지만 본 문서에서는 CentOS 6 를 기준으로만 안내 합니다. CentOS 설치는 되도록 서버 용으로 기본 패키지 들만 설치하세요. 최신 패키지 업데이트 root # yum -y update 필수 패키지 설치 root # yum -y install policycoreutils-python gcc gdb cmake mono mono-devel rpmbuild unzip 3

3. 빌드 준비 3.1. 개발 도구 게임 서버 예제는 MonoDevelop으로 개발이 가능합니다. 최신 버전을 다운로드 받아 설치 하시기 바랍니다. 다운로드 http://www.monodevelop.com 게임 서버 예제는 Visual Studio로 개발이 가능합니다. 최신 버전을 다운로드 받아 설치 하시기 바랍니다. 다운로드 https://imagine.microsoft.com/ko-kr/catalog/product/101 Windows 환경에서 각각의 IDE를 설치 한 뒤 VirtualBox/CentOS를 서버로 두고 개발 하는 것이 가능합니다. 4

3.2. 유니티 클라이언트 NetDrone Express Scene 순서와 동일한 Enum 값을 선언하고 있어 순서가 매우 중요합니다. 빌드 후 클라이언트 여러개를 실행하여 테스트 할 수 있습니다. 5

3.3. 게임 서버 Visual Studio 빌드 gameserver.sln 을 열어 빌드하면 실행 파일이 생성됩니다. Command Line 빌드 (xbuild) root #./make.sh root #./make.sh Debug root #./make.sh Release root #./make.sh Debug /opt/local install Command Line 실행 (windows) C:\> gameserver.exe C:\> gameserver.exe -s 100 -c gameserver-windows.txt -s : server id -c : config path Command Line 실행 (linux) root # mono --debug./gameserver.exe -s 100 -c./gameserver-linux.txt root # mono --debug./gameserver.exe -s 100 -c./gameserver-linux.txt 1> /tmp/output.txt 2>&1 -s : server id -c : config path root # cat /tmp/output.txt root # tail -f /tmp/output.txt 6

3.4. 환경 설정 NDCF는 기본적으로 하나 또는 각각의 파일에서 여러개의 프로세스에 대한 설정 옵션을 프로세스 이름 과 서버 아이디를 통해서 구분합니다. [process_name_1:server_id_100]... [process_name_1:server_id_101]... [process_name_2:server_id_100]... [process_name_2:server_id_101]... # 마크를 사용한 주석 입력을 사용하는 것이 가능하며 Defines.h에 새로운 Key를 추가하여 CfgMgr 함 수에서 읽어오는 것이 가능합니다. DefaultInterface 외부에서 연결이 들어오는 인터페이스 이름을 입 력합니다. eth0 DefaultPort 외부에서 연결이 들어오는 사용할 Tcp Port를 입 력합니다. 11000 BackboneInterface 서버간 통신이 필요할 경우 전용망 인터페이스 이름을 입력합니다. eth0/eth1 BackbonePort 서버간 통신이 필요할 경우 서버 전용 Tcp Port 를 입력합니다. 11001 MaxConnection HeaderCrypt 최대 동시 접속 제한을 설정합니다. 0~65535 패킷 헤더 암호화 true/false LogPath Enums.h에 정의되어 있는 LOG_EVENT_TYPE과 LOG_FIELD_TYPE 포멧의 서비스 로그가 저장되는 위치입니다. InfoPath kill 명령어를 통한 클린 종료 또는 프로세스 상태 확인을 할수있도록 프로세스 아이디 정보를 기록 PGID, PPID, PID 하는 위치입니다. 7

4. 지원 프로그램 4.1. 필수 도구 넷드론 엔진의 유니티 패키지에는 csv 파일을 bytes 포멧으로 일괄 변경하는 데이터 변환 도구 가 포함되어 있습니다. Assets/../Tools 경로 아래에 DataConverter.zip 파 일을 복사하여 풀어주세요. 위치: Tools/DataConverter.zip DataConverter Dataconverter/temp/ 아래에 테스트용 csv 파일이 들어있습니다. DataConverter.exe를 실행할 경우 지정된 위치의 모든 CSV 파일들은 Bytes 포멧으로 변경 됩니 다. 생성된 Bytes 파일들은 Assets/NetDrone Express/Client/Resources/Binary 아래에 복사하세요. 오토 프레임워크의 CDBM은 CSV, Bytes 포멧을 모두 지원합니다. CSV 구분자는 콤마만 사용해야 하며 첫줄에는 열 이름이 반드시 필요합니다. TCP와 Reliable UDP 테스트가 가능한 클라이언트 입니다. Assets/../Tools 경로 아래에 DummyClient.zip 파 일을 복사하여 풀어주세요. 위치: Tools/DummyClient.zip DummyClient 원격 명령어 실행 도구로 사용 할 수 있습니다. 부하 측정 도구로 사용 할 수 있습니다. 8

4.2. 응용 도구 링크드 리스트로 구현한 재사용 가능 메모리 구조 테스터 입니다. Assets/../Tools 경로 아래에 ReuseMemory.zip 파 일을 복사하여 풀어주세요. 위치: Tools/ReuseMemory.zip ReuseMemory Linked List를 기반으로 한 메모리 재사용 구조를 보여줍니다. 반복 횟수 등을 입력하여 테스트 합니다. 아이템 같이 메모리 할당 및 해제가 자주 일어나는 곳에 사용하세요. 자체 구현(RC5, RC6 기반)한 암호화 기능을 테스 트 할수 있는 도구입니다. Assets/../Tools 경로 아래에 CryptTester.zip 파일 을 복사하여 풀어주세요. 위치: Tools/CryptTester.zip CryptTester 넷드론 엔진이 제공하는 RC5/RC6의 암호화 및 복호화 결과를 보여줍니다. 문자열과 패킷 테스트가 가능합니다. 9

5. 사용 방법 5.1. 패키지 소개 구분 분류 비고 Animation Audio Resources Config Material Prefabs Texture Scenes 예제용 씬 Audio Camera Net Scripts 프로토콜 패킷 처리 기능 State 클라이언트 상태 처리 기능 UI Unit 플레이어 유닛 처리와 관리 기능 Util Config 처리 기능 World 채널/룸 처리 기능 NetDroneUnity SDK NetCommon Client/Server 공유 소스 Plugins Standard Assets Server gameserver Tools DataConverter, DummyClient, ReuseMemory, CryptTester 다운로드 받은 후 패키지를 구성하는 폴더 구조입니다. 10

5.2. 게임 오브젝트 구분 분류1 분류2 비고 UI Channels User List Room List Main Room Packet 및 List 정보 출력 Networks Queue (Native:Count) Engine Connector (Main:TCP) Connector (Sub:TCP) Main Player Main State (STATE) Audios Scene Music Audio Sfx Audio 유니티 에디터로 실행할 경우 DontDestroyOnLoad 영역에 나타납니다. 예제에 포함된 기능들을 테스트 하면서 Hierarchy에 어떻게 표시되는지 살펴보세요. 11

5.3. 오토 프레임워크 AutoFramework란 C#에서 C++ 처럼 전역적 클래스/함수 작성을 지원할수 있도록 고안된 partial class 집합입니다. UnityEngine 네임스페이스에 포함되어있는 GameFramework는 using UnityEngine을 선언 할 경우 별다른 추가 선언이 필요없습니다. GameFramework를 사용하는 작성 방법은 다음과 같습니다. MonoBehaviour를 사용하는 기존 클래스 대체 방법 Defines.cs를 참고하시면 GameFramework는 AutoFramework 및 MonoBehaviour 상속이 되어있습니 다. 유니티 에티터용 스크립트 작성시 MonoBehaviour 대신 GameFramework를 상속하세요. public class Example : GameFramework {... 이제 partial class GameFramework로 묶여있는 모든 클래스/함수들은 네임스페이스 접근없이 전역적 접근이 가능합니다. 전역적 접근 구조에 포함시키고 싶은 일반 클래스 작성 방법 넷드론 유니티 소스 코드와 클라이언트 예제는 모두 partial class GameFramework 안에 존재합니다. 새로운 클래스 및 전역함수 작성을 하시려면 아래 예제들 처럼 작성하세요. namespace UnityEngine { public partial class GameFramework { public class CExample { public CExample() { ~CExample() { namespace UnityEngine { public partial class GameFramework { public static CExample g_kexample { get { return CExample.GetInstance(); public class CExample : CSingleton<CExample> { public CExample() { ~CExample() { public void Test() { 이제 partical class GameFramework에 포함되어 있거나 public class Example : GameFramework 처럼 상속되는 모든 곳에서 g_kexample.test()만 입력하면 네임스페이스 접근없이 호출됩니다. 12

5.4. 로그 및 메세지 넷드론 엔진의 유니티 버전은 TRACE, OUTPUT, PRINT, ERROR 함수를 정의하여 표준 출력 내용을 표시 합니다. TRACE DISABLE_UNITY 선언이 있을경우 Console.WriteLine(FILE, LINE, FUNCTION) 함수와 연 결, 선언이 없을경우 UnityEngine.Debug.Log 함수와 연결됩니다. OUTPUT DISABLE_UNITY 선언이 있을경우 Console.WriteLine(FILE, LINE, FUNCTION) 함수와 연 결, 선언이 없을경우 UnityEngine.Debug.Log 함수와 연결됩니다. PRINT DISABLE_UNITY 선언이 있을경우 Console.WriteLine 함수와 연결, 선언이 없을경우 UnityEngine.Debug.Log 함수와 연결됩니다. ERROR DISABLE_UNITY 선언이 있을경우 System.Diagnostics.Debug.WriteLine 함수와 연결, 선언이 없을경우 UnityEngine.Debug.LogError 함수와 연결됩니다. TRACE 명령어를 사용하려면 Assets 폴더 아래 gmcs.rsp/smcs.rsp (-define:debug) 파일을 생성 하세요. DEBUG 선언을 제거할 경우 TRACE 코드는 모두 사라집니다. 5.5. 유니티 엔진 분리 넷드론 유니티는 유니티 엔진 뿐만 아니라 C#으로 구현하는 모든 프로젝트에 적용하는 것이 가능합니 다. 독립적으로 사용하려면 DISABLE_UNITY 선언을 추가하세요. MonoDevelop 선언 위치 Project Options: Build > Compiler > Define Symbols gameserver 프로젝트를 참고하세요. 13