Develog
로그인

shared server(포톤 전용 개념)

신재윤
신재윤
∙2026년 7월 23일∙조회 17
TILUnity게임개발Network
shared server(포톤 전용 개념)
네트워크 공부
본문 로딩 중...
이전 글Relay server란?
다음 글RPC
2
신재윤

댓글 1

정의

Shared server = 권위(누가 오브젝트 상태를 결정하는가)를 클라이언트들끼리 나눠 갖는 방식
(단, 클라이언트끼리 직접 연결하는 게 아니라 항상 Photon Cloud를 거쳐서 통신함)


특징

Shared Mode는 클라이언트끼리 직접 연결을 시도하지 않는다. 항상 클라우드(Photon Cloud)한테만 연결함

 연결 대상
P2P (풀메시)클라이언트끼리 서로 직접
Host Server클라이언트 → 호스트 (직접 연결 시도, 실패시 Relay)
Shared Server클라이언트 → 클라우드 (항상 이 경로만, P2P 시도 자체가 없음)
Dedicated Server클라이언트 → 전용 서버

구조만 보면 오히려 Dedicated Server랑 비슷함 (둘 다 한 곳에 연결하는 스타형)
다른 점은 그 중앙이 "개발자가 만든 게임 서버"냐 "포톤이 관리하는 클라우드"냐

 

1. 권위는 누가 갖나

기본 규칙: 오브젝트를 스폰한 클라이언트가 자동으로 그 오브젝트의 StateAuthority(상태 결정권)를 가짐.

예외 : 씬에 미리 배치된 오브젝트는 SharedModeMasterClient(방장 역할, 실제 서버는 아님)가 권위를 가짐.
(방장은 먼저 들어온 사람임, 나가면 자동으로 교체되며 권위 선택 기준이 없을 경우를 위한 기본값이라 보면 편함)

 

2. 클라우드는 뭘 하고 뭘 안 하나

  • 하는 거 : "지금 이 오브젝트는 누가 권위를 가지고 있다"는 정보를 기록하고, 그 클라이언트가 보낸 상태 변경을 다른 사람들한테 전달
  • 안 하는거 : 그 변경 값이 맞는지 검증안함. 게임 로직 자체를 전혀 모름 → 그냥 "권위자가 보낸 값을 그대로 전달"만 함

 

3. 장점

  • 서버 연산 부하가 적음 (재시뮬레이션 없음 → 가벼움)
  • 개발 복잡도가 낮음 (서버 코드 따로 안 짜도 됨)
  • 운영 비용이 없음 (서버 인프라 관리 부담 자체가 없음)

공부하며 궁금했던 것

Listen 서버, Dedicated Server랑 같이 못 쓰겠네?

Fusion은 세션 시작할 때 GameMode(Host/Server/Shared) 하나를 확정해야 함.
Shared Mode를 고르는 순간 "호스트라는 개체 자체가 없다"는 걸 선택한 거라,
Host Mode나 Dedicated Server와 한 세션 안에서 동시에 쓸 수 없음

관련사례

 

Paddle Paddle Paddle(솔로 개발 Steam 게임)

게임요약: 플레이어 두 명이 노를 하나씩 잡아 협동하여 스테이지를 클리어 하는 게임 (Host Mode 방식)
이 게임은 보트하나에 한 명씩 타서 경쟁하는 모드가 추가됐는데 호스트와 클라이언트의 차이로 게임조작이 나빠졌음
이 제약 안에서, 보트를 1명이 조작하면 Shared Mode 방식, 2명이 같이 조작하면 Host Mode 방식으로 오브젝트 단위 처리 로직을 다르게 구현함 <Photon과 개발자의 1:1 인터뷰 링크>


오늘의 요약

  1. Shared Mode는 P2P가 아니라 항상 클라우드 경유하는 방식이고, 권위(누가 결정하나)만 클라이언트한테 나눠준 것.
  2. 클라우드는 권위자의 값을 검증 없이 그대로 전달만 하기 때문에 레이턴시 이점은 없고, 대신 연산/비용/개발 부담이 적은 게 진짜 장점.
  3. Dedicated/Host Mode와는 한 세션에서 섞어 쓸 수 없고, 치팅 민감도가 낮은 협동/캐주얼 장르에 적합함.

디벨로그에서 쓰다가 마우스 뒤로가기 버튼 눌러져서 요약부터 처음까지 다시 썼다. 마우스 설정 바꿨고, 앞으론 노션에 쓰고 복붙해야겠다.

 

새 글이 올라오면 Develog 알림으로 알려드려요

댓글 1

댓글을 작성하려면 로그인이 필요합니다.

백종환2026년 7월 24일

@신재윤 안녕하세요! 글쓰기에 자동 임시저장 기능이 추가되었습니다. 이제 작성 중인 본문 글이 30초마다 자동으로 저장됩니다. Develog를 쓰시면서 불편을 드려 죄송합니다. 사용하시다가 추가로 불편한 점이 있으면 우측 상단 화살표를 눌러 오류 제보 주시면 적극 반영하겠습니다!

관련 글

[Unity] 제네릭의 컴파일

[Unity] 제네릭의 컴파일

ㅇㅇ

10월 7일42
디벨로켓 과정 설명회 - 게임 업계 취업 더 고민하지 말고 시작하세요

디벨로켓 과정 설명회 - 게임 업계 취업 더 고민하지 말고 시작하세요

게임 업계 취업의 막막함을 시원하게 해소해 줄 '디벨로켓 과정 설명회'가 개최됩니다. 현업 전문가가 들려주는 생생한 직무 정보부터 성공적인 취업 전략까지 모두 확인할 수 있습니다. 더 이상 혼자 고민하지 말고, 디벨로켓과 함께 게임 개발자의 꿈을 향해 첫걸음을 시작해 보세요.

10월 7일102
[Unity] 제네릭과 가변성(variance)

[Unity] 제네릭과 가변성(variance)

제네릭과 가변성

10월 6일821
[Unity] 제네릭의 컴파일
Unity

NEW[Unity] 제네릭의 컴파일

ㅇㅇ

KYO
KYO
420
KYO
KYO
∙10월 7일
420
디벨로켓 과정 설명회 - 게임 업계 취업 더 고민하지 말고 시작하세요
창업설명회게임취업+1

NEW디벨로켓 과정 설명회 - 게임 업계 취업 더 고민하지 말고 시작하세요

게임 업계 취업의 막막함을 시원하게 해소해 줄 '디벨로켓 과정 설명회'가 개최됩니다. 현업 전문가가 들려주는 생생한 직무 정보부터 성공적인 취업 전략까지 모두 확인할 수 있습니다. 더 이상 혼자 고민하지 말고, 디벨로켓과 함께 게임 개발자의 꿈을 향해 첫걸음을 시작해 보세요.

디에이치
디에이치
1020
디에이치
디에이치
∙10월 7일
1020
[Unity] 제네릭과 가변성(variance)
Unity

[Unity] 제네릭과 가변성(variance)

제네릭과 가변성

KYO
KYO
821
KYO
KYO
∙10월 6일
821