Project

General

Profile

Actions

리눅스 서버에 설치하기

가상 머쉰 실행 환경 구성

네트워크 어댑터

외부 접속이 필요할 경우 브리지 어댑터 사용을 권장합니다.

리눅스 실행 환경 구성

윈도우즈, 맥 사용자의 경우 리눅스 배포판이 필요합니다. 가상머쉰 사용을 권장드리며 센트OS, 우분투 등을 설치하세요.

배포판을 최신상태로 업데이트한 후 필수 패키지들을 설치합니다.

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

root # yum update
root # yum install cmake gcc gcc-g++(or gcc-c++) gdb

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

root # apt-get update
root # apt-get upgrade
root # apt-get install cmake gcc g++ gdb

넷드론 라이트의 정적 라이브러리는 다음 환경에서 빌드 되었습니다.

  • CentOS 6.7: gcc 4.4, glibc 2.12
  • CentOS 7.2: gcc 4.8, glibc 2.17
  • Ubuntu 14.04: gcc 4.8, glibc 2.19
  • Ubuntu 16.04 LTS: gcc 5.4, glibc 2.23
  • Gentoo Hardened: gcc 4.9, glibc 2.22

GCC와 GLIBC 버전만 동일하다면 다른 배포판 사용도 가능합니다.

이제 아래와 같이 로컬 방화벽 설정이 필요합니다.

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

-A INPUT -m state --state NEW -m tcp -p tcp --dport 11000 -j ACCEPT

서비스 리스너가 Tcp 포트 11000 을 사용한다면 해당 번호 연결을 허용해야 합니다.

root # /etc/init.d/iptables restart

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

ENABLE = yes

UFW 설정이 비활성화 되어있다면 활성화 시키도록 수정하세요.

-A ufw-before-input -m state --state NEW -m tcp -p tcp --dport 11000 -j ACCEPT

서비스 리스너가 Tcp 포트 11000 을 사용한다면 해당 번호 연결을 허용해야 합니다.

root # ufw enable

다음은 포트 허용 적용 여부를 확인하는 방법입니다.

root # iptables -nL|grep 11000

이제 아래와 같이 SSHD 로컬 방화벽 설정이 필요합니다.

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

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

SSHD 리스너가 Tcp 포트 22 를 사용한다면 해당 번호 연결을 허용해야 합니다.

root # /etc/init.d/iptables restart

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

-A ufw-before-input -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

SSHD 리스너가 Tcp 포트 22 를 사용한다면 해당 번호 연결을 허용해야 합니다.

root # ufw reload

서버 설정 파일 서식

넷드론 라이트의 유니티 서버 예제는 unityserver/docs/unityserver.config 서식을 사용하여 상세한 설정이 가능합니다.

해당 config 서식은 기본적으로 하나 또는 각각의 파일에서 여러개의 프로그램에 대한 설정 옵션을 프로세스 이름과 서버 아이디를 통해 구분합니다.

#
# set 1
#
[process_name_1:server_id_100]
...

[process_name_1:server_id_101]
...
#
# set 2
#
[process_name_2:server_id_100]
...

[process_name_2:server_id_101]
...

주석 입력이 필요할 경우 해시(#) 마크를 사용하세요. 또한 새로운 Key를 unityserver/src/Defines.h 에 추가하여 unityserver/src/util/CfgMgr.cppLoad 함수에서 읽어오는 것이 가능합니다.

미리 정의된 옵션은 다음과 같습니다.

  • DefaultInterface: 외부 연결이 들어오는 인터페이스 이름입니다.

br0, eth0 등의 인터페이스는 ifconfig 명령어로 확인합니다.

  • DefaultPort: 외부에서 연결이 들어오는 사용할 Tcp Port를 입력합니다.

기본값은 11000 입니다.

  • ReliableInterface: 외부 연결이 들어오는 인터페이스 이름입니다.

br0, eth0 등의 인터페이스는 ifconfig 명령어로 확인합니다.

  • ReliablePort: 외부에서 연결이 들어오는 사용할 Udp Port를 입력합니다.

기본값은 11000 입니다.

  • BackboneInterface: 서버간 통신이 필요할 경우 전용망 인터페이스를 입력합니다.

보통 br1, eth1 등을 입력합니다. 없을경우 DefaultInterface 설정과 동일한 인터페이스를 입력하세요.

  • BackbonePort: 서버간 통신이 필요할 경우 서버 전용 Tcp Port를 입력합니다.

기본값은 11001 입니다.

  • MaxConnection: 최대 동시 접속 제한을 설정합니다.

하드웨어 사양에 따라 조정 하는것이 가능합니다. 최대값은 60000 이며 일반적으로 4000에서 8000정도를 입력합니다.

  • LogPath: unityserver/src/Enums.h 에 정의되어 있는 LOG_EVENT_TYPELOG_FIELD_TYPE 서식의 게임 로그 저장 위치입니다.

  • InfoPath: kill 명령어를 통한 안전한 종료 및 프로세스 상태 확인을 위한 PGID , PPID , PID 정보를 기록하는 위치입니다.

Updated by Master Chief 6 days ago · 6 revisions