게임 서버에 클라이언트 연결
PlayFab 게임 서버는 컨테이너화된 응용 프로그램입니다. 게임 서버가 Azure에 배포될 때 그 네트워킹 환경을 볼 수 있으며 게임 서버는 인터넷 액세스 가능한 IP 주소에 대한 직접 액세스 권한이 없습니다.
대신 GetAdaptersInfo
(Windows) 또는 GetIfAddrs
(Linux)를 사용하는 게임 서버는 네트워크 주소 변환(NAT44)을 통해 구성된 고유하지 않은 IP 주소가 있는 단일 네트워크 어댑터를 관찰합니다.
이러한 네트워크 가상화 및 NAT 사용을 통해 게임 서버는 기반 Azure 인프라가 변경될 경우에도 연결을 유지할 수 있습니다. 모든 게임 서버는 IPv4 연결을 가지지만 향후에 IPv6 연결이 추가될 계획입니다.
참고 항목
모든 게임 서버는 IPv4 연결을 가지지만 향후에 IPv6 연결이 추가될 계획입니다.
단일 가상 머신에서 여러 게임 서버 인스턴스를 압축하도록 서버 배포를 구성할 수 있습니다. 각 컨테이너화로 인해 각 게임 서버 인스턴스가 독립된 IP 주소와 TCP/UDP 포트 공간을 가지므로 대부분의 경우에는 네트워크 환경을 수정하지 않습니다.
그러나 단일 가상 머신의 모든 인스턴스는 실제 네트워크 인프라를 공유하므로 네트워크 경쟁이 발생할 수 있습니다.
고밀도 구성을 테스트하는 동안 일반적인 경쟁으로 인해 허용할 수 없는 게임 플레이 문제가 발생하지 않는지 테스트하는 것이 중요합니다.
서로 다른 가상 머신 크기 및 운영 체제는 다른 대역폭 수준으로 프로비전됩니다. 특정 SKU에 대해 프로비전된 대역폭을 보려면 Azure의 처리량 문서를 확인하세요.
게임 서버는 PlayFab 서버 API를 통한 서비스 간 호출을 통해 할당됩니다. 클라이언트 연결에 필요한 연결 정보는 이러한 서비스와 클라이언트를 통해 전달되며, 게임 서버에 직접 연결하기 위해 일반적으로 TCP 또는 UDP 소켓을 사용합니다. 일반적으로 게임 서버는 게임 서버 개발자가 선택한 잘 알려진 UDP 및 TCP 포트를 수신합니다.
이에 연결하려면 게임 클라이언트에 게임 서버의 인터넷 연결 IP 주소가 필요합니다. 또한 Azure 네트워크 가상화 장치를 통해 주소를 지정할 수 있도록 클라이언트는 서버가 수신하는 잘 알려진 포트를 허용하기 위해 포트 전달 정보가 필요합니다.
- 공용 IPv4 주소
- 인터넷 연결 포트에 이름을 사용하여 개발자가 제공한 포트에 매핑합니다.
게임 서버 프로토콜 이름 | 프로토콜 | 인터넷 연결 포트 |
---|---|---|
멀티 플레이어 | UDP | 3098 |
디버거 | TCP | 23222 |
게임 서버에 TCP/UDP 포트 사용
게임 관리자 또는 엔터티 API CreateBuild를 통해 제공된 포트 요구 사항은 게임 클라이언트가 가상 머신에 접촉할 수 있도록 합니다. 또한 사용자가 지정한 포트에서 네트워크 트래픽을 허용하도록 상주 운영 체제에 방화벽을 구성합니다.
멀티 플레이어 서버에서 사용하는 공용 인터넷 연결 포트 및 IP 주소
멀티 플레이어 VM에서 사용하는 IP 주소는 Azure VM에서 사용하는 IP 주소의 일반 풀에서 가져옵니다. 이러한 IP는 AzureCloud 서비스 태그로 지정됩니다. 자세한 내용은 온-프레미스 서비스 태그를 참조하세요. 모든 VM은 게임 트래픽에 30000-31000의 포트 범위를 사용하고, SSH/RDP(원격 액세스) 트래픽에는 50000-55000의 포트 범위를 사용합니다.