게임/마크빌드업

[운영] 서버 실행 스크립트 만들기 (Windows, Ubuntu) | 마크빌드업 EP.07

Buildify365 2026. 4. 27. 16:29

 

이런 분들께 추천합니다

  • 본편 EP.01 / EP.02를 보고 서버는 띄웠지만, 매번 같은 서버 구동 명령어 치는 게 귀찮으신 분
  • 더블클릭(혹은 한 줄 명령) 한 번에 서버를 켜고 싶은 분
  • 메모리 설정을 한 번 해두고 잊고 싶은 분
  • Windows / Ubuntu 환경 둘 다 정리된 가이드를 찾고 계신 분

요약

문제: 매번 콘솔 열고 java -Xms3G -Xmx3G -jar server.jar nogui 같은 긴 명령어 치기 귀찮다

시도: 한 번에 실행되는 스크립트 파일을 만들어두자

해결: Windows: run.bat 더블클릭 / Ubuntu: run.sh + tmux 백그라운드

 

이 글을 따라하면 한 번 만들어둔 스크립트로 서버를 빠르게 켤 수 있고, 메모리 설정이나 옵션을 매번 외울 필요가 없어집니다.


사전 준비

  • 본편 EP.01 또는 EP.02를 따라 마인크래프트 서버를 한 번 이상 실행해본 상태
  • server.jar가 있고 EULA 동의(eula=true)까지 마친 상태

본인 환경에 맞춰서 둘 중 한 파트만 따라오시면 됩니다.

  • Part 1. Windows 편: 본편 EP.01의 start.bat 만들기
  • Part 2. GCP Ubuntu 편: 본편 EP.02에서 매번 치던 명령어를 스크립트로 만들기

Part 1. Windows 편

본편 EP.01에서 이미 start.bat 같은 배치 파일로 서버를 켜는 방법을 다뤘습니다. 이번 외전에서는 그 스크립트를 좀 더 다듬고, 자주 쓰는 옵션들을 정리해보겠습니다.

1. start.bat 파일 만들기

1-1. 빈 텍스트 파일 만들기

server.jar가 있는 폴더에서 우클릭 → 새로 만들기 → 텍스트 문서를 클릭합니다.

1-2. start.bat으로 이름 변경

파일 이름을 start.bat으로 바꿉니다. 확장명 변경 경고가 뜨면 예(Y) 를 클릭합니다.

주의: 파일 탐색기에서 확장명이 안 보인다면 상단 보기 → 파일 확장명 체크를 켜주세요.
안 켜면 start.bat.txt로 저장되는 경우가 있습니다.

1-3. 스크립트 내용 작성

start.bat우클릭 → 메모장에서 편집하고, 아래 내용을 붙여넣은 후 저장합니다.

@echo off
title Minecraft Server
java -Xms2G -Xmx4G -jar server.jar nogui
pause

각 줄 설명:
@echo off : 명령어 자체가 화면에 출력되는 걸 숨깁니다
title Minecraft Server : 콘솔 창 제목을 "Minecraft Server"로 표시합니다
java -Xms2G -Xmx4G -jar server.jar nogui : 서버를 메모리 2~4GB로 실행합니다
pause : 서버가 꺼져도 창이 바로 닫히지 않습니다 (에러 확인용)

2. 더블클릭으로 서버 실행

이제 start.bat더블클릭하면 콘솔 창이 열리면서 서버가 켜집니다.

[Server thread/INFO]: Done (2.347s)! For help, type "help"

이런 메시지가 뜨면 서버가 정상적으로 열린 것입니다.

주의: 이 콘솔 창을 닫으면 서버도 같이 꺼집니다. 서버를 유지하려면 창을 켜둔 상태로 두세요.

서버를 안전하게 종료하려면 콘솔에 stop을 입력합니다.

stop

이렇게 하면 월드를 저장한 후 깔끔하게 종료됩니다. 그냥 X 버튼으로 닫으면 데이터 손상 위험이 있어요.


Part 2. GCP Ubuntu 편

본편 EP.02에서는 SSH 접속 후 매번 다음 명령어를 쳤습니다.

cd minecraft-server
java -Xms3G -Xmx3G -jar server.jar nogui

 

매번 두 줄을 치는 게 귀찮죠. 이걸 start.sh 스크립트 한 번 실행으로 줄여봅시다.

1. run.sh 파일 만들기

1-1. 서버 폴더로 이동

cd ~/minecraft-server

본편 EP.02에서 만든 폴더 이름과 동일합니다.
다른 이름으로 만들었다면 본인 환경에 맞춰주세요.

1-2. nano 에디터 확인 & 설치

run.sh 파일에는 여러 줄을 입력해야 하니 텍스트 에디터가 필요합니다. 이 시리즈에서는 nano를 사용할게요.

💡 nano란? 우분투용 텍스트 에디터예요. 터미널에서 GUI 없이 파일을 편집할 수 있습니다.
본편 EP.02에서는 sed 한 줄 명령으로 EULA 파일을 처리했지만, 여러 줄을 입력할 때는 nano가 훨씬 편해요.
외전 시리즈에서 자주 쓸 도구라 이번에 익혀두면 좋습니다.

먼저 nano가 설치되어 있는지 확인합니다. 본편 EP.02에서 Java 설치 후 java -version으로 확인했던 것과 같은 방식이에요.

nano --version

GNU nano, version X.X 같은 메시지가 뜨면 이미 설치되어 있는 것입니다. 1-3으로 넘어가세요.

command not found 메시지가 뜨면 아래 명령어로 설치합니다

sudo apt update
sudo apt install nano -y

 

설치 후 다시 nano --version으로 확인합니다.

 

다른 편집기를 선호한다면?
편집만 하면 되기 때문에 다른 편집기인vim에 익숙하시면 vim start.sh 사용하셔도 됩니다.

1-3. nano로 파일 생성

nano start.sh

 

아래 내용을 입력합니다.

#!/bin/bash
java -Xms3G -Xmx3G -jar server.jar nogui

저장하고 빠져나오기: Ctrl + OEnterCtrl + X

GCP 인스턴스

메모리에 맞춰 조정하세요:
e2-medium (4GB): -Xmx3G (본편 EP.02와 동일)
e2-standard-2 (8GB): -Xmx6G
메모리 전부를 자바에 주면 OS가 죽을 수 있습니다. 항상 1GB 정도는 OS용으로 남겨두세요.

1-3. 실행 권한 부여

.sh 파일은 만들기만 하면 실행할 수 없습니다. 실행 권한을 줘야 합니다.

권한이 없어 실행이 안됨

chmod +x start.sh

 

 

이제 ./start.sh로 실행할 수 있습니다.

./start.sh

 

본편 EP.02에서 매번 쳤던 두 줄이 이제 ./start.sh 한 줄로 줄었습니다.

2. tmux와 함께 사용하기

본편 EP.02에서 사용했던 tmuxstart.sh를 같이 쓰면 더 편해집니다. 복습 겸 정리해보겠습니다.

2-1. tmux 세션 만들기

tmux new -s mc

mc라는 이름으로 새 tmux 세션이 열립니다.

2-2. 세션 안에서 run.sh 실행

세션 안에서 서버 폴더로 이동한 뒤 스크립트를 실행합니다.

cd ~/minecraft-server
./start.sh

서버가 정상적으로 켜지면 다음 메시지가 보입니다.

[Server thread/INFO]: Done (X.XXXs)! For help, type "help"

2-3. 세션에서 빠져나오기

Ctrl + B를 누른 후 D 를 누릅니다.

[detached (from session mc)]

이런 메시지가 뜨면서 세션에서 빠져나옵니다. 서버는 백그라운드에서 계속 돌아가고 있습니다. 이제 SSH 창을 닫아도 서버는 안 꺼져요.

2-4. 다시 서버 콘솔로 들어가기

명령어를 입력하거나 로그를 보고 싶을 때 다시 세션으로 돌아갑니다.

tmux attach -t mc

원래 세션이 그대로 다시 나타납니다.

**자주 쓰는 tmux 명령어 정리:

tmux new -s mc : mc라는 이름으로 새 세션 만들기
tmux attach -t mc : mc 세션에 다시 접속
tmux ls : 현재 실행 중인 세션 목록 보기
Ctrl + BD : 현재 세션에서 빠져나오기 (서버는 유지)

2-5. 서버 안전 종료

서버를 종료할 때는 tmux 세션 안에서 stop 명령어를 입력합니다.

stop

 

주의: stop 없이 VM을 바로 중지하면 월드 데이터가 손상될 수 있습니다.


마무리

전체 흐름을 정리하면 다음과 같습니다.

 

Windows:

  1. start.bat 파일 생성 (메모장)
  2. 스크립트 작성 + 메모리 설정
  3. 더블클릭으로 실행

GCP Ubuntu:

  1. start.sh 파일 생성 (nano)
  2. 실행 권한 부여 (chmod +x)
  3. tmux 세션에서 ./start.sh로 실행
  4. Ctrl + B → D로 세션 분리

이제 매번 긴 명령어를 외울 필요가 없습니다. 메모리 설정이나 옵션을 한 번 다듬어두고, 이후로는 한 번의 실행만 기억하면 됩니다!


다음 글에서는...

서버 켜기는 편해졌지만, 게임 모드나 인원 수 같은 설정은 어떻게 바꿀까요? 다음 글에서는 server.properties로 서버 설정하기를 다뤄보겠습니다.


References