서버
[네트워크] 호스트 (host), 클라이언트 (Client), 서버 (Server)
클라이언트클라이언트는 서버에서 사용할 수 있는 서비스에 엑세스하는 컴퓨터 하드웨어 장치 또는 소프트웨어다. 서버는 종종 실제 별도의 컴퓨터에 위치한다.서버서버는 다른 컴퓨터의 요구 사항을 충족하기 위해 서비스를 실행하는 물리적인 전용 컴퓨터다. 실행 중인 서비스에 따라 파일 서버, 데이터베이스 서버, 홈 미디어 서버, 인쇄 서버 또는 웹 서버일 수 있다.호스트호스트는 네트워크를 통해 데이터 또는 서비스를 제공하는 다른 컴퓨터에 연결된 컴퓨터다. 이론적으로 네트워크에 연결된 모든 컴퓨터는 네트워크의 다른 피어에 호스트 역할을 한다. 본질적으로 호스트는 네트워크에 있는 둘 이상의 컴퓨터의 논리적 관계를 반영한다. 컴퓨터가 다른 컴퓨터의 호스트일 수 있다. 마찬가지로 라우터는 다른 라우터의 호스트일 수 있다...

Stateful (동기) / Stateless (비동기) 서버
Stateful (실시간 온라인 게임) 게임서버 Stateless (비실시간 비동기 온라인 게임) 게임서버 이 두 가지의 서버기술은 완전히 다른 방식의 기술을 사용한다. 먼저 게임의 종류에 대해 알아보자. 게임은 크게 '실시간 온라인 게임'과 '비실시간 비동기 온라인 게임'으로 나뉜다. 실시간/비실시간 게임 실시간 온라인 게임 리니지 LOL 오버워치 크레이지아케이드 이런 실시간 온라인 게임들은 다수의 유저들과 실시간 액션 플레이를 해야한다. 그렇기 때문에 모든 클라이언트는 서버에 접속하여 연결을 유지한 상태로 플레이를 진행한다. 또한 게임의 로직과 전투의 판정 등, 모든 데이터와 결정은 게임서버가 주도적으로 진행해야만 한다. 우리는 이런 게임을 ‘실시간 온라인 게임’ 이라고 부르며 이런 목적의 게임 서버..

[Unreal] 멀티플레이 개념잡기 Replicated
정의 일반적인 게임들은 Steam에 연동하는 등의 플랫폼 작업이 뒤따르거나, DB에 현재 상태의 값을 저장하는 등 서버로서 필요한 작업이 더욱 많다. 다만 이러한 부분은 일단 제쳐두고 별다른 save data 없이 단판 게임으로서 멀티플레이 게임을 어떻게 만들 것인지 부터 생각해보자. 개인적으로는 dedicated server를 연습하기 위해 멀티플레이 개념을 잡고 있으므로 리슨 서버(listen server)에 대해서는 별도로 다루지 않는다. 참고로 Editor에서 dedicated server를 이용해 여러 클라이언트를 띄우려면 아래와 같이 설정하면 된다. Replicated 속성 적용하기 기본적으로 위의 그래프를 보면 replicated 속성은 아래 구조체에 적용할 수 있다. - GameSt..