우리가 서버에서 사용할 message를 모아둔 .proto 메시지를 SessionServer, GameServer, 그리고 공용으로 나누기 위해서는 각 서버의 역할과 메시지의 사용 목적에 따라 구분해야 합니다. 아래는 메시지를 나누는 기준과 구체적인 분류입니다.
구분 기준
- SessionServer:
- 사용자 인증, 토큰 관리, 대기실 매칭 등 사용자 관리와 세션 관련 로직을 처리.
- 로그인, 회원가입, 토큰 갱신 등의 메시지가 여기에 해당.
- GameServer:
- 게임 플레이와 관련된 실시간 데이터 동기화와 게임 상태 관리를 처리.
- 플레이어 동기화, 게임 상태, 유닛 상태, 액션 관련 메시지가 여기에 해당.
- 대기실에 관한것 부터 이제 GameServer에 해당.
- 공용:
- SessionServer와 GameServer 모두에서 사용되거나 공통적으로 활용 가능한 메시지.
- 우리는 모두 사용되는게 없음.
- 왜냐하면 SessionServer에는 우리는 User데이터에 대한 정보로 로그인, 회원가입, 토큰 정도만 담고 대기실을 만듬.
분류 결과
SessionServer
- 사용자 인증 관련: account.proto
- C2SRefreshTokenReq, S2CRefreshTokenRes
- C2SSignUpReq, S2CSignUpRes
- C2SSignInReq, S2CSignInRes
- 대기실 매칭 관련: lobby.proto
- C2SCreateRoomReq, S2CCreateRoomRes
- C2SMatchCancelReq, S2CMatchCancelRes
- C2SMatchReq, S2CMatchProgressNoti
- C2SJoinRoomReq, S2CJoinRoomRes
- C2SQuitRoomReq, S2CQuitRoomNoti
- C2STeamChangeReq, S2CTeamChangeRes
- S2CSyncRoomNoti
- C2SGameStartReq, S2CGameStartRes
- C2SLoadProgressNoti, S2CSyncLoadNoti
GameServer
- 게임 상태 관련: inGame.proto
- GameState
- S2CInitialNoti, S2CSyncPlayersNoti
- S2CSyncFurnaceStateNoti, S2CSawmillStatusNoti, S2CWorkbenchStatusNoti
- S2CGameOverNoti
- Position
- ItemData
- PlayerRoomInfo, PlayerInitialData
- PlayerState, FieldUnit
- 플레이어 액션 관련: inGame.proto
- C2SPlayerActionReq, S2CPlayerActionRes
- C2SSurrenderReq, S2CSurrenderRes, S2CSurrenderNoti
- 객체 관련: inGame.proto
- S2CSpawnObjectNoti, C2SDestoryObjectReq, S2CDestoryObjectNoti
- S2CSyncFieldUnitNoti
- 맵 이동: inGame.proto
- C2SMoveToAreaMapReq, S2CMoveToAreaMap
- 건물 요청 및 응답: inGame.proto
- C2SWorkbenchReq, S2CWorkbenchRes
- C2SFurnaceReq, S2CFurnaceRes
- C2SSawmillReq, S2CSawmillRes
- Ping/Pong: healthCheck.proto
- S2CPingReq, C2SPongRes
공용
- 데이터 구조:
- 우리는 공용데이터가 없다.
'TIL' 카테고리의 다른 글
C# .csv파일 변환 방법과 예시 (0) | 2024.11.26 |
---|---|
Class와 Structure의 차이점 및 사용 목적 (0) | 2024.11.26 |
Tower Defense Online Project 트러블 슈팅 - 5 (1) | 2024.11.12 |
Tower Defense Online Project 트러블 슈팅 - 4 (0) | 2024.11.12 |
Tower Defense Online Project 트러블 슈팅 - 3 (0) | 2024.11.12 |