
저번처럼 TCP UDP 포트 설정하기
sudo iptables -I INPUT -p tcp --dport 25565 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 25565 -j ACCEPT
오라클 리눅스나 우분투 이미지는 기본적으로 엄격한 방화벽 설정
마인크래프트 포트(25565)를 허용하는 명령어

추가하고 확인
sudo iptables -I INPUT -p tcp --dport 25565 -j ACCEPT
-I INPUT: Insert의 약자로, INPUT 체인의 가장 맨 위에 추가하는 규칙
-p: protocol의 약자로 통신 방식을 설정
--dport: destionation port의 약자로, 목적지 포트 번호 설정
-j ACCEPT: jump의 약자로, 위 조건이 맞다면 패킷을 허용(ACCEPT)하라는 명령
# 규칙 목록 보기
sudo iptables -L -v -n --line-numbers
# 특정 규칙 삭제
sudo iptables -D INPUT [라인번호]
# 모든 규칙 초기화
sudo iptables -F
# 특정 IP 차단
sudo iptables -A INPUT -s [차단할IP] -j DROP
iptables 명령은 입력 즉시 적용이지만, 서버 재부팅 시 사라짐
반드시 netfileter-persistent save 명령을 통해 설정을 파일로 저장해야 재부팅 후에도 방화벽이 유지
sudo netfilter-persistent save
sudo netfilter-persistent reload
재부팅 후에도 유지하도록 설정을 저장하는 명령어
save는 현재 메모리상에 적용되어 있는 실시간 방화벽 규칙(iptables)을 파일로 저장
reload는 저장된 설정 파일(/etc/iptables/rules.v4)을 읽어와서 방화벽 시스템에 다시 로드

환경 설정 저장 및 로드
sudo apt update
sudo apt install openjdk-17-jre-headless -y
java -version
마인크래프트 서버를 실행하기 위해 필요한 엔진 설치 과정
최신 버전(1.20 버전 이상)의 마인크래프트 실행을 위해서는 Java 17 이상이 필요
└ 1.21 버전 이상은 Java 21을 권장
version 명령을 입력했을 때 버전 정보가 나오면 성공

중간에 확인 구문, sudo apt update로 oracle 커널이 업데이트 된 것을 적용해달라는 의미로 파악

재부팅할 시스템 확인
# 설치 자바 패키지 확인
dpkg --list | grep openjdk
# Java 17 삭제(예)
sudo apt purge openjdk-17-jre-headless openjdk-17-jre openjdk-17-jdk -y
# 잔여 설정 및 불필요 패키지 정리
sudo apt autoremove -y
버전 관리를 위한 삭제 명령어
# PaperMC
wget https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/196/downloads/paper-1.20.1-196.jar -O server.jar
# Fabric
wget https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.0.1/fabric-installer-1.0.1.jar
curl -OJ https://meta.fabricmc.net/v2/versions/loader/1.21.11/0.18.4/1.1.1/server/jar
예를 들면 PaperMC의 서버 파일 다운로드
URL은 버전과 버킷 종류에 따라 달라짐
https://fabricmc.net/use/server/ 해당 사이트를 참고해도 가능
java -jar server.jar
nano eula.txt
초기 java 실행 시 라이선스 동의 파일이 생성
EULA 수정으로 eula=false를 eula=true로 수정한 뒤 저장
# start.bat 혹은 sh로 사용할 jar 실행 명령어
java -Xms4G -Xmx4G -jar server.jar nogui
java -Xms16G -Xmx16G -jar fabric-server-mc.1.21.11-loader.0.18.4-launcher.1.1.1.jar nogui
# 새 가상 화면 만들기
screen -S minecraft
# 가상 화면 접속하기
screen -r minecraft
# 가상 화면 나가기
Ctrl + A D
터미널을 종료해도 서버가 유지되게 하는 서버 백그라운드 구동
스크린을 생성하고 서버 메모리를 할당

실행 가능하게 모드 변경

정상적으로 eula.txt까지 설정하고 난 뒤 모습
# 포트 상태 확인
sudo netstat -tnlp | grep 25565
sudo ss -tunlp | grep 25565
# 리눅스 자체 방화벽(Uncomplicated FireWall) 내리기
# OCI 클라우드 방화벽과 리눅스 자체 방화벽 이중 방화벽 상태
sudo ufw disable
기타 확인 사항
pause-when-empty-seconds
접속 중인 플레이어가 없다면 서버를 일시 중지한다.(tick freeze와 같음) 초 단위로 조절한다.
0으로 설정하면 접속 중인 플레이어가 없어도 서버는 계속 돌아간다.
server.properties 변경 사항, 나무위키 링크 참고

멍청하게 Source Port Range를 All이 아니라 25565로 해두고 있어서 접속이 안 됐음

해결하고 나니 정상적으로 접속 완료
해당 포트 확인 사이트는 https://www.yougetsignal.com/tools/open-ports/ 링크 참고

정상 접속 확인

모드 다운 받아서 scp로 옮기기

mods 폴더로 옮겨주기
'Computer Science > 개인 공부 이모저모' 카테고리의 다른 글
| JD 기술 스택 정리(VLM, Multimodal, MCP, RAG, LangChain, AI Agent, LLM, NLP, n8n) (1) | 2025.12.23 |
|---|---|
| Docker, YAML Troubleshooting (0) | 2025.12.10 |
| YAML 개념 및 문법, 그리고 Docker 설정 (1) | 2025.12.01 |
| OCI VM 접속 후 docker 기반 서비스 환경 설정 (1) | 2025.11.28 |
| OCI Free Trier(오라클 클라우드 프리 티어 서비스) (0) | 2025.11.22 |