프로그래밍/마인크래프트 서버, 플러그인

[마인크래프트] server.properties 속성 총 정리

Lou Park 2021. 10. 10. 21:29

server.properties 파일에 대한 간략 설명

server.properties는 마인크래프트 서버 옵션을 설정할 수 있는 파일이다.

메모장, VS code등 일반적인 텍스트 에디터로 수정가능하다.

키와 값의 쌍으로 이루어져있으며 등호 뒤의 내용을 바꿈으로서 값을 바꿀 수 있다.

allow-flight=true를 allow-flight=false 이렇게 말이다.

 

또한 #으로 주석처리를 할 수 있어서 메모하거나 백업용으로 쓸 수 있다. 아래는 그 예시.

#max-players=999
max-players=20
# 복돌체크를 끈다.
online-mode=false

 

변경 후 적용방법

서버 실행중에도 변경가능하며, 서버 재시작 또는 /reload 명령어를 통해서 바뀐 내용을 적용 시킬 수 있다.


속성들

자주 쓰는 설정들에는 별표를 찍어두었다. 대부분은 나무위키 설명이고 부족한 부분을 조금 보충한 수준이다.

 

★ difficulty=easy  [peaceful |  easy | normal | hard]

서버의 기본 난이도. 

peaceful: 평화로움, easy: 쉬움, normal: 보통, hard: 어려움이다. 구 버전에서는 각각 0~3에 대응하면 된다.

 

★ enable-command-block=false  [true | false]

커맨드 블록을 사용할 수 있는지 여부다.

 

★ view-distance=10  [3~15]

서버가 유저에게 보내는 월드 데이터의 청크 양을 설정한다. 

렉이 많이 걸린다면 줄이는 것이 좋다.

 

★ white-list=false  [true | false]

화이트리스트 활성여부. 화이트리스트가 적용될 경우, 화이트리스트에 등록되어 있지 않은 유저는 서버에 접속할 수 없다.

OP는 자동적으로 화이트리스트에 등록된다.

 

allow-flight=false  [true | false]

크리에이티브 및 관전자 이외의 게임모드에서 비행허용 여부. false로 되어있을 경우 5초 이상 공중에 떠있을때 서버에 의해 강제 추방당한다.

 

allow-nether=true  [true | false]

네더 포탈을 이용할 수 있는지 여부. false일경우 포탈이 작동하지 않는다.

 

★ gamemode=survival  [survival | creative | adventure | spectator]

게임모드를 설정한다. 구버전은 0~3까지 대응되는 번호를 적어주면 된다.

survival: 서바이벌, creative: 크리에이티브, adventure: 모험, spectator: 관전자

 

announce-player-achievements=true  [true | false]

플레이어가 도전과제를 달성했을때 서버전체에 알릴지 여부

 

op-permission-level=4  [1~4]

op 유저의 권한 레벨을 지정할 수 있다.

1: 스폰지점의 보호를 무시할 수 있다. 명령어는 사용 불가능 하다.

2: 싱글플레이의 모든 치트가 사용가능하고, 커맨드 블록 수정할 수 있다. (사용가능 명령어: /clear, /difficulty, /effect, /gamerule, /give, /summon, /setblock, /tp등...)

3: /ban, /deop, /kick, /op, /debug 등 운영 및 관리에 필요한 명령어들을 사용가능하다.

4: 모든 명령어가 사용가능하다. (/stop, /save-all, /save-on, /save-off)

 

function-permission-level=2 [1~4]

마인크래프트 1.12 부터지원하는 함수의 퍼미션 레벨을 지정한다. 레벨은 위의 op-permission-level의 인수와 같다.

 

generate-structures=true [true | false]

새로운 청크에 대한 구조물(마을, 등) 생성 여부. 하지만 false로 설정해도 유적은 생성된다.

 

hardcore=false [true | false]

하드코어 모드 여부. true로 설정하면 difficulty 설정은 무시되고 난이도는 어려움으로 고정된다.

플레이어가 죽으면 관전자 모드로 변한다.

 

level-name=world

맵 폴더 이름을 설정한다. 한글은 지원되지 않는다.

 

★ level-seed=

맵의 시드를 설정한다. 비워두면 랜덤시드가 설정된다. 시드 예시) level-seed=7492140738558

 

level-type=default [DEFAULT | FLAT | LARGEBIOMES | AMPLIFIED | CUSTOMIZED]

월드가 어떤 방식으로 생성될지 설정한다.

DEFAULT: 기본. 언덕, 계곡, 물 등이 생성된다.

FLAT: 마을 밖에 없는 평지다.

LARGEBIOMES: 기본월드(DEFAULT)와 같지만 바이옴영역이 더 커진다.

AMPLIFIED: 기본월드와 같지만 높이가 증가한다.

CUSTOMIZED: generator-settings에서 설정한 프리셋을 사용한다.

 

generator-settings=

서버에서 생성할 월드를 마음대로 조정할 수 있다. 여기에 JSON 형식으로 월드 프리셋을 입력하면 된다. 

:는 모두 \:로 이스케이프 해주는걸 잊지말자.

쉽게 월드 프리셋을 만드는 방법은 이런 사이트를 이용하는 것이다.

단, level-type=CUSTOMIZED여야 작동한다.

 

max-build-height=256 [숫자]

건설가능한 최대 높이 Y를 설정한다.

 

★ max-players=20  [0~2147483647]

동시에 접속가능한 최대 유저 수를 설정한다. op는 이 인원에 포함되지 않지만 꽉찬 서버에 op가 새로 들어올 수는 없다. 

 

max-tick-time=60000  [-1~(2^63 - 1)]

서버가 행아웃에 빠졌다고 판단하여 강제 종료하기까지 제한시간을 ms 단위로 설정한다. 기본은 60초다.

-1로설정하면 행아웃 체크를 진행하지 않는다.

 

max-world-size=29999984  [1~29999984]

월드에서 블럭을 놓을 수 있는 최대 크기다. 반지름 값이다.

 

★ motd=A Minecraft Server

서버이름 아래에 뜨는 한줄 메세지로, 오늘의 메세지(message of today)의 줄임말. 59자를 초과하면 오류가 나기에 주의.

색상지정이나 한글등은 유니코드 변환이 필요하기 때문에 이런 사이트를 통해서 변환해서 붙여 넣는 것을 추천한다.

 

★ online-mode=true  [true | false]

서버가 마인크래프트 계정의 데이터베이스에 연결되어 있지 않은 플레이어를 확인 후 연결되어 있지 않은 플레이어의 접속을 차단한다. 

false로 설정하게 되면 정품/복돌 유저 가릴 것 없이 모두 스티브나 알렉스로 보이게된다.

 

player-idle-timeout=0  [숫자]

일정시간동안 잠수를 타면 자동으로 강퇴 된다. 입력하는 단위는 분 이다.

 

★ resource-pack=

리소스팩의 직접 다운로드 URL을 적어주면된다. 드롭박스를 이용할 경우 URL 끝에 dl=1로 변경해서 설정하자.

서버에 접속한 유저들은 서버 리소스팩을 다운받을 수 있게된다.

 

resource-pack-sha1=

리소스팩의 무결성을 검증하기 위해서 사용하며, SHA-1 함수로 암호화된 리소스팩 데이터를 입력한다. 이 사이트에서 암호화된 리소스팩의 hash 값을 얻을 수 있고, 이를 복사하여 넣어주면 된다. 

그냥 비워두면 검증 안한다.

 

★ server-ip=

여기에 아이피를 적으면 특정아이피로 고정되어 열린다. 보통은 비워두는게 맞고 하마치의 경우 여기에 IP를 입력해야한다.

 

★ server-port=25565  [1~65534]

서버의 접속 포트를 설정한다. 기본 포트외에 다른 포트로 변경했다면 설정한 포트로 바꿔주어야한다.

 

pvp=true  [true | false]

플레이어간의 공격을 허용하고 서로 죽이는 것이 가능하게 할지에 대한 여부.

 

rate-limit=0  [숫자]

한 유저가 최대로 보낼 수 있는 패킷의 양이다. 이 값을 넘으면퇴장당하며, 0으로 설정시 비활성화된다.

 

snooper-enabled=true  [true | false]

서버가 지속적으로 감시 데이터를 http://snoop.minecraft.net 으로 보낼지 여부를 결정한다.

 

spawn-animals=true  [true | false]

친화적 생명체의 스폰 여부

 

spawn-monsters=true  [true | false]

적대적인 몹의 스폰 여부

 

spawn-npcs=true  [true | false]

주민 스폰 여부

 

spawn-protection=16  [0~숫자]

스폰 보호 지점의 반지름이다. 왠만하면 0으로 설정하는 것이 좋고, 서버에 OP가 단 한명도 없을 경우 비활성화 된다.

 

use-native-transport=true  [true | false]

참일 경우 리눅스에서 최적화된 패킷을 송수신하도록 개선한다.

 

enforce-whitelist=false  [true | false]

참일 경우 유저가 화이트리스트를 건드릴 수 없다. (whitelist add 같은 명령어로)

서버에 /reload 명령어를 입력하여 수정된 화이트리스트를 받아오기 전까지 기존 화이트리스트에 등록된 유저만 접속할 수 있다.

 

entity-broadcast-range-percentage=100  [10~1000]

클라이언트에게 엔티티가 렌더링 되는 거리. 값이 높을 수록 더 먼곳에서 렌더링 되어 더 많은 렉이 발생할 수 있다.

 

force-gamemode=false [true | false]

플레이어가 접속시 서버의 기본 게임모드를 따르도록 할지 여부.

false의 경우 플레이어는 자기가 접속종료시까지 했던 게임모드를 따른다.

true의 경우 항상 기본 게임모드를 따른다.

 

sync-chunk-writes=true 

청크쓰기를 동기식(여러개를 동시에 하지않고 하나끝난다음 하나)으로 한다.

충돌시 청크 손상을 방지하지만 일부 서버에서 렉을 유발 할 수 있다.

 

enable-status=true [true | false]

서버가 서버리스트에서 "온라인"상태로 보이게 한다.

False로되어있다면 오프라인으로 보이게되지만 연결은 받아들인다.

 

broadcast-console-to-ops=true  [true | false]

콘솔 명령어 출력을 온라인 상태의 관리자(op)에게 전송할지 여부.

 

broadcast-rcon-to-ops=true  [true | false]

*rcon 콘솔의 명령어 출력을 온라인 상태의 관리자에게 전송할지 여부

*rcon이란? 서버관리자가 마인크래프트 명령어를 원격으로 실행할 수 있게하는 프로토콜.

 

rcon.password=

rcon의 비밀번호를 설정한다.

 

rcon.port=25575  [1~65534]

rcon의 접속 포트를 설정한다.

 

enable-jmx-monitoring=false  [true | false]

net.minecraft.server:type=Server라는 이름의 MBean객체와 밀리초 단위의 틱 시간을 나타내는 averageTickTime, tickTimes을 노출시킨다. Java 런타임에서 JMX를 활성화 시키기 위해서는 시작시에 몇개의 JVM flag를 활성화 시켜야한다. 문서 참조

 

enable-query=false  [true | false]

서버의 정보를 가져올 때 사용하는 *GameSpy4 프로토콜을 허용할지 여부.

*GameSpy4: 일반적으로 서버 정보 알려주는 사이트들에서 이 프로토콜을 사용한다.

여기에 서버 정보를 등록시키고 싶다면 true로 설정할것..

 

query.port=25565  [1~65534]

위의 enable-query를 true로 설정했을때, query 서버의 접속 포트를 설정한다.

 

prevent-proxy-connections=false  [true | false]

사용자가 VPN 또는 프록시를 사용하지 못하게 할지의 여부다.

 

network-compression-threshold=256  [숫자]

마인크래프트가 보내는 패킷의 값이 입력한 숫자보다 적으면 그냥 보내지만, 넘을 경우 압축하여 전송한다. 

-1로설정하면 전혀 압축하지 않고, 0으로 설정하면 모든 패킷을 압축한다.

* 인터넷 통신 규격상 64bytes 미만의 패킷도 64bytes로 취급되기때문에 64보다는 크게 잡는 것이 좋고, 일반적으로 1500 bytes를 넘지 않는 것이 권장된다.


참고자료

https://minecraft.fandom.com/wiki/Server.properties

https://namu.wiki/w/server.properties?from=server%20properties