서버 간 인벤토리 동기화
네트워크 서버 간에 인벤토리, 체력, 효과를 전송하는 방법, 언제 필요한지, 아이템 손실이 발생할 수 있는 이유를 알아봐요.
업데이트 2026년 8월 13일
네트워크에서 각 서버는 자체 플레이어 데이터를 가집니다. 서바이벌과 로비의 인벤토리는 서로 다릅니다. 때로는 이를 동기화해야 할 필요가 있습니다.
필요한 경우
- 하나의 서바이벌 월드를 위한 여러 서버 (부하 분산).
- 별도 서버에 있는 리소스 월드.
필요 없는 경우
- 로비와 미니게임: 인벤토리가 설계상 분리되어 있습니다.
- 크리에이티브 서버: 서바이벌과 동기화하면 복제가 발생합니다.
진행 방법
동기화 플러그인 (MySQLPlayerDataBridge, HuskSync 등)은 인벤토리, 엔더 상자, 체력, 허기, 경험치, 효과를 MySQL 또는 Redis에 저장하고 전환 시에 전송합니다.
주요 위험
전환 중 연결이 끊기면 아이템이 손실되거나 복제될 수 있습니다. 위험 완화 규칙:
- 플러그인이 지원한다면 MySQL만 쓰지 말고 Redis를 사용하세요.
- 전환 중에는 서버를 종료하지 마세요: 데이터가 전송되는 동안 네트워크의 한 서버를 중지하는 것이 손실의 가장 흔한 원인입니다.
- 인벤토리 로깅을 활성화하세요: 이것이 없으면 불만 사항을 조사할 수 없습니다.
- 데이터베이스를 백업하세요 — 데이터베이스 덤프.
대안
흔히 동기화하지 않고 모든 것을 하나의 게임 서버로 통합하여 서바이벌을 분할하지 않는 것이 더 쉽습니다. 분할은 실제로 성능 한계에 도달했을 때만 정당화됩니다 — 100명 이상 동시 접속 서버.
Minecraft 호스팅오프라인일 때도 서버가 실행돼요서버 만들기
