6. 개발환경(C++): Windows + Visual Studio

이 챕터에서는 Microsoft Windows 환경에서 아이펀 엔진을 사용하여 개발하는 방법을 설명합니다.

현재 Microsoft Windows 용 아이펀 엔진은 베타 상태입니다. 베타 버전에서는 Windows 10 64bit 을 지원하며, Windows 8.x 및 Windows 7을 준비 중입니다. 불편한 점이 있으실 경우 이메일로 저희 쪽에 알려주시면 대단히 감사하겠습니다.

6.1. Windows 용 아이펀엔진 설치하기

아이펀 엔진을 사용하기 위해서는 라이센스 파일 (account.ilf) 이 필요합니다. 체험판 라이센스 를 신청하시거나, 이메일 로 문의해주시기 바랍니다.

라이센스를 발급받으셨다면, C:\ProgramData\ifunfactory\ 디렉터리를 만든 후, 라이센스 파일을 해당 디렉터리에 복사해주시기 바랍니다.

라이센스 사용에 대해서는 라이센스 페이지에서 상세하게 설명하고 있습니다.

6.1.1. 아이펀엔진 및 외부 라이브러리 설치하기

  1. 아이펀 엔진 설치파일 을 다운로드 합니다.
  2. 3rd party 라이브러리 인스톨러 를 다운로드 합니다.
  3. 각 파일을 실행하여 설치합니다.

6.1.2. Python 설치하기

Python 2.7 버전을 설치합니다.

이 때 설치 마법사에서 Python을 Path 환경 변수에 추가하기 구성요소를 선택하거나, 제어판\시스템 보안\시스템\고급 시스템 설정\환경 변수 에서 Path에 파이썬이 설치된 경로를 추가합니다. 기본 경로는 C:\Python27 입니다.

_images/windows_python_path.png

6.1.3. Python 라이브러리 설치하기

관리자 (Administrator) 권한으로 PowerShell 을 실행해서 다음 콘솔 명령들을 실행합니다:

C:\> cd C:\Python27
C:\> wget -Uri https://bootstrap.pypa.io/get-pip.py -OutFile get-pip.py
C:\> python get-pip.py
C:\> C:\Python27\Scripts\pip.exe install python-gflags six jinja2 simplejson ply chardet

Tip

wget 이 실패하는 경우 SSL/TLS 설정이 문제일 수 있습니다. 아래 명령을 실행한 후 다시 wget 부분부터 실행해주시기 바랍니다.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

6.1.4. Windows SDK 설치

Visual Studio Installer를 실행합니다. 자세히->수정->개별 구성 요소 에서 UWP용 Windows 10 SDK(10.0.15063.0):c++ 를 설치합니다.

6.1.5. Mono 설치

Mono 64-bit 버전을 설치합니다.

C:\Program Files\Mono\bin 를 Path에 추가합니다.

6.2. iFunEngine for Windows

윈도우즈용 아이펀 엔진 개발 환경을 설정해주는 iFunEngine for Windows 라는 확장 프로그램을 배포하고 있습니다.

Note

iFunEngine for Windows 는 Visual Studio 2017 버전을 지원합니다.

6.2.1. iFunEngine for Windows 설치하기

  1. iFunEngine for Windows 확장 프로그램을 다운로드하고 설치합니다. 압축을 해제하고 iFunEngineForWindowsVSIX.vsix 를 실행하여 설치할 수 있습니다.
  2. 도구 > 확장 및 업데이트.. 에서 Visual Studio에 설치된 확장 프로그램을 확인할 수 있습니다.
_images/windows_vs_extension01.png
  1. 파일 > 새로 만들기 > 프로젝트.. > Visual C++ 에서 iFunEngine Project 가 보인다면, 설치가 완료된 것입니다.
_images/windows_vs_extension02.png

6.3. 새 프로젝트 생성

  1. iFunEngine Project를 새로 생성한 모습입니다.
_images/windows_vs_extension03.png
  1. 프로젝트를 개발할 준비가 되었습니다. 이제 소스코드를 수정, 빌드, 디버깅할 수 있습니다.

6.4. 프로젝트 빌드하기

비주얼 스튜디오의 Build 메뉴를 이용하여 프로젝트를 빌드하실 수 있습니다.

6.5. 프로젝트 디버깅하기

비주얼 스튜디오의 Debug 메뉴를 이용하여 디버깅하실 수 있습니다. Breakpoint 기능 역시 사용하실 수 있습니다.

6.6. 프로젝트 배포하기

개발용 환경이 아닌 실제 서버에서 실행하기 위한 과정을 설명합니다.

6.6.1. 패키징

비주얼 스튜디오의 solution configurations에서 Package를 선택하고 빌드합니다.

프로젝트 경로에 make_package.ps1 파일이 생성됩니다. 우클릭하여 PowerShell로 실행합니다.

_images/windows_vs_extension04.png

스크립트가 Package폴더에 필요한 파일들을 복사하고 zip으로 압축해 줍니다. 실제 서버에 옮겨 압축을 해제합시다.

6.6.2. 서버 환경 준비

  1. 라이센스 파일을 복사해야 합니다. C:\ProgramData\ifunfactory 에 account.ilf 파일이 있어야 합니다.
  2. 개발환경을 준비할 때와 마찬가지로 아이펀 엔진 설치파일 을 다운로드 하고 설치합니다.
  3. 3rd party 라이브러리 인스톨러 를 다운로드 하고 설치합니다.
  4. Mono 64-bit 버전을 설치합니다. C:\Program Files\Mono\bin 를 Path에 추가합니다.

6.6.3. 실행

PowerShell 스크립트(ps1) 파일을 실행하는데 권한 문제가 발생할 수 있습니다. PowerShell을 관리자 권한으로 열고 다음 명령을 실행해 주세요.

PS C:\>Set-ExecutionPolicy RemoteSigned

이제 실행할 준비가 되었습니다.

압축을 해제한 폴더에 있는 run.ps1 을 PowerShell로 실행하면 됩니다.

_images/windows_vs_extension05.png

Starting ProjectNameServer 라는 로그가 뜨면 정상적으로 실행된 것입니다. (여기서는 IFunEngineProject1Server )

튜토리얼을 아직 읽지 않으셨다면 튜토리얼 3.클라이언트 패킷 추가하기 에서 시작하세요.