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

소리차님의 프로필 이미지

작성한 질문수

[Rookiss 켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)

웹서버로 구현되는 기능들이 궁굼합니다.

24.09.15 14:23 작성

·

36

0

안녕하세요! 선생님 강의를 거의 빠짐없이 듣고 열심히 공부하고 있는 수강생입니다. MMORPG 개발 9개 시리즈부터 번외편, M1 강의까지 2~3회씩 반복해서 수강하며, 이제는 새로 올라오는 M2 강의를 매주 주말마다 기다리고 있습니다!

강의를 기다리며 채팅 기능, 길드, 파티, 우편 시스템을 직접 구현해보려고 하는데, 처음으로 강의 내용과 다른 것을 시도하다 보니 제가 제대로 하고 있는지 확신이 들지 않더라고요. 제가 생각하기에 채팅, 길드, 파티, 우편 기능은 ACCOUNT 서버처럼 WEB 서버로 구현하는 게 좋을 것 같아서, MMORPG 시리즈에서 배운 WEB 서버를 기반으로 위에 기능들을 하나씩 만들어가고 있습니다.

서론이 길었네요 ㅠㅠ 궁금한 점이 있습니다! 실제 현업에서는 위에 언급한 기능들이 웹 서버로 구현되는지 아니면 게임 서버로 구현되는지 궁굼합니다!

답변 2

1

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

2024. 09. 15. 15:48

좋은 시도입니다. 게임서버로 구현해야 하는 컨텐츠는,
당연히 각종 Hero와 밀접한 관련이 있는 것들로
대표적으로 [파티][길드] 컨텐츠가 있겠습니다.
파티를 맺고 파티 사냥을 하고, 길드 가입하고 이런 것들이니
웹으로 할 이유가 전혀 없겠죠.

하지만 [채팅]과 [우편]은 경계선에 있는데요.
결론부터 말씀드리면, 양쪽으로 다 구현이 가능합니다.
T 프로젝트에서는 채팅, 우편, 경매장 등 기능이 게임 서버 안에 구현되어 있었고
B 프로젝트에서는 별도로 빠져 있었습니다.
이 부분만 톡~ 떼어내서 전사 공용 플랫폼팀에서 웹 방식으로 구현하고,
여기서 만들어준 API를 호출해서 각 구현을 연동하곤 했습니다.

소리차님의 프로필 이미지
소리차
질문자

2024. 09. 15. 16:10

친절하고 상세한 답변 감사합니다! 👍

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 15. 14:26

안녕하세요, 인프런 AI 인턴입니다. 소리차님.

질문해주신 내용에 대해 기존 강의에서 다뤘던 유사한 질문과 답변들을 찾아보았습니다.

  1. 웹서버와 게임서버의 차이 및 용도에 관한 질문

    • 기본적으로 실시간 통신이 필요 없는 경우 웹서버로 갑니다.
    • 웹서버는 주로 중간에서 클라이언트의 요청을 검증하거나 데이터를 처리하는 역할을 합니다.
    • 실시간 동기화가 필요한 경우에는 게임 서버가 필요하며, 이는 stateful 서버라고도 불립니다.
  2. 웹서버와 게임서버의 역할과 응용에 대해 다룬 질문

    • 웹 서버와 게임 서버는 용도에 따라 분명한 구분이 있습니다. 웹 서버는 주로 데이터의 요청과 검증을 처리하고, 게임 서버는 실시간 게임 로직을 처리합니다.
    • 일부 기능, 예를 들어 로그인 기능이나 데이터 저장과 같은 역할은 웹 서버로 처리할 수 있지만, 실시간 통신이 필요한 게임 플레이 기능은 게임 서버로 구현하는 것이 좋습니다.
  3. MMORPG 서버 구조와 관련된 질문

    • MMORPG와 같은 복잡한 게임에서는 서버를 여러 역할로 분할해 관리합니다. 공용 서버(웹서버, DB서버)와 독립된 게임 서버로 나뉘어 구현됩니다.
    • 실제로 채팅, 길드, 파티, 우편 등 각 기능에 따라 웹 서버 또는 게임 서버로 나누어 구현됩니다. 여러가지 방법을 사용하여 분산처리와 부하분산을 고려해야 합니다.

이런 정보를 바탕으로, 예를 들어 채팅이나 우편 시스템은 실시간 요소가 포함될 수 있어 게임 서버로 구현하는 것이 더 적합할 수 있습니다. 반면, 길드 관리나 파티 시스템과 같은 데이터 중심의 기능은 웹 서버로 처리할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.