Ubuntu 24.04 VPS에 Minecraft Paper 서버 구축하기
Ubuntu 24.04 환경에서 Paper 서버를 운영하는 방법을 안내합니다. Java 21 설치부터 systemd 서비스 등록, 25565 포트 방화벽 설정, 안전한 월드 백업까지 실제 운영에 필요한 핵심 설정과 권장 RAM 사양을 상세히 정리했습니다.
구축할 환경
지속적으로 운영 가능한 Minecraft Java Edition 서버를 구축합니다. Ubuntu 24.04 환경에서 Paper를 사용하며, 전용 minecraft 계정으로 systemd를 통해 실행하고 Restart=on-failure를 적용합니다. 화이트리스트를 활성화하고, 플레이어와 JVM 사이에 위치한 두 방화벽 모두에서 25565 포트를 개방합니다. 또한, 월드 데이터가 손상되지 않도록 안전한 방식으로 백업을 수행합니다. 서버 자체는 하나의 jar 파일과 하나의 java 명령어로 구성됩니다. 친구들과 1년 동안 즐길 수 있는 서버와 첫 주말에 사라지는 서버의 차이는 바로 이 명령어 주변의 설정에 있으며, 본 가이드에서 이를 다룹니다.
비용을 지불하기 전에 두 가지 주의 사항을 알려드립니다. 첫째, Minecraft는 메모리 소모가 크고 대부분 단일 스레드로 동작합니다. 1 GB RAM의 VPS로는 원활한 서버 운영이 불가능하며, 느린 코어 4개보다 빠른 코어 1개가 훨씬 유리합니다. 둘째, 이 가이드는 Java Edition 기준입니다. Bedrock 플레이어, 콘솔, 모바일 기기, Windows Bedrock 앱 사용자는 Java 서버에 접속할 수 없습니다. Bedrock은 UDP 19132 포트를 사용하는 별도의 서버 소프트웨어가 필요하거나 Geyser 플러그인을 사용해야 하는데, 이는 본 가이드의 범위를 벗어납니다.
root 또는 sudo 권한이 있는 최신 Ubuntu 24.04 KVM VPS가 필요하며, 소요 시간은 약 30분입니다.
서버 규모 산정: 친구용 서버에 실제로 필요한 사양
RAM이 가장 중요한 수치이며, 실제 필요한 용량은 모드팩 포럼에서 권장하는 수치보다 낮습니다.
- 2 GB: 바닐라 서버에서 2~5명의 플레이어가 적당한 시야 거리로 플레이하기에 적합합니다. 구동은 가능하지만 여유 공간은 없습니다.
- 4 GB: 친구용 서버로 가장 적당한 크기입니다. Paper를 사용하여 10명 정도의 플레이어가 소수의 플러그인과 함께 접속할 수 있으며, 운영체제 구동을 위한 자원도 충분합니다.
- 8 GB 이상: 모드팩을 사용하거나 20명 이상의 플레이어가 접속하는 환경에 적합합니다. 이 경우 단일 코어 CPU 속도도 고려해야 하는데, 게임의 메인 루프가 단일 스레드에서 실행되기 때문입니다.
플레이어가 탐험을 진행할수록 월드 데이터도 디스크에서 커집니다. 활발하게 운영되는 서바이벌 월드는 수 기가바이트에 달할 수 있으므로, 월드 데이터와 백업을 위한 여유 공간을 충분히 확보하십시오.
바닐라(Vanilla)인가 Paper인가? Paper는 공식 jar 파일을 그대로 대체할 수 있습니다. 동일한 월드와 클라이언트를 사용할 수 있으며, 별도의 클라이언트 측 모드도 필요하지 않습니다. Paper는 청크 로딩, 엔티티 틱, 호퍼 등 서버의 가장 느린 경로를 재작성하고 플러그인 API를 추가합니다. 바닐라를 사용해야 하는 유일한 이유는 Paper의 최적화로 인해 동작이 달라질 수 있는 기술적인 레드스톤 팜을 운영할 때뿐입니다. 그 외의 모든 사용자에게는 Paper가 기가바이트당 더 많은 플레이어를 수용할 수 있는 효율적인 선택입니다. 아래의 모든 내용은 두 방식 모두에 적용됩니다.
1단계: Java 21 설치
Minecraft 1.20.5 및 이후 모든 릴리스(1.21.x 포함)는 Java 21을 요구합니다. Ubuntu 24.04는 기본 저장소에서 이를 제공하며, headless 빌드는 서버에서 사용하지 않는 데스크톱 라이브러리를 제외합니다:
sudo apt update && sudo apt install -y openjdk-21-jre-headless
java -version올바른 결과: 첫 번째 줄에 openjdk version "21.0.x"가 표시되어야 합니다. 만약 17이나 11이 표시된다면, 다른 JRE가 설치되어 우선순위를 점유하고 있는 상태입니다. sudo update-alternatives --config java을 실행하여 java-21이 포함된 항목을 선택해 수정하십시오.
이 확인 과정을 건너뛰면 나중에 Minecraft 서버에서 가장 많이 검색되는 오류가 발생합니다. Java 17을 사용하면 서버 jar 파일이 즉시 종료되며 다음과 같은 메시지가 출력됩니다:
Error: LinkageError occurred while loading main class net.minecraft.bundler.Main
java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been
compiled by a more recent version of the Java Runtime (class file version 65.0),
this version of the Java Runtime only recognizes class file versions up to 61.0이 숫자는 버전 불일치를 나타냅니다. class file version 65.0은 Java 21을, 61.0은 Java 17을, 60.0은 Java 16을 의미합니다. 어떤 버전 조합이 나타나든 해결 방법은 동일합니다. 더 최신 JRE를 설치하고 update-alternatives를 다시 실행하십시오.
2단계: 전용 사용자 사용 (root 계정 금지)
서버는 플러그인 코드를 실행하며, 해당 포트에 접근할 수 있는 모든 이로부터 네트워크 입력을 받아 처리합니다. 만약 이 과정에서 문제가 발생할 경우, root 권한으로 실행 중인 프로세스가 탈취되면 VPS 전체가 장악됩니다. 반면 minecraft 사용자로 실행 중이라면 해당 게임 월드에 대한 권한만 탈취될 뿐입니다.
sudo adduser --system --group --home /opt/minecraft minecraft--system 명령은 비밀번호가 없고 SSH 로그인이 불가능한 계정을 생성하며, /opt/minecraft를 해당 계정의 홈 디렉터리 및 작업 디렉터리로 설정합니다. 이후 서버와 관련된 모든 명령은 이 사용자의 권한으로 실행합니다.
3단계: 공식 소스에서 서버 jar 다운로드
서버 jar 파일은 오직 두 곳에서만 받아야 합니다. 바닐라 서버는 minecraft.net의 공식 다운로드 페이지, Paper 서버는 papermc.io의 다운로드 페이지입니다. 서버 jar 파일을 재포장하여 제공하는 서드파티 "다운로드 허브"는 오랫동안 악성코드를 유포하는 경로로 사용되어 왔습니다. 서버 jar는 인터넷에 노출된 서버에서 24시간 내내 실행할 임의의 코드입니다.
공식 페이지에서 현재 빌드의 다운로드 링크를 복사하십시오(URL은 버전과 빌드마다 변경되므로 여기에 고정된 주소를 적으면 금방 쓸모없게 됩니다). 그 후 다음을 수행합니다.
cd /opt/minecraft
sudo -u minecraft wget -O server.jar 'PASTE-THE-COPIED-URL-HERE'올바른 결과: 약 50 MB 크기의 server.jar 파일이 생성되어야 하며, 소유자는 minecraft이어야 하고, ls -lh /opt/minecraft/server.jar 명령으로 파일 무결성을 확인해야 합니다.
단계 4: 첫 실행, EULA 동의 및 관리자 권한 획득
systemd를 설정하기 전에 서버를 대화형 모드로 한 번 실행하십시오. 첫 실행 시에는 라이브 콘솔에서만 처리할 수 있는 두 가지 작업이 있습니다.
cd /opt/minecraft
sudo -u minecraft java -Xms1G -Xmx1G -jar server.jar nogui서버는 몇 초 내에 종료됩니다. Paper는 패치를 적용하느라 잠시 더 시간이 소요되며, 로그는 모두가 마주하게 되는 다음 줄에서 멈춥니다.
[ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.이는 오류가 아니라 라이선스 확인 절차입니다. 실행 결과로 jar 파일 옆에 eula.txt 파일이 생성되었습니다. 아직 읽지 않았다면 링크된 EULA를 확인한 뒤, 플래그를 다음과 같이 변경하십시오.
sudo -u minecraft sed -i 's/eula=false/eula=true/' /opt/minecraft/eula.txt동일한 java 명령을 다시 실행하십시오. 이번에는 월드를 생성하느라 첫 부팅 시 1~2분 정도 소요되며, 이후 다음 상태에서 대기합니다.
[Server thread/INFO]: Done (9.204s)! For help, type "help"이제 라이브 콘솔이 활성화되었습니다. 두 번째 작업을 위해 콘솔에 op YourMinecraftName (본인의 정확한 게임 내 사용자명)을 입력하십시오. 서버가 ops.json 파일에 해당 내용을 기록하므로, 나중에 콘솔에 직접 접근할 수 없을 때도 게임 내에서 모든 관리자 명령을 실행할 수 있습니다. 그 후 stop을 입력하여 서버를 안전하게 저장하고 종료하십시오.
5단계: server.properties와 online-mode를 true로 유지해야 하는 이유
최초 실행 시 server.properties 파일도 생성되었습니다. 대부분의 기본 설정은 적절하지만, 다음 항목들은 의도적으로 결정해야 합니다.
online-mode=true
white-list=true
enforce-whitelist=true
view-distance=8
max-players=10
motd=A private server for people I actually knowonline-mode=true는 서버가 접속하는 모든 사용자의 이름을 Mojang 세션 서버와 대조하여 해당 계정의 소유 여부를 검증하게 합니다. 이 값을 false으로 설정하면 이른바 "크랙 서버" 모드가 되며, 서버는 클라이언트가 주장하는 이름을 그대로 신뢰하게 됩니다. 이 경우 누구나 관리자를 포함한 타인의 이름으로 접속할 수 있으며, 관리자 권한과 화이트리스트가 이름 기반으로 관리되므로 사칭자가 관리자 권한을 탈취할 수 있습니다. 이 값을 false로 설정하는 유일한 정당한 이유는 Velocity와 같이 자체적으로 플레이어를 검증하는 인증 프록시를 사용하는 경우뿐입니다. 일반적인 서버에서는 반드시 true로 유지해야 합니다.
view-distance은 이 파일에서 성능에 가장 큰 영향을 미치는 설정이며, CPU와 RAM 사용량은 이 값의 제곱에 비례하여 증가합니다. VPS 환경에서는 8이 적절한 기본값이며, 바닐라 기본값인 10은 성능 부담이 눈에 띄게 큽니다.
white-list=true 및 enforce-whitelist=true를 설정하면 외부인의 서버 접속이 차단됩니다. 아래 보안 섹션에서 설명하겠지만, 이는 선택 사항이 아닌 필수 사항입니다. 플레이어를 추가하려면 게임 내에서 /whitelist add TheirName 명령어를 사용하여 관리자 권한을 부여하십시오.
6단계: 메모리 플래그, -Xms와 -Xmx를 동일하게 설정해야 하는 이유
JVM은 -Xms(시작 크기)과 -Xmx(최대 크기) 사이에서 힙 메모리를 할당합니다. 전용 게임 서버에서는 두 값을 동일하게 설정하십시오. 어차피 힙은 최대치까지 도달하게 되어 있으며, 단계적으로 크기를 늘리는 과정은 게임 플레이 중 가비지 컬렉터의 부하만 가중할 뿐입니다. 4 GB VPS 환경에서의 적절한 설정은 다음과 같습니다.
/usr/bin/java -Xms3G -Xmx3G -jar server.jar nogui-Xmx은 프로세스가 사용하는 전체 메모리가 아닙니다. JVM은 오프힙 오버헤드, 스레드 스택, JIT 캐시, 다이렉트 버퍼 등으로 약 0.5 GB 이상의 메모리를 추가로 사용하며, Ubuntu 운영체제 자체를 위한 공간도 필요합니다. 일반적인 규칙은 -Xmx를 VPS RAM에서 1 GB를 뺀 값 이하로 설정하는 것입니다. 이 범위를 초과하면 두 가지 문제 중 하나가 발생합니다. 할당이 즉시 실패하면 서버는 다음과 같은 메시지를 출력하며 시작을 거부합니다.
Error: Could not reserve enough space for object heap이 오류는 정직하고 즉각적입니다. 더 까다로운 경우는 서버가 정상적으로 시작된 후 몇 시간 뒤에 죽는 상황입니다. 부하가 걸려 힙이 가득 차면 커널의 OOM killer가 시스템에서 가장 큰 프로세스인 JVM을 강제 종료하기 때문입니다. 서버 로그에는 아무런 기록이 남지 않으며, 증거는 sudo dmesg | grep -i oom에 Out of memory: Killed process 1234 (java)과 같은 줄로 기록됩니다. 서비스가 "무작위로" 재시작된다면 이 로그를 먼저 확인하고 -Xmx 값을 낮추십시오.
Paper의 경우, 프로젝트 문서에서 Aikar's flags를 제공합니다. 이는 더 큰 힙에서 가비지 컬렉션으로 인한 일시 정지를 완화하는 최적화된 G1GC 설정(-XX:+UseG1GC -XX:MaxGCPauseMillis=200 및 관련 플래그들)입니다. Paper 문서에서 전체 명령줄을 생성하여 사용하십시오. 2–4 GB 힙 환경에서는 성능 향상이 크지 않지만, 해당 플래그를 적용해도 무방합니다.
7단계: Restart=on-failure를 포함한 systemd 유닛
수동으로 시작한 서버는 SSH 세션이 종료되면 함께 죽고, 재부팅 후에도 다시 시작되지 않습니다. /etc/systemd/system/minecraft.service를 작성하십시오:
[Unit]
Description=Minecraft server (Paper)
After=network-online.target
Wants=network-online.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms3G -Xmx3G -jar server.jar nogui
Restart=on-failure
RestartSec=10
TimeoutStopSec=120
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now minecraft
systemctl status minecraft
journalctl -u minecraft -f올바른 결과: status은 active (running)을 표시하며, 서버 콘솔 출력을 포함하는 저널은 다시 Done 줄에서 종료됩니다.
해당 유닛에는 두 가지 의도적인 선택이 포함되어 있습니다. Restart=on-failure은 충돌 후 서버를 다시 시작하지만 정상적인 stop 이후에는 재시작하지 않으므로 유지보수가 가능합니다. 또한 TimeoutStopSec=120는 보이는 것보다 중요합니다. systemctl stop은 SIGTERM을 보내고, Minecraft 서버는 이를 감지하여 종료 전 모든 월드를 저장합니다. 대규모 월드에서는 이 저장 작업에 시간이 걸립니다. systemd의 기본 타임아웃은 저장 도중 JVM에 SIGKILL을 보낼 수 있으며, 이는 정확히 리전 파일이 손상되는 원인이 됩니다. 2분의 시간을 부여하십시오.
서비스가 반복적으로 재시작(flapping)되고 저널에 다음 내용이 표시된다면:
[Server thread/WARN]: **** FAILED TO BIND TO PORT!
[Server thread/WARN]: The exception was: io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Address already in use
[Server thread/WARN]: Perhaps a server is already running on that port?무언가가 이미 25565 포트를 점유하고 있는 상태입니다. 거의 항상 다른 SSH 세션에서 실행 중인 이전 포그라운드 프로세스가 원인입니다. sudo ss -tlnp | grep 25565로 해당 프로세스를 찾아 중지하십시오. 한 포트에서 두 개의 서버를 동시에 실행해서는 안 됩니다.
8단계: 두 방화벽 모두에서 25565 포트 열기
Minecraft Java는 TCP 25565 포트만 사용합니다(UDP는 선택적인 쿼리 프로토콜이며 기본적으로 비활성화되어 있습니다). VPS에서 다음을 수행합니다.
sudo ufw allow OpenSSH
sudo ufw allow 25565/tcp
sudo ufw enable이것이 첫 번째 방화벽입니다. 대부분의 VPS 제공업체는 제어판에서 네트워크 수준의 두 번째 방화벽을 운영하며, 사용자들이 이를 자주 잊어버립니다. 해당 방화벽에서도 TCP 25565 포트를 여십시오. 두 방화벽 중 하나만 설정했을 때 나타나는 증상은 매우 모호합니다. 클라이언트가 "Connecting to the server..."에서 멈추고 Connection timed out: no further information 오류와 함께 실패합니다. 연결 거부나 서버 오류는 발생하지 않으며, 패킷 자체가 도달하지 않았기 때문에 로그에도 아무런 기록이 남지 않습니다. VPS 외부의 기기에서 nc -vz your.server.ip 25565 명령으로 확인하십시오. succeeded 결과가 나오면 두 방화벽이 모두 열린 것이며, 응답 없이 멈춘다면 최소한 하나 이상의 방화벽이 닫혀 있는 것입니다.
ufw를 설정하는 김에, 동일한 서버가 공인 IP에서 SSH를 실행 중이라면 몇 시간 내로 무차별 대입 공격 로그가 쌓이기 시작할 것입니다. 잊어버리기 전에 Ubuntu 24.04에서 SSH를 위한 Fail2ban 설정하기를 진행하십시오.
이제 접속합니다: 멀티플레이어, 직접 연결, 서버 IP를 입력하십시오. 4단계에서 자신을 운영자로 지정했으므로 게임 내 명령어가 즉시 작동합니다. 플레이어마다 /whitelist add FriendName 명령을 사용하고, 계획에 있다면 /gamemode creative 명령을 사용하십시오.
9단계: 화이트리스트 설정, 인터넷은 25565 포트를 찾아냅니다
Minecraft 서버를 인터넷에 그대로 노출하는 것은 이론적인 위험이 아닙니다. 대규모 스캐너가 끊임없이 전체 IPv4 대역에서 25565 포트를 탐색하고 있으며, 취미로 서버를 공격하는 프로젝트들이 이런 방식으로 수십만 개의 열린 서버를 매핑해 두었습니다. 화이트리스트가 없는 서버는 며칠, 때로는 몇 시간 안에 초대받지 않은 방문자를 맞이하게 됩니다. 5단계에서 설정한 화이트리스트가 이 문제를 해결합니다. online-mode=true은 신원을 증명하고, 화이트리스트는 사용자가 선택한 신원만 접속하도록 제한합니다. 이 두 가지가 보안 모델의 전부이며, 친구들과 함께하는 서버에는 충분합니다.
게임 접속 없이 콘솔에 접근하거나 스크립트를 통한 백업, cron 작업을 수행하려면 server.properties에서 RCON을 활성화하십시오(enable-rcon=true, 강력한 rcon.password, 25575 포트). 그리고 VPS에서 직접 GitHub 소스를 받아 작은 mcrcon 클라이언트를 빌드하십시오. 이 도구는 Ubuntu 저장소에 포함되어 있지 않습니다. 어떤 방화벽에서도 25575 포트를 개방하지 마십시오. RCON은 비밀번호를 평문으로 전송하므로, 반드시 루프백(loopback) 전용으로만 사용해야 합니다.
10단계: 월드 데이터가 손상되지 않는 백업
단 하나의 규칙은 다음과 같습니다. 서버가 월드 디렉터리에 데이터를 쓰는 동안에는 절대 복사하지 마십시오. 게임이 진행되는 동안 Region 파일은 지속적으로 다시 쓰입니다. 쓰기 작업과 동시에 tar을 수행하면 데이터가 절반만 기록된 아카이브가 생성됩니다. 나중에 백업을 복구해야 하는 결정적인 순간에 로그에는 청크 로딩 오류가 가득 차고 지형에는 구멍이 뚫리게 됩니다. 이를 방지하는 두 가지 방법이 있습니다.
중단-복사-시작(Stop-copy-start) 방식은 1분 정도의 다운타임을 감수하는 간단한 방법입니다.
sudo systemctl stop minecraft
sudo mkdir -p /opt/backups
sudo tar czf /opt/backups/world-$(date +%F-%H%M).tgz \
-C /opt/minecraft world world_nether world_the_end
sudo systemctl start minecraft(Paper는 차원을 world, world_nether, world_the_end로 분리합니다. 바닐라 서버는 모든 데이터를 world에 보관하므로 해당 경로에 나머지 두 항목을 포함하십시오.)
Save-off 방식은 서버를 끄지 않고 백업합니다. RCON을 통해 save-off(자동 저장 중지)을 실행한 다음, save-all flush(모든 데이터를 디스크에 강제 기록하고 대기)를 실행하고 tar로 압축한 뒤 save-on를 실행하십시오. 이 방식을 새벽 5시에 cron으로 설정하는 것이 좋습니다.
어떤 방식을 사용하든 서버와 동일한 VPS에 저장된 백업은 진정한 백업이 아닙니다. scp 또는 rclone을 사용하여 아카이브를 외부로 전송하고, 여러 개의 백업본을 유지하십시오. 문제가 발생했을 때 콘솔을 계속 지켜볼 수는 없으므로 포트에 대한 외부 점검 기능을 추가하십시오. 다른 서버의 Uptime Kuma를 사용하여 25565 포트에 대한 TCP 체크를 수행하면 플레이어보다 먼저 서버 다운 상태를 알 수 있습니다.
플러그인 및 업그레이드
Paper에서 플러그인은 /opt/minecraft/plugins/에 jar 파일을 넣고 재시작하는 것만으로 설치가 완료됩니다. 서버 jar 파일과 마찬가지로, 각 플러그인은 minecraft 사용자의 권한으로 임의의 코드를 실행하므로 반드시 공식 프로젝트 페이지(Hangar, Modrinth, SpigotMC)에서만 플러그인을 다운로드하십시오.
서버 업그레이드는 서버 중지, 백업, server.jar 파일을 새로운 Minecraft 버전의 빌드로 교체, 서버 시작 순으로 진행합니다. 두 가지 주의 사항이 있습니다. 월드 업그레이드는 단방향이므로, 더 높은 버전에서 열린 월드는 이전 버전에서 열리지 않으며, 이를 위해 백업이 필요합니다. 또한 플러그인은 새로운 Minecraft 릴리스보다 며칠 또는 몇 주 늦게 업데이트되는 경우가 많으므로, 출시 당일에 바로 업데이트하기 전에 호환성을 먼저 확인하십시오.
버전 고정, EULA 동의, 메모리 플래그를 환경 변수로 관리하는 컨테이너 방식을 선호한다면, 널리 사용되는 itzg/minecraft-server 이미지를 통해 동일한 Paper 서버를 VPS에서 Docker Compose 사용하기 가이드에 따라 동일한 방화벽 및 백업 원칙을 적용하여 운영할 수 있습니다.
FAQ
Minecraft 서버에는 RAM이 얼마나 필요한가요?
2 GB는 2~5명의 플레이어가 바닐라 서버를 운영하기에 적당합니다. 4 GB는 Paper를 사용하고 플러그인을 몇 개 추가한 상태에서 10명 정도의 친구들과 즐기기에 충분합니다. 모드팩을 사용하거나 20명 이상의 플레이어가 접속한다면 8 GB 이상이 필요합니다. VPS 사양과 관계없이 -Xmx 값은 전체 RAM에서 1 GB를 뺀 값 이하로 설정하십시오. JVM은 힙 메모리 외에도 추가 메모리를 사용하므로, 이를 초과하면 Error: Could not reserve enough space for object heap 오류가 발생하거나 시스템이 OOM(Out of Memory)으로 프로세스를 강제 종료합니다.
친구들이 왜 제 Minecraft 서버에 접속할 수 없나요?
클라이언트에서 Connection timed out: no further information 오류가 발생하며 접속이 안 된다면 거의 항상 방화벽 문제입니다. 방화벽은 VPS 내부의 ufw와 클라우드 제공업체 제어판의 네트워크 방화벽, 이렇게 두 곳을 확인해야 합니다. 두 곳 모두에서 TCP 25565 포트를 개방해야 합니다. 서버 내부에서 sudo ss -tlnp | grep 25565 명령어로 서버가 정상적으로 포트를 열고 있는지 확인하고, 외부에서 nc -vz your.server.ip 25565 명령어로 접속을 테스트하십시오.
server.properties에서 online-mode=false로 설정해야 하나요?
아니요. online-mode=false 설정을 사용하면 서버가 Mojang 인증 과정을 완전히 생략합니다. 이 경우 누구나 다른 사람의 사용자 이름으로 접속할 수 있으며, 관리자 계정으로 접속하여 권한을 탈취할 수도 있습니다. 또한 스킨과 고유 UUID가 정상적으로 작동하지 않습니다. 이 설정은 플레이어를 직접 인증하는 Velocity 같은 인증 프록시 뒤에서 운영할 때만 예외적으로 사용합니다. 일반적인 서버라면 true 상태를 유지해야 합니다.
Paper가 바닐라 Minecraft 서버보다 더 나은가요?
대부분의 사용자에게는 그렇습니다. Paper는 바닐라 월드를 그대로 불러오고 수정되지 않은 클라이언트 접속을 허용하는 드롭인 방식의 jar 파일입니다. 엔티티 처리와 청크 로딩 효율이 훨씬 뛰어나며 플러그인 생태계를 활용할 수 있습니다. 예외적으로 비트 단위까지 바닐라와 동일한 동작이 필요한 기술적 레드스톤 커뮤니티에서는 Paper의 최적화가 일부 동작을 변경할 수 있으므로 주의해야 합니다. 소규모 VPS 환경에서 Paper의 효율성은 사실상 RAM을 추가로 확보하는 것과 같은 효과를 줍니다.
서버를 손상시키지 않고 Minecraft 월드를 백업하려면 어떻게 하나요?
서버가 월드 디렉터리에 데이터를 기록하는 도중에 아카이브를 생성하지 마십시오. 리전 파일 쓰기 작업과 복사 작업이 충돌하면 복구 시점에 청크가 손상된 것을 발견하게 됩니다. 서버를 중지한 후 월드 디렉터리를 tar로 압축하고 다시 시작하거나, 서버를 켠 상태로 유지하려면 RCON을 통해 save-off, save-all flush 명령어를 실행한 뒤 tar로 압축하고 save-on 명령어를 사용하십시오. 그 후 압축 파일을 VPS 외부로 안전하게 옮기십시오.