강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

DongJu Yoo님의 프로필 이미지
DongJu Yoo

작성한 질문수

절대강좌 유니티6 - 네트워크 게임 개발 마스터클래스 (Part3) : Netcode로 개발하는 2D RPG

Netcode 사용시 운영관점 질문

작성

·

8

0

안녕하세요 강사님,

먼저 좋은 강의에 감사드립니다.

1회차 완강하고 실습 병행하면서 2회차 들으려고 합니다.

 

Netcode로 실서비스를 운영하면서 강의에서는 안 다루지만 실무에서 꼭 알아야 했던 것이 있을까요?

예를 들어 서버 배포 자동화, 모니터링 툴 구성, 아니면 설계 단계에서 미리 고려했어야 했던 확장성 이슈 같은 것이 있었는지 강의 외적으로 실전 팁을 미리 알고 싶습니다!

그리고 유니티6 이전의 방식과 이후의 방식간에 운영관점에서 어떻게 달라졌는지 궁금합니다.

답변 1

0

이재현님의 프로필 이미지
이재현
지식공유자

안녕하세요. DongJu Yoo님,

완강후 2회차 실습까지 ... 감사합니다.~

추가적으로 실무에서 알아 두시면 도움이 될만한것 중에서 운영 관점에서 몇가지 말씀드리겠습니다.

  • 배포 자동화(CI/CD)

실시간 멀티플레이 게임은 그 특성상 패치 주기가 짧습니다. 따라서 CI/CD 구축해 자동 빌드 및 배포 환경을 갖추는 것이 중요합니다. 기존의 Github Actions, 젠킨스 같은 경우 유니티의 특성과는 다소 거리가 있기에 유니티에 특화된 Cloud Build기능을 학습하시는 것도 좋습니다.

  • 모니터링 및 로깅

Netcode 자체만으로는 세션 상태나 네트워크 품질을 추적하기 어렵습니다.패킷 손실, 지연(RTT), 서버 상태를 실시간으로 점검하는 것이 필요합니다. UGS의 Analytis(또는 AWS CloudWatch)의 활용법을 배우시면 좋겠습니다.

  • 확장성있는 설계 vs 확고한 설계

초기에 룸 기반 구조(Relay)로 시작하고, 유저 수가 늘어나면 전용 서버(Dedicated Server) 구조로 전환한다는 전략을 세울수 있습니다. 하지만 그 구조를 변경하는 것이 쉽지 않습니다. 더군다나 라이브 상태에서는요. 저 개인적으로는 처음부터 Relay방식으로 갈지 아니면 데디 방식으로 할지를 처음 부터 확실하게 결정하고 설계 및 구현하시길 권해드립니다.

  • 개발환경 분리

물론 깃으로 코드를 관리하시겠지만 운영 전에 반드시 개발 코드를 개발–릴리즈(스테징)–라이브 환경을 철저하게 분리하시고, 트래픽 테스트를 거치는 것을 추천드립니다.

그리고 Unity 6 이후에는 UGS와 NGO의 통합성이 좀 더 강화되어 운영 환경 설정이 훨씬 간편하고(?) 단순해졌습니다. 특히 대시보드에서 다양한 모니터링과 기능이 계속 강화되고 있기에 예전보다 편리해졌습니다.

 

실습 잘 진행하시고 좋은 성과 있으시길 기원합니다.

 

DongJu Yoo님의 프로필 이미지
DongJu Yoo

작성한 질문수

질문하기