게임 서버를 새 컴퓨터로 옮기는 순서: 월드·설정·접속 주소까지
작성·공식 문서 확인일 2026-09-07 · SameOS operator
새 컴퓨터에 게임 서버를 설치하고 월드 폴더만 복사하면 끝날까요? 실제 이전에서는 다른 버전으로 월드가 변환되거나, 서비스 사용자가 달라 저장이 실패하거나, 친구들이 계속 옛 서버에 접속하는 문제가 생길 수 있습니다. 이 글은 같은 게임·에디션의 Linux 전용 서버를 다른 Linux 호스트로 옮기는 절차입니다. 싱글플레이 월드를 전용 서버로 바꾸거나 에디션을 변환하는 작업은 별도 절차가 필요합니다.
1. 옮길 목록은 파일과 실행 조건을 함께 기록
게임 빌드, 실행 방식, Java·모드 로더 버전, 모드와 플러그인, 시작 명령, 설정 파일, 실제 데이터 루트, 서비스 사용자, 포트, 백업 위치를 적습니다. Docker라면 태그뿐 아니라 현재 이미지 ID나 digest와 볼륨 매핑도 기록합니다. latest라는 이름만으로 같은 실행 파일을 다시 받을 수 있다고 보장할 수 없습니다.
Minecraft의 level-name과 구현별 차원 저장 방식, Palworld의 실제 Saved 경로처럼 게임이 어느 폴더를 읽는지부터 확인합니다. 심볼릭 링크와 외부 모드 데이터베이스가 있다면 링크만 복사해서는 데이터가 함께 가지 않을 수 있습니다. 일반적인 전용 서버 간 이전에서도 플랫폼 인증이나 모드에 따른 플레이어 연결 상태를 직접 검증해야 합니다.
2. 새 호스트는 먼저 같은 버전으로 준비
이전과 게임 업데이트를 동시에 하지 않으면 문제가 생겼을 때 원인을 구분하기 쉽습니다. 먼저 기존과 같은 게임·로더·모드 조합을 준비합니다. 패키지 이름이 같아도 CPU 아키텍처가 달라 실행이 안 될 수 있으므로 x86_64와 ARM 같은 호스트 차이도 확인합니다.
데이터를 넣기 전에 실행 사용자, 저장 공간, 데이터 마운트, 게임 포트 규칙을 준비합니다. 새 서버는 테스트 기간 동안 허용한 기기에서만 접속하도록 제한하고 공개 목록 등록·자동 업데이트·자동 백업을 검토합니다. 시험 서버가 운영 백업 위치를 덮어쓰거나 기존 서버와 같은 파일을 동시에 열지 않게 해야 합니다.
3. 첫 연습과 최종 복사는 구분하기
첫 연습은 검증된 백업으로 새 호스트가 월드를 읽는지 확인하는 과정입니다. 운영 중인 폴더를 그대로 복사하면 파일마다 저장 시점이 달라질 수 있어 최종 복구본으로 취급하지 않습니다. 게임이 제공하는 저장 일시정지·일관된 스냅샷 절차를 검증하지 않았다면 최종 복사는 정상 종료 뒤 진행하는 것이 단순합니다.
최종 전환 시간에는 새 접속을 막고 게임 안 저장 → 정상 종료 → 프로세스 종료 확인 → 최종 복사 순서로 진행합니다. 재시작 정책이나 관리 패널이 옛 서버를 다시 켜지 않는지 확인합니다. 복사가 끝나기 전에 두 서버가 각각 진행 상황을 저장하면 어느 쪽을 남길지 결정하기 어려워집니다.
4. rsync는 방향과 끝의 슬래시를 확인
아래는 옛 호스트에서 새 호스트로 보내는 예시입니다. gameadmin 계정은 양쪽에서 해당 경로의 필요한 읽기·쓰기 권한이 있고 목적지의 빈 디렉터리가 이미 준비됐다고 가정합니다. 서버 주소는 문서 예시 주소 192.0.2.20이므로 실제 주소로 바꾸세요. 원본과 목적지는 공개 웹 폴더 밖에 둡니다.
원본 data/ 끝의 슬래시는 data 디렉터리 자체가 아니라 그 내용을 목적지로 보내겠다는 뜻입니다. 먼저 -n이 포함된 미리보기로 경로를 확인한 뒤 실제 복사를 합니다. 이 예제는 삭제 동기화 옵션을 쓰지 않습니다. 덮어쓰기 대상이 기존 운영 월드가 아닌 별도의 비어 있는 이전 폴더인지 직접 확인해야 합니다.
rsync -an --itemize-changes /srv/minecraft/data/ [email protected]:/srv/migration/minecraft/data/
rsync -a --info=progress2 /srv/minecraft/data/ [email protected]:/srv/migration/minecraft/data/
5. 내용 비교와 소유권 확인은 별도 단계
아래 checksum 미리보기는 양쪽 파일 내용을 읽어 차이를 찾으므로 큰 월드에서는 시간이 걸리고 디스크 I/O를 사용합니다. 두 서버가 그 경로를 쓰지 않는 상태에서 실행합니다. 차이가 표시되면 경로·전송 오류·파일 변경을 확인하고 기동을 미룹니다.
일반 계정의 rsync -a가 모든 소유자·그룹을 원본 그대로 보존한다고 가정하지 마세요. 새 호스트의 실행 사용자와 숫자 UID/GID를 확인하고 이전 폴더에만 필요한 권한을 맞춥니다. ACL·확장 속성을 사용하는 환경이라면 보존 요구사항과 추가 옵션을 별도로 검토해야 합니다.
이 비교는 목적지에만 있는 파일을 삭제하거나 전부 보고하는 절차가 아닙니다. 빈 목적지로 시작하는 이유가 여기에 있습니다. 시험 기동한 폴더를 최종 복사에 재사용하면 예전 테스트 파일이 섞일 수 있으므로 최종 전환은 새 경로로 준비합니다.
rsync -anc --itemize-changes /srv/minecraft/data/ [email protected]:/srv/migration/minecraft/data/
6. 월드가 보인 다음 플레이어와 저장을 확인
새 호스트에서 로그에 찍힌 저장 경로와 월드 이름을 확인합니다. Minecraft는 기존 건축물·차원·인벤토리·권한을 확인합니다. Palworld는 월드만 보이는지에 그치지 않고 기존 캐릭터, 길드와 주요 소유 상태를 확인합니다. 어떤 파일만 있으면 항상 복구된다는 식으로 단정하지 말고 게임 안 상태를 검증합니다.
접속 성공 뒤 작은 변경을 저장하고 정상 종료·재시작해서 유지되는지 확인합니다. 이때 저장 권한 문제나 다른 폴더를 읽는 문제를 찾을 수 있습니다. 검증 전에는 일반 플레이어를 받지 않는 편이 원복 판단을 단순하게 만듭니다.
7. 주소 전환과 되돌릴 수 있는 시점 정하기
집 안 이전이면 공유기의 포트포워딩 대상을 새 내부 IP로 바꾸고 외부 네트워크에서 확인합니다. 공인 주소가 바뀌면 DNS와 플레이어 안내도 수정합니다. DNS 캐시 때문에 일부 이용자가 옛 주소를 볼 수 있으므로 옛 서버는 접속을 받지 않는 상태로 유지합니다.
새 서버에서 일반 플레이를 받기 전 실패했다면 옛 서버의 보존된 최종 상태로 되돌리는 판단이 비교적 간단합니다. 새 서버에서 이미 진행이 생겼다면 옛 서버를 다시 켜는 순간 그 진행을 잃을 수 있습니다. 먼저 새 저장본도 보존하고 어느 시점을 기준으로 할지 결정해야 하며 두 폴더를 임의로 합치지 않습니다.
이전 완료는 새 주소 접속, 저장·재시작, 새 호스트 백업 생성과 복구 확인까지 통과한 상태로 봅니다. 옛 저장본은 정한 보관 기간 동안 유지하고 새 백업이 실제 복구 가능한 것을 확인한 뒤 정리합니다.
검증 범위와 공식 참고자료
공식 문서와 명령 옵션을 확인해 작성한 Linux 운영 가이드입니다. 이 글의 경로·서비스명·주소와 진단 상황은 설명용이며 실제 SameOS 게임 서버 장애 기록이나 성능 측정값이 아닙니다. 운영 서버에서 장애를 유발하거나 저장 데이터를 변경하는 실험은 하지 않았습니다. 게임 빌드와 설치 방식에 따라 설정·저장 위치가 다르므로 실제 환경을 확인한 뒤 적용하세요.