UE5 부트캠프(TIL)
[UE5 TIL] 서버? 클라이언트? 기본개념 잡기
Yellow Kirin
2025. 4. 30. 11:37
클라이언트란?
1. 웹 클라이언트

출처 - 스파르타 코딩클럽 unreal 게임 개발 종합반 1-2
웹 브라우저를 의미하며,
서버에 요청을 보내 화면을 예쁘게 띄워주는 장치입니다.
2. 게임 클라이언트

실행 가능한 게임 파일로,
서버에 요청을 보내 응답을 통해 게임을 진행할 수 있도록 해주는 장치입니다.
클라이언트의 역할
- 실제로 화면에 게임을 보여주고, 사용자의 키보드 / 마우스 / 터치 입력을 받아 서버로 전달
- 서버에서 받은 결과를 화면에 그래픽이나 사운드로 표시
- 예: 캐릭터 이동, ‘아이템 사용’ 버튼을 누르면 정보를 서버로 보내고 결과를 받아 처리
웹 서버
웹 서버는 주로 텍스트나 이미지와 같은 정적인 콘텐츠를 전송하는 데 사용됩니다. 하지만 동적인 콘텐츠도 처리할 수 있으며, 빠르고 간단한 데이터 처리로 다수의 사용자에게 정보를 쉽게 제공하는 것이 목적입니다.
- 사용자의 브라우저 요청(HTTP/HTTPS)에 맞춰 웹 페이지나 이미지, 데이터를 제공합니다.
게임 서버
게임 서버는 실시간 상호작용과 복잡한 데이터를 처리해야 하기 때문에 웹 서버와는 다릅니다. 예를 들어 한 사용자가 게임에서 움직이면, 그 움직임이 다른 사용자에게도 실시간으로 반영되어야 합니다.
- 실시간 상호작용이 핵심입니다.
- 위치, 아이템, 캐릭터 상태 등 복잡한 데이터를 빠른 속도로 처리합니다.
- 여러 명이 동시에 접속하므로 서버 성능이 매우 중요합니다.
서버의 역할
- 게임의 핵심 로직(점수 계산, 상태 저장, 멀티플레이어 동기화 등)을 담당
- 여러 명의 플레이어가 동시에 접속해도 공정하고 일관성 있게 게임을 진행하기 위해 필요
- 예: 공격을 받았는지, 아이템을 먹었는지 등 최종 판단을 서버가 수행
게임 클라이언트를 만드는 대표적인 툴
유니티(Unity) / C#
장점
- 가벼운 초기 진입장벽
- 2D / 3D 게임 모두 빠르게 프로토타이핑 가능
- 모바일 등 멀티 플랫폼 지원이 강력
사용 예시
- 인디 게임
- 모바일 게임
- 간단한 VR / AR 프로젝트 등
언리얼(Unreal) / C++
장점
- 고퀄리티 그래픽 표현 가능
- 블루프린트(시각적 스크립트)로 비교적 쉽게 개발 가능
- AAA급 게임, 고사양 PC / 콘솔 게임 개발에 많이 사용
사용 예시
- 포트나이트, 기어즈 오브 워 등 하이엔드 게임
- 영화 / 방송 VFX
- 건축 시각화 분야 등
프로토콜이란?
프로토콜은
컴퓨터나 전자 기기 간에 정보를 교환할 때 따르는 규칙의 집합을 의미합니다. 통신 규약이라고도 하며, 원활한 통신을 위해 반드시 지켜야 하는 약속입니다.
클라이언트와 서버가 통신하기 위해서는 반드시 프로토콜이라는 약속이 필요합니다.
주요 프로토콜 종류
- HTTP / HTTPS
- 웹에서 주로 사용
- 요청/응답 구조가 명확하며 REST API 등을 통해 데이터 전송
- TCP / UDP
- 게임에서는 실시간성이 중요한 경우 UDP 사용
- 안정성이 중요한 경우에는 TCP 사용
- 기타
- WebSocket – 브라우저 실시간 통신
- RUDP – 신뢰성을 높인 UDP
서버 구성 및 확장 전략
🖥️ 단일 서버 (Single Server)
- 개념: 하나의 서버에서 모든 기능(게임 로직, 저장, 인증 등)을 처리
- 장점:
- 구조가 단순하고 구축이 쉬움
- 테스트나 소규모 게임에 적합
- 단점:
- 유저 수 증가 시 성능 한계
- 서버 다운 시 전체 서비스 중단
- 확장성 / 유지보수에 불리
🗂️ 분산 서버 (Distributed Server)
- 개념: 여러 서버가 역할을 나눠 각각 기능을 처리 (예: 로그인, 게임, DB 등)
- 장점:
- 동시 접속 유저 수 증가 대응 가능 (확장성)
- 일부 서버 장애에도 다른 서버는 정상 작동 (내결함성)
- 서버별 최적화 가능
- 단점:
- 초기 설계와 관리가 복잡
- 서버 간 데이터 동기화 필요
📌 사용 예시
구조 | 사용 예 |
---|---|
단일 서버 | 인디 게임, 테스트용 게임, 소규모 모바일 게임 |
분산 서버 | MMORPG, FPS, 대규모 온라인 게임 |
📈 서버 확장 방식: Scale Up vs Scale Out
🔼 Scale Up (스케일 업)
- 개념: 하나의 서버 성능(CPU, RAM 등)을 업그레이드하여 처리 능력을 높이는 방식
- 장점: 구조 변경 없이 간편하게 성능 향상
- 단점: 물리적/비용적 한계 존재
🔀 Scale Out (스케일 아웃)
- 개념: 여러 대의 서버를 추가해 부하를 분산시키는 방식
- 장점: 유연한 확장 가능, 장애 시 다른 서버가 대응
- 단점: 서버 간 데이터 동기화 및 설계 복잡성