작성
·
1.1K
0
안녕하세요 ! 어렵지만 열심히 반복해서 서버 강의를 듣고있는 학생입니다.
다름이 아니라 iocp 서버로 Lobby를 제작하고 dedicated server로 InGame을 제작해서 2개의 서버를 함께 돌리려고 합니다.
iocp server로 Lobby Level을 구성하고 3명이 한팀을 이뤄 MatchMaking을 통해 dedicated server로 만들어진 InGame Level로 넘길 생각입니다!
iocp server와 dedicated server를 연결해두고, 클라이언트들을 옮기는 방식을 쓰려고 구상을 했는데, 제가 만든 iocp server와 dedicated server를 어떻게 연결할지 감이 안와서 질문드립니다.
혹시 이 방법이 불가능한지에 대해서도 여쭙고싶습니다. 감사합니다
답변 1
2
사실 MMO라면 Lobby Server <-> Game Server 연결해둬도 무방하지만
배그처럼 방이 아주 많이 생기고 없어지는 데디 서버의 경우 굳이 그렇게까진 하지 않습니다.
lobby server와 dedicated server가 tcp 상시 연결없이 웹통신을 통해 통신해도 되기 때문입니다.
즉 lobby server에서 클라한테 dedi server 주소를 알려주면 그쪽으로 붙으면 됩니다
(물론 jwt 같은 인증 토큰이나, redis를 통한 허락 기록이라던가 무엇인가? 를 이용해 데디 서버에서 인증을 할 수는 있어야겠죠)
간단한 포폴이라면 그냥 하드코딩된 dedi server 주소값을 건내주고 하게 하면 될 것이고,
더 진지한 프로젝트라면 개인적으로는 C++ 서버보단 C#으로 로비를 만드는게 훨 좋다 봅니다.
웹이나 JWT이라거나 각종 라이브러리 활용이 훨씬 좋기 때문이죠.
(실제로 배그도 C# 서버를 활용한 것으로 알고 있습니다)
그리고 Lobby, MatchMaking은 겸용으로 하나의 서버에서 처리하는 것도 나쁘지 않습니다.