server.properties
Modify the running configuration of the server to customize some basic functionalities.
server-ip
Data Type | Default Value |
---|---|
String | 0.0.0.0 |
server's port
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 Type | Default Value |
---|---|
Integer | 19132 |
server's port
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 Type | Default Value |
---|---|
Boolean | on |
enable extended query
motd
Data Type | Default Value |
---|---|
String | Minecraft Server |
server name / text which shows on the server list
can't be empty
sub-motd
Data Type | Default Value |
---|---|
String | Powered by Nukkit-MOT |
second line for motd
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 Type | Default Value |
---|---|
Integer | 8 |
maximum view distance in chunks
bigger value = more chunks loaded = more ram & cpu usage
achievements
Data Type | Default Value |
---|---|
Boolean | on |
enable player achievements
announce-player-achievements
Data Type | Default Value |
---|---|
Boolean | on |
broadcast achievement earned messages to all players
spawn-protection
Data Type | Default Value |
---|---|
Integer | 10 |
size of the spawn area in blocks where non op players can't build or break blocks
max-players
Data Type | Default Value |
---|---|
Integer | 50 |
Maximum number of players allowed on the server
drop-spawners
Data Type | Default Value |
---|---|
Boolean | on |
Drop spawners upon destruction
spawn-animals
Data Type | Default Value |
---|---|
Boolean | off |
enable animal spawning
spawn-mobs
Data Type | Default Value |
---|---|
Boolean | off |
enable monster spawning
gamemode
Data Type | Default Value |
---|---|
Integer | 2 |
server's default gamemode
0 = survival, 1 = creative, 2 = adventure, 3 = spectator
force-gamemode
Data Type | Default Value |
---|---|
Boolean | on |
set player gamemode to default gamemode on every join
difficulty
Data Type | Default Value |
---|---|
Integer | 2 |
server's default difficulty (0-3)
hardcore
Data Type | Default Value |
---|---|
Boolean | off |
players will be banned when they die
pvp
Data Type | Default Value |
---|---|
Boolean | on |
Whether to enable player versus player combat
white-list
Data Type | Default Value |
---|---|
Boolean | off |
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 Type | Default Value |
---|---|
String | Server is white-listed |
Reason for enabling the whitelist, displayed to players when they are denied access
generator-settings
Data Type | Default Value |
---|---|
String |
Special world generator settings for the default level
level-name
Data Type | Default Value |
---|---|
String | world |
Name of the default world
level-seed
Data Type | Default Value |
---|---|
String |
Seed for the default level
level-type
Data Type | Default Value |
---|---|
String | void |
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 Type | Default Value |
---|---|
Boolean | off |
enable remote console access
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 Type | Default Value |
---|---|
String | Random 10 characters |
Password for RCON connections
rcon.port
Data Type | Default Value |
---|---|
Integer | 25575 |
Port for RCON connections
auto-save
Data Type | Default Value |
---|---|
Boolean | on |
automatically save the world and player data
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 Type | Default Value |
---|---|
Boolean | off |
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 Type | Default Value |
---|---|
Boolean | off |
don't disable client's own packs when force-resources is enabled
xbox-auth
Data Type | Default Value |
---|---|
Boolean | on |
require Xbox account to join
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 Type | Default Value |
---|---|
Boolean | on |
enable network encryption
it's recommended to enable this if you don't use a proxy software
bed-spawnpoints
Data Type | Default Value |
---|---|
Boolean | on |
allow players to set spawn point using beds and respawn anchors
explosion-break-blocks
Data Type | Default Value |
---|---|
Boolean | on |
enable explosion damage to blocks
affects all explosions such as tnt, creepers and end crystals
stop-in-game
Data Type | Default Value |
---|---|
Boolean | on |
allow op to use /stop
command in game
op-in-game
Data Type | Default Value |
---|---|
Boolean | on |
allow op to use /op
command to op other players in game
xp-bottles-on-creative
Data Type | Default Value |
---|---|
Boolean | on |
allow players to throw experience bottles on creative
spawn-eggs
Data Type | Default Value |
---|---|
Boolean | off |
Enable spawn eggs, allowing entity spawning via spawn eggs
mob-ai
Data Type | Default Value |
---|---|
Boolean | on |
Enable MobPlugin's creature AI
entity-auto-spawn-task
Data Type | Default Value |
---|---|
Boolean | off |
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 Type | Default Value |
---|---|
Boolean | off |
enable despawning of mobs and animals without a name tag
there are special cases such as the ender dragon, withers and villagers that do not despawn
language
Data Type | Default Value |
---|---|
String | eng |
default language that Nukkit uses
force-language
Data Type | Default Value |
---|---|
Boolean | off |
force server side translations to be used
enable only if you have a plugin to implement those
shutdown-message
Data Type | Default Value |
---|---|
String | Server closed |
message that shows for players when you stop the server
use §
for colors and §n
for new line
save-player-data
Data Type | Default Value |
---|---|
Boolean | on |
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 Type | Default Value |
---|---|
Boolean | off |
include list of plugins in query (enable-query=on)
debug-level
Data Type | Default Value |
---|---|
Integer | 1 |
set a higher value (1-3) if you want more debug logging
async-workers
Data Type | Default Value |
---|---|
String | auto |
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 Type | Default Value |
---|---|
Integer | 2 |
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 Type | Default Value |
---|---|
Integer | 4 |
Zlib compression level for sent packets (0-9)
higher = more cpu usage but less bandwidth usage
compression-threshold
Data Type | Default Value |
---|---|
Integer | 256 |
don't compress batch packets smaller than this (Zlib only)
use-snappy-compression
Data Type | Default Value |
---|---|
Boolean | on |
Use Snappy compression for packets
min-mtu
Data Type | Default Value |
---|---|
Integer | 576 |
set minimum MTU size
default: 576
max-mtu
Data Type | Default Value |
---|---|
Integer | 1492 |
set maximum MTU size (576 - 1492)
higher is more efficient but smaller values could fix issues on some connections
rak-packet-limit
Data Type | Default Value |
---|---|
Integer | 120 |
A number of datagram packets each address can send within one RakNet tick (10ms)
IPs exceeding this limit will be temporarily banned
enable-rak-send-cookie
Data Type | Default Value |
---|---|
Boolean | on |
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 Type | Default Value |
---|---|
Integer | 25000 |
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 Type | Default Value |
---|---|
Boolean | on |
allow the server to automatically change level tick rate to maintain 20 ticks per second
auto-tick-rate-limit
Data Type | Default Value |
---|---|
Integer | 20 |
how much the server can temporary drop tick rate
base-tick-rate
Data Type | Default Value |
---|---|
Integer | 1 |
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 Type | Default Value |
---|---|
Boolean | off |
Always tick players
light-updates
Data Type | Default Value |
---|---|
Boolean | off |
Light updates
clear-chunk-tick-list
Data Type | Default Value |
---|---|
Boolean | on |
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 Type | Default Value |
---|---|
Integer | 56 |
how many chunks need to be loaded before player spawns
chunk-sending-per-tick
Data Type | Default Value |
---|---|
Integer | 4 |
how many chunks can be sent per tick
chunk-ticking-per-tick
Data Type | Default Value |
---|---|
Integer | 40 |
how many chunks can be ticked per tick
chunk-ticking-radius
Data Type | Default Value |
---|---|
Integer | 3 |
radius of chunks around players to get ticked
chunk-generation-queue-size
Data Type | Default Value |
---|---|
Integer | 8 |
how many chunks can be waiting for generation
chunk-generation-population-queue-size
Data Type | Default Value |
---|---|
Integer | 8 |
how many chunks can be waiting for population
ticks-per-autosave
Data Type | Default Value |
---|---|
Integer | 6000 |
how often world autosave task runs
in ticks, 20 ticks = 1 second
ticks-per-entity-spawns
Data Type | Default Value |
---|---|
Integer | 200 |
how often entity auto spawn task runs
in ticks, 20 ticks = 1 second
ticks-per-entity-despawns
Data Type | Default Value |
---|---|
Integer | 12000 |
how long entities live
in ticks, 20 ticks = 1 second
thread-watchdog
Data Type | Default Value |
---|---|
Boolean | on |
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 Type | Default Value |
---|---|
Integer | 60000 |
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 Type | Default Value |
---|---|
Boolean | off |
Generate Nether world
end
Data Type | Default Value |
---|---|
Boolean | off |
Generate End world
vanilla-portals
Data Type | Default Value |
---|---|
Boolean | on |
Vanilla portals
multi-nether-worlds
Data Type | Default 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 Type | Default Value |
---|---|
String |
list of worlds where the experimental built-in anti xray is enabled
example: world, survival, factions
do-not-tick-worlds
Data Type | Default 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 Type | Default Value |
---|---|
String |
list of world where entity auto spawning is not allowed
example: lobby, pvp, creative
load-all-worlds
Data Type | Default Value |
---|---|
Boolean | on |
Load all worlds
ansi-title
Data Type | Default Value |
---|---|
Boolean | off |
Enable to display server occupancy information in Windows CMD title
block-listener
Data Type | Default Value |
---|---|
Boolean | on |
enable checks used for snow and iron golems, monster egg stone etc.
allow-flight
Data Type | Default Value |
---|---|
Boolean | off |
enable / disable fly anticheat
multiversion-min-protocol
Data Type | Default Value |
---|---|
Integer | 0 |
Minimum protocol for multiversion
multiversion-max-protocol
Data Type | Default Value |
---|---|
Integer | -1 |
Maximum protocol for multiversion
vanilla-bossbars
Data Type | Default Value |
---|---|
Boolean | off |
show boss bar for wither and ender dragon (experimental)
strong-ip-bans
Data Type | Default Value |
---|---|
Boolean | off |
Strong IP bans
worlds-level-auto-save-disabled
Data Type | Default Value |
---|---|
String |
Worlds where level auto-save is disabled
temp-ip-ban-failed-xbox-auth
Data Type | Default Value |
---|---|
Boolean | off |
Temporary ban failed Xbox authentication
call-data-pk-send-event
Data Type | Default Value |
---|---|
Boolean | on |
you can disable DataPacketSendEvent for better performance if none of your plugins uses it
call-batch-pk-send-event
Data Type | Default Value |
---|---|
Boolean | on |
you can disable BatchPacketsEvent for better performance if none of your plugins uses it
do-level-gc
Data Type | Default Value |
---|---|
Boolean | on |
do level garbage collection between ticks
skin-change-cooldown
Data Type | Default Value |
---|---|
Integer | 15 |
Skin change cooldown in seconds
check-op-movement
Data Type | Default Value |
---|---|
Boolean | off |
enable movement checking for operators
do-not-limit-interactions
Data Type | Default Value |
---|---|
Boolean | off |
disables a hack which is used to limit right click interaction spamming by client
do-not-limit-skin-geometry
Data Type | Default Value |
---|---|
Boolean | on |
disables maximum skin geometry size checks
may be required for some persona skins to be usable
automatic-bug-report
Data Type | Default Value |
---|---|
Boolean | on |
enable automatic bug reports
anvils-enabled
Data Type | Default Value |
---|---|
Boolean | on |
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 Type | Default Value |
---|---|
Boolean | on |
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
persona-skins
Data Type | Default Value |
---|---|
Boolean | on |
persona skins allowed
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 Type | Default Value |
---|---|
Boolean | on |
you can disable EntityMotionEvent for better performance if none of your plugins uses it
update-notifications
Data Type | Default Value |
---|---|
Boolean | on |
notify operators about new Nukkit MOT releases on join
bstats-metrics
Data Type | Default Value |
---|---|
Boolean | on |
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 Type | Default Value |
---|---|
Boolean | off |
save chunks to memory for faster sending
no proper multiversion support
async-chunks
Data Type | Default Value |
---|---|
Boolean | on |
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 Type | Default Value |
---|---|
Boolean | on |
Verbose API deprecations
server-authoritative-movement
Data Type | Default Value |
---|---|
String | server-auth |
Server authoritative movement
Optional:client-auth / server-auth-with-rewind / server-auth
server-authoritative-block-breaking
Data Type | Default Value |
---|---|
Boolean | on |
Server authoritative block breaking
use-client-spectator
Data Type | Default Value |
---|---|
Boolean | on |
Use client spectator
enable-experiment-mode
Data Type | Default Value |
---|---|
Boolean | on |
Enable experiment mode
use-waterdog
Data Type | Default Value |
---|---|
Boolean | off |
Attempt to get the real IP of clients provided by WaterdogPE
enable-spark
Data Type | Default Value |
---|---|
Boolean | off |
Enabling Spark for Performance Analysis
See: https://spark.lucko.me/docs
hastebin-token
Data Type | Default Value |
---|---|
String |
Hastebin token for generating debug links
See: https://www.toptal.com/developers/hastebin/documentation
use-native-leveldb
Data Type | Default Value |
---|---|
Boolean | off |
use native leveldb implementation
enable-raw-ores
Data Type | Default Value |
---|---|
Boolean | on |
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 Type | Default Value |
---|---|
Integer | 80 |
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 Type | Default Value |
---|---|
Boolean | on |
Enable forced safety enchantments (up max lvl)