Skip to main content

server.properties

Modify the running configuration of the server to customize some basic functionalities.

server-ip

Data TypeDefault Value
String0.0.0.0

server's port

note

there can't be two servers running in the same port

you will need to port forward in order to have your server publicly accessible

bedrock edition uses UDP

server-port

Data TypeDefault Value
Integer19132

server's port

note

there can't be two servers running in the same port

you will need to port forward in order to have your server publicly accessible

bedrock edition uses UDP

enable-query

Data TypeDefault Value
Booleanon

enable extended query

See: https://wiki.vg/Query

motd

Data TypeDefault Value
StringMinecraft Server

server name / text which shows on the server list

note

can't be empty

sub-motd

Data TypeDefault Value
StringPowered by Nukkit-MOT

second line for motd

note

shows only for players in local network when viewing the server on the friends list in game

can't be empty since 1.16.210

view-distance

Data TypeDefault Value
Integer8

maximum view distance in chunks

bigger value = more chunks loaded = more ram & cpu usage

achievements

Data TypeDefault Value
Booleanon

enable player achievements

announce-player-achievements

Data TypeDefault Value
Booleanon

broadcast achievement earned messages to all players

spawn-protection

Data TypeDefault Value
Integer10

size of the spawn area in blocks where non op players can't build or break blocks

max-players

Data TypeDefault Value
Integer50

Maximum number of players allowed on the server

drop-spawners

Data TypeDefault Value
Booleanon

Drop spawners upon destruction

spawn-animals

Data TypeDefault Value
Booleanoff

enable animal spawning

spawn-mobs

Data TypeDefault Value
Booleanoff

enable monster spawning

gamemode

Data TypeDefault Value
Integer2

server's default gamemode

0 = survival, 1 = creative, 2 = adventure, 3 = spectator

force-gamemode

Data TypeDefault Value
Booleanon

set player gamemode to default gamemode on every join

difficulty

Data TypeDefault Value
Integer2

server's default difficulty (0-3)

hardcore

Data TypeDefault Value
Booleanoff

players will be banned when they die

pvp

Data TypeDefault Value
Booleanon

Whether to enable player versus player combat

white-list

Data TypeDefault Value
Booleanoff

allow only players on the whitelist to join the server

use /whitelist command or modify white-list.txt to add players to whitelist

whitelist-reason

Data TypeDefault Value
StringServer is white-listed

Reason for enabling the whitelist, displayed to players when they are denied access

generator-settings

Data TypeDefault Value
String

Special world generator settings for the default level

level-name

Data TypeDefault Value
Stringworld

Name of the default world

level-seed

Data TypeDefault Value
String

Seed for the default level

level-type

Data TypeDefault Value
Stringvoid

generator used to create the default level if it doesn't exist

supported by default: default, normal, flat, nether, the_end or void

enable-rcon

Data TypeDefault Value
Booleanoff

enable remote console access

note

rcon isn't very secure way to remote control the server

rcon uses the same port (but TCP) as the server

See: https://developer.valvesoftware.com/wiki/Source_RCON_Protocol

rcon.password

Data TypeDefault Value
StringRandom 10 characters

Password for RCON connections

rcon.port

Data TypeDefault Value
Integer25575

Port for RCON connections

auto-save

Data TypeDefault Value
Booleanon

automatically save the world and player data

note

if disabled, changes to worlds are not saved automatically even on unload, use plugin to save manually if needed

you can use worlds-level-auto-save-disabled to only disable the auto save task instead

force-resources

Data TypeDefault Value
Booleanoff

force players to download server's resource pack if they want to join

also see force-resources-allow-client-packs

force-resources-allow-client-packs

Data TypeDefault Value
Booleanoff

don't disable client's own packs when force-resources is enabled

xbox-auth

Data TypeDefault Value
Booleanon

require Xbox account to join

note

does not bypass client side requirements

if you disable this (not recommended), make sure player names and UUIDs are verified before passing them to permission managers/op

encryption

Data TypeDefault Value
Booleanon

enable network encryption

it's recommended to enable this if you don't use a proxy software

bed-spawnpoints

Data TypeDefault Value
Booleanon

allow players to set spawn point using beds and respawn anchors

explosion-break-blocks

Data TypeDefault Value
Booleanon

enable explosion damage to blocks

affects all explosions such as tnt, creepers and end crystals

stop-in-game

Data TypeDefault Value
Booleanon

allow op to use /stop command in game

op-in-game

Data TypeDefault Value
Booleanon

allow op to use /op command to op other players in game

xp-bottles-on-creative

Data TypeDefault Value
Booleanon

allow players to throw experience bottles on creative

spawn-eggs

Data TypeDefault Value
Booleanoff

Enable spawn eggs, allowing entity spawning via spawn eggs

mob-ai

Data TypeDefault Value
Booleanon

Enable MobPlugin's creature AI

entity-auto-spawn-task

Data TypeDefault Value
Booleanoff

enable task for auto spawning of mobs and animals

spawning works by the server's difficulty setting

note: spawn-animals, spawn-mobs or both must be enabled if you want anything to be spawned

entity-despawn-task

Data TypeDefault Value
Booleanoff

enable despawning of mobs and animals without a name tag

note

there are special cases such as the ender dragon, withers and villagers that do not despawn

language

Data TypeDefault Value
Stringeng

default language that Nukkit uses

force-language

Data TypeDefault Value
Booleanoff

force server side translations to be used

enable only if you have a plugin to implement those

shutdown-message

Data TypeDefault Value
StringServer closed

message that shows for players when you stop the server

use § for colors and §n for new line

save-player-data

Data TypeDefault Value
Booleanon

if enabled, saving player data by their uuid in the format NukkitX uses and automatically converting player data in the old format to the new format

disable this if you use the legacy Waterdog proxy

do not disable if new player data exists

query-plugins

Data TypeDefault Value
Booleanoff

include list of plugins in query (enable-query=on)

debug-level

Data TypeDefault Value
Integer1

set a higher value (1-3) if you want more debug logging

async-workers

Data TypeDefault Value
Stringauto

number of async worker threads

if set to auto, it will try to automatically detect the number of cores and use that

zlib-provider

Data TypeDefault Value
Integer2

select zlib provider

0 = ZlibOriginal, 1 = ZlibSingleThreadLowMem, 2 = ZlibThreadLocal

default: 2

other providers may have negative impact on the server's performance

compression-level

Data TypeDefault Value
Integer4

Zlib compression level for sent packets (0-9)

higher = more cpu usage but less bandwidth usage

compression-threshold

Data TypeDefault Value
Integer256

don't compress batch packets smaller than this (Zlib only)

use-snappy-compression

Data TypeDefault Value
Booleanon

Use Snappy compression for packets

min-mtu

Data TypeDefault Value
Integer576

set minimum MTU size

default: 576

max-mtu

Data TypeDefault Value
Integer1492

set maximum MTU size (576 - 1492)

higher is more efficient but smaller values could fix issues on some connections

rak-packet-limit

Data TypeDefault Value
Integer120

A number of datagram packets each address can send within one RakNet tick (10ms)

IPs exceeding this limit will be temporarily banned

Data TypeDefault Value
Booleanon

When enabled, the server will send a Cookie to the client during the connection process to verify the client's legitimacy.

This enhances connection security and helps prevent potential malicious connections or attacks.

timeout-milliseconds

Data TypeDefault Value
Integer25000

how long should the server wait before kicking player if no response from the client

in milliseconds, 1000 milliseconds = 1 second

auto-tick-rate

Data TypeDefault Value
Booleanon

allow the server to automatically change level tick rate to maintain 20 ticks per second

auto-tick-rate-limit

Data TypeDefault Value
Integer20

how much the server can temporary drop tick rate

base-tick-rate

Data TypeDefault Value
Integer1

default tick rate

1 = 20 ticks per second, 2 = 10 ticks per second, etc.

recommended to keep it as default (1)

always-tick-players

Data TypeDefault Value
Booleanoff

Always tick players

light-updates

Data TypeDefault Value
Booleanoff

Light updates

clear-chunk-tick-list

Data TypeDefault Value
Booleanon

Allow the server to clear the list chunkTickList that tracks which chunks need logical updates after each game tick is completed.

This can help optimize server performance by preventing unnecessary computations, especially in the case of large servers or when there are many chunks to manage.

spawn-threshold

Data TypeDefault Value
Integer56

how many chunks need to be loaded before player spawns

chunk-sending-per-tick

Data TypeDefault Value
Integer4

how many chunks can be sent per tick

chunk-ticking-per-tick

Data TypeDefault Value
Integer40

how many chunks can be ticked per tick

chunk-ticking-radius

Data TypeDefault Value
Integer3

radius of chunks around players to get ticked

chunk-generation-queue-size

Data TypeDefault Value
Integer8

how many chunks can be waiting for generation

chunk-generation-population-queue-size

Data TypeDefault Value
Integer8

how many chunks can be waiting for population

ticks-per-autosave

Data TypeDefault Value
Integer6000

how often world autosave task runs

in ticks, 20 ticks = 1 second

ticks-per-entity-spawns

Data TypeDefault Value
Integer200

how often entity auto spawn task runs

in ticks, 20 ticks = 1 second

ticks-per-entity-despawns

Data TypeDefault Value
Integer12000

how long entities live

in ticks, 20 ticks = 1 second

thread-watchdog

Data TypeDefault Value
Booleanon

enable a task that checks if the server is frozen and kills it

useful if you have an auto restart script or the server runs on a panel with this feature

thread-watchdog-tick

Data TypeDefault Value
Integer60000

Milliseconds the watchdog waits, if the Nukkit-MOT main thread is suspended for more than 60000 milliseconds, a fatal error is thrown and execution is terminated

nether

Data TypeDefault Value
Booleanoff

Generate Nether world

end

Data TypeDefault Value
Booleanoff

Generate End world

vanilla-portals

Data TypeDefault Value
Booleanon

Vanilla portals

multi-nether-worlds

Data TypeDefault Value
String

if you need multiple nether worlds, list worlds which should have their own nethers here, otherwise using the default nether world

anti-xray-worlds

Data TypeDefault Value
String

list of worlds where the experimental built-in anti xray is enabled

example: world, survival, factions

do-not-tick-worlds

Data TypeDefault Value
String

list of worlds where random block ticking is disabled

this disables plants growing, leaves decacying, dirt turning into grass, falling blocks etc.

you may want to add your lobby and minigame worlds here

worlds-entity-spawning-disabled

Data TypeDefault Value
String

list of world where entity auto spawning is not allowed

example: lobby, pvp, creative

load-all-worlds

Data TypeDefault Value
Booleanon

Load all worlds

ansi-title

Data TypeDefault Value
Booleanoff

Enable to display server occupancy information in Windows CMD title

block-listener

Data TypeDefault Value
Booleanon

enable checks used for snow and iron golems, monster egg stone etc.

allow-flight

Data TypeDefault Value
Booleanoff

enable / disable fly anticheat

multiversion-min-protocol

Data TypeDefault Value
Integer0

Minimum protocol for multiversion

multiversion-max-protocol

Data TypeDefault Value
Integer-1

Maximum protocol for multiversion

vanilla-bossbars

Data TypeDefault Value
Booleanoff

show boss bar for wither and ender dragon (experimental)

strong-ip-bans

Data TypeDefault Value
Booleanoff

Strong IP bans

worlds-level-auto-save-disabled

Data TypeDefault Value
String

Worlds where level auto-save is disabled

temp-ip-ban-failed-xbox-auth

Data TypeDefault Value
Booleanoff

Temporary ban failed Xbox authentication

call-data-pk-send-event

Data TypeDefault Value
Booleanon

you can disable DataPacketSendEvent for better performance if none of your plugins uses it

call-batch-pk-send-event

Data TypeDefault Value
Booleanon

you can disable BatchPacketsEvent for better performance if none of your plugins uses it

do-level-gc

Data TypeDefault Value
Booleanon

do level garbage collection between ticks

skin-change-cooldown

Data TypeDefault Value
Integer15

Skin change cooldown in seconds

check-op-movement

Data TypeDefault Value
Booleanoff

enable movement checking for operators

do-not-limit-interactions

Data TypeDefault Value
Booleanoff

disables a hack which is used to limit right click interaction spamming by client

do-not-limit-skin-geometry

Data TypeDefault Value
Booleanon

disables maximum skin geometry size checks

may be required for some persona skins to be usable

automatic-bug-report

Data TypeDefault Value
Booleanon

enable automatic bug reports

anvils-enabled

Data TypeDefault Value
Booleanon

enable anvils

anvils on Nukkit are pretty experimental and issues with item renaming or lost items are quite common

save-player-data-by-uuid

Data TypeDefault Value
Booleanon

if enabled, saving player data by their uuid in the format NukkitX uses and automatically converting player data in the old format to the new format

disable this if you use the legacy Waterdog proxy

note

do not disable if new player data exists

persona-skins

Data TypeDefault Value
Booleanon

persona skins allowed

note

default steve skin will show if disabled

enabling do-not-limit-skin-geometry may be required for some persona skins to be usable

call-entity-motion-event

Data TypeDefault Value
Booleanon

you can disable EntityMotionEvent for better performance if none of your plugins uses it

update-notifications

Data TypeDefault Value
Booleanon

notify operators about new Nukkit MOT releases on join

bstats-metrics

Data TypeDefault Value
Booleanon

enable bStats metrics

https://bstats.org/plugin/server-implementation/Nukkit/

data collected anonymously: server software (Nukkit MOT), player count, players game versions, xbox auth required, Java version, operating system, cpu arch & core count, host country

cache-chunks

Data TypeDefault Value
Booleanoff

save chunks to memory for faster sending

note

no proper multiversion support

async-chunks

Data TypeDefault Value
Booleanon

enable asynchronous chunk sending

this can improve the performance a lot when lots of chunks are being sent to players on different versions

it's recommended to keep this enabled

deprecated-verbose

Data TypeDefault Value
Booleanon

Verbose API deprecations

server-authoritative-movement

Data TypeDefault Value
Stringserver-auth

Server authoritative movement Optional:client-auth / server-auth-with-rewind / server-auth

server-authoritative-block-breaking

Data TypeDefault Value
Booleanon

Server authoritative block breaking

use-client-spectator

Data TypeDefault Value
Booleanon

Use client spectator

enable-experiment-mode

Data TypeDefault Value
Booleanon

Enable experiment mode

use-waterdog

Data TypeDefault Value
Booleanoff

Attempt to get the real IP of clients provided by WaterdogPE

See: https://waterdog.dev/

enable-spark

Data TypeDefault Value
Booleanoff

Enabling Spark for Performance Analysis

See: https://spark.lucko.me/docs

hastebin-token

Data TypeDefault Value
String

Hastebin token for generating debug links

See: https://www.toptal.com/developers/hastebin/documentation

use-native-leveldb

Data TypeDefault Value
Booleanoff

use native leveldb implementation

enable-raw-ores

Data TypeDefault Value
Booleanon

Enable raw ores; when enabled, coarse copper, coarse iron, and raw gold drop from higher-version players

As of 1.17.0

leveldb-cache-mb

Data TypeDefault Value
Integer80

used with 'use-native-leveldb'

set max size of chunk data cache used to reduce disk io

per world, consider increasing if you only have a few large worlds and lots of ram

forced-safety-enchant

Data TypeDefault Value
Booleanon

Enable forced safety enchantments (up max lvl)