안녕하세요 !  아쉽지만 아이펀 게임서버 엔진 개발자노트를 이번 포스팅을 마지막으로 마무리 하려고 합니다.


지금까지 여러분이 아이펀즈의 기능을 활용하여 서버 개발을 무사히 마치셨다면 마지막으로 서버에 배포하는 과정만 남게 되는데요


지금까지 제가 올렸던 실전편을 그대로 따라하셨다면 중요기능은 마친 상태라고 생각하고 진행하겠습니다. 


계정이 root 권한이 없으시면 참고하세요. http://super-amped.tistory.com/13?category=758722 




1. 아이펀프로젝트 최상단폴더에 CMakeList.txt 를 열어주세요~!


중간에 이 텍스트를 찾아주세요.


# Generate a distribution package in Debian DEB?

set(WANT_DEB_PACKAGE true  




디폴트로 false 로 되어있는데 지금까지 우분투 16버전으로 테스트 해왔기때문에 deb 파일로 설치를 해보겠습니다. 


deb 파일을 생성하려면 해당 속성을 true 로 활성화 하시면 됩니다. 


# Sets these according to your init script favorites.

# You can turn on one or both.

# If none are defined, iFun Engine will implicitly assume based on the package type.

# (i.e., Upstart for DEB and Systemd for RPM)

# If you do not want any init system, explicitly set them to false.

#set(WANT_UPSTART false)

set(WANT_SYSTEMD true)


그리고 조금만 아래쪽에 보면 WANT_UPSTART WANT_SYSTEMD 가 있습니다. 우분투기준 14버전은 UPSTART 를 주석해제하신뒤 true 활성화 하시면되고


저는 우분투 16버전이기때문에 WANT_SYSTEMD 속성을 주석 해제 후 true 활성화 시키겠습니다. 



다하셨으면 저장하고 빌드 > 솔루션 빌드를 해서 서버에 업로드해주세요. 



2.  Hyper-V 를 실행하거나 Putty 를 이용하여 우분투 서버에 접속한뒤 프로젝트 폴더로 이동하세요.






ex ) root@ubuntu:~/projects/프로젝트명-source/etc/systemd# sudo nano 프로젝트명.service


프로젝트 etc 폴더에 systemd 폴더안의 service를 편집해야합니다. 저는 nano 편집기를 선호하여 이 편집기로 수정하였습니다.



중간에 User와 Group 을 현재 로그인한 유저 아이디와 그룹으로 변경하시면됩니다. 유저의 권한은 root 권한이어야 하고 Group은 root 에 추가된 상태로 가정하겠습니다. (root 권한이 없으신분은 위에 root 권한 부여하는 방법에 대한 링크를 참조하세요!)


# It is strongly recommended that one should use uid:gid other than the root

# NOTE: Please update User=, Group=, and ExecStartPre=

User=ubuntu

Group=root


nano 는 ctrl+o 를 누르면 덮어씁니다. 다 하셨으면 덮어쓰시고 엔터 누른뒤 ctrl+x 로 편집기를 종료하세요


3. 아래와 같은 순서로 deb를 생성하고 내용확인을 합니다.


make package


dpkg-deb --contents 생성된deb파일명.deb





4.  생성된 deb파일을 설치하고 서비스 활성화 및 실행을 합니다. (서비스를 활성화하면 시스템을 재부팅해도 자동실행 됩니다.)


dpkg -i 생성된 deb 파일명.deb

sudo systemctl enable 설치된 서비스명.service

sudo systemctl start  설치된 서비스명.service








5. 서버가 정말로 실행된 상태인지 확인해보겠습니다. 실전편 기획데이터 가져오기를 재현해보겠습니다. 





배포가 정상적으로 된것을 확인할 수 있습니다.


생각보다 간단한 작업이었는데요 몇가지 설정을 주의깊게 셋팅을 제대로 한다면 복잡하지 않은 작업입니다.


하지만 이 셋팅을 제대로 하지 않으면 배포가 불가능하니 유의해서 작업을 하는게 좋겠습니다.


3가지만 주의하세요!


1. 계정에 root 권한을 주세요  그룹도 root 에 속해있게 해주시구요

2. CMakeList.txt  리눅스 종류와 버전에 따라 속성이 다르니 메뉴얼확인을 해주세요 우분투 16버전이시라면 제가 적은대로 하시면 됩니다.

3. 프로젝트 /etc/systemd 폴더에 프로젝트명.service 에 User와 Group 을 정확하게 기입해주세요. 1번을 선행한 상태여야 합니다.


지금보면 정말 간단하지만 저는 이부분을 한참동안 해맨적이 있습니다;;;




마치면서..


지금까지 아이펀 엔진을 사용하고 테스트하면서 느낀점은 높은 편의성과  뛰어난 성능의 서버라는 느낌을 받았습니다. 


단, 서버개발에 친숙하지 않은 분들은 세세한 서버셋팅에 대한 미숙한 점으로 인해 헤매실 소지가 있으니 제가 쓴 개발노트를 참고하시어 개발하시면 좋을거 같습니다.


지금까지 읽어주셔서 감사합니다.