← 기술 지식

기술 지식 / 게임 서버

게임 서버 기초

입력, 월드 상태, 틱, 충돌과 네트워크 전달을 캐릭터 이동의 흐름으로 설명합니다.

게임 서버 · 원리·구현·운영
기술 지식 트리

플레이어가 앞으로 이동하는 키를 눌렀다고 해 보겠습니다. 클라이언트는 즉시 캐릭터를 움직여 보일 수 있지만, 다른 플레이어에게 보여 줄 위치와 벽을 통과했는지는 누가 확정할까요? 실시간 게임 서버는 여러 입력을 하나의 게임 규칙과 월드 상태에 적용해 결과를 정합니다.

입력과 권위 상태

입력은 ‘앞으로 이동하려 한다’는 의도입니다. 위치와 피해량 같은 결과는 그 의도를 현재 상태와 규칙에 적용한 뒤 얻습니다. 클라이언트가 보낸 최종 위치를 그대로 믿으면 벽 통과나 속도 위반뿐 아니라 지연·중복 입력으로도 상태가 어긋날 수 있습니다.

권위 서버 모델에서는 서버가 이동·충돌·자원 차감 등 합의된 범위의 결과를 확정합니다. 입력에는 캐릭터와 세션, 순서 번호를 연결하고 중복·오래된 입력을 구분합니다. 이 구조가 네트워크 지연을 없애지는 않으므로 클라이언트 예측과 서버 보정을 함께 사용할 수 있습니다.

월드 상태와 시간 단계

서버는 캐릭터의 위치·속도·체력, 지형과 문 상태 같은 월드 데이터를 관리합니다. 실시간 시뮬레이션에서는 일정한 시간 간격인 틱마다 입력과 상태를 갱신하는 방법이 흔합니다. 20Hz라면 목표 간격은 50ms입니다.

단순한 이동 모형에서 위치 x=0, 속도 2m/s, 시간 간격 0.05초라면 다음 위치는 0+2×0.05=0.1m입니다. 실제 게임에서는 그 구간에 벽이 있는지, 경사나 가속이 있는지 등을 추가로 계산합니다. 끝점이 비어 있다는 사실만으로 중간 이동 경로가 안전한 것은 아닙니다.

권위 틱의 기본 흐름입력 수집·순서·유효성. 이동·행동 계산. 충돌·전투·자원 판정. 확정 상태·이벤트 전달허용된 입력후보 변화권위 결과입력 수집·순서·유효성이동·행동 계산충돌·전투·자원 판정확정 상태·이벤트 전달
권위 틱의 기본 흐름 화살표는 단순화한 한 틱의 처리 순서입니다. 게임별 세부 순서는 달라질 수 있으며 그 순서 자체가 판정 규칙의 일부입니다.
그림을 글로 읽기
  • 입력 수집·순서·유효성
  • 이동·행동 계산
  • 충돌·전투·자원 판정
  • 확정 상태·이벤트 전달
  1. 입력 수집·순서·유효성 → 이동·행동 계산: 허용된 입력
  2. 이동·행동 계산 → 충돌·전투·자원 판정: 후보 변화
  3. 충돌·전투·자원 판정 → 확정 상태·이벤트 전달: 권위 결과

공간 후보와 정밀 판정

물체가 천 개면 모든 쌍은 499,500개입니다. 매 틱 모든 형상을 정밀 비교하기보다 격자나 트리로 근처 후보를 먼저 추릴 수 있습니다. 후보 단계에서는 실제 충돌을 놓치지 않는 보수적 범위를 사용하고, 최종 형상 검사는 다음 단계에서 수행합니다.

경로 탐색도 비슷하게 공간 표현을 사용하지만 질문은 다릅니다. 경로는 목표까지 갈 계획이고 충돌은 지금 이동 구간을 실행해도 되는지의 판정입니다. 길을 찾은 뒤 문이 닫히면 계획이 낡으므로 이동 직전 재검증이 필요합니다.

상태 전달과 화면 예측

서버가 모든 객체의 모든 필드를 모든 플레이어에게 보낼 필요는 없습니다. 주변 위치는 관심 영역에 따라 보내고, 비공개 인벤토리나 팀 정보는 별도 권한으로 제한합니다. 전송량을 줄이는 것과 공개 권한을 정하는 것은 함께 고려해야 합니다.

클라이언트는 입력을 먼저 적용해 화면 반응을 빠르게 만들 수 있습니다. 서버가 입력 10까지 확정한 상태를 보내면 클라이언트는 그 상태에서 미확정 입력 11 이후만 다시 적용합니다. 화면을 부드럽게 보간하는 것은 권위 피해나 탄약을 임의로 바꾸는 것과 다릅니다.

틱 예산과 지속 과부하

50ms마다 실행해야 하는 틱의 계산에 60ms가 계속 걸리면 매번 지연이 더 쌓입니다. 밀린 틱을 무제한 따라잡는 루프만으로 해결되지 않습니다. 전투·충돌처럼 반드시 지킬 규칙과 일부 AI·통계처럼 지연할 수 있는 일을 구분해야 합니다.

예를 들어 틱 10의 입력이 서버에 늦게 도착하면 입력 순서 번호를 기준으로 이미 확정한 틱에 다시 적용하지 않고, 아직 처리하지 않은 틱의 입력 큐에 넣어야 합니다. 시험에서는 같은 입력 로그를 두 번 재생해 위치·체력·틱 번호가 같아지는지, 클라이언트가 보인 예측 위치와 서버 확정 위치가 다를 때 보정은 화면만 바꾸고 권위 체력은 바꾸지 않는지 확인합니다.

AI 평가 빈도를 낮추면 공격·회피 반응도 달라질 수 있습니다. 따라서 최적화는 CPU 감소뿐 아니라 게임 결과와 공정성까지 비교해야 합니다. 입력 로그·난수 상태·틱 번호·정책 버전을 기록하면 같은 판정을 재현하는 데 도움이 됩니다.

세부 학습 경로

권위 입력 → 틱 예산 → 공간 후보 → 연속 충돌로 이어집니다. 이동 계획은 경로 공간, 네트워크 공개는 AOI에서 다룹니다.

후속·관련 개념

이 개념의 확장

분야별 학습 경로

전체 기술 지식
선택 연습 · 관련 질문 3개

질문은 이해를 확인하는 보조 자료입니다. 학습 경로와 문서의 범위는 질문 수와 독립적입니다.