How to Configure server.properties for Optimal Performance

    Server Owners86 viewsUpdated 4 months ago

    Understanding server.properties

    The server.properties file is the main configuration file for your Minecraft server. It controls everything from game rules to network settings. Here's what every property does and the recommended values.

    Network Settings

    server-ip

    Leave blank to listen on all interfaces. Only set this if your machine has multiple IPs and you want to bind to a specific one.

    server-ip=

    server-port

    Default: 25565. Change if running multiple servers on one machine.

    server-port=25565

    max-players

    Maximum concurrent players. Set slightly higher than your expected peak.

    max-players=100

    network-compression-threshold

    Minimum packet size before compression. Lower = more compression (slower CPU, less bandwidth). Default 256 is good for most servers.

    network-compression-threshold=256

    Gameplay Settings

    gamemode

    Default gamemode for new players: survival, creative, adventure, spectator

    gamemode=survival

    difficulty

    peaceful, easy, normal, hard. Most servers use "normal" or "hard."

    difficulty=normal

    pvp

    Enable/disable player vs player combat.

    pvp=true

    spawn-protection

    Radius (in blocks) around spawn where only OPs can build. Set to 0 if using WorldGuard.

    spawn-protection=0

    allow-flight

    Set to true if using plugins that enable flight (EssentialsX fly, creative plots). Otherwise the server kicks "flying" players.

    allow-flight=true

    Performance Settings

    view-distance

    Chunk render distance. Lower = better performance. 10 is default, 6-8 is recommended for busy servers.

    view-distance=8

    simulation-distance

    How far entities are simulated. 4-6 is optimal for performance while keeping gameplay reasonable.

    simulation-distance=6

    max-tick-time

    Maximum milliseconds a tick can take before the watchdog kills the server. Set to -1 to disable (do this if you get "server is overloaded" crashes during worldgen).

    max-tick-time=60000

    World Settings

    level-name

    World folder name. Default is "world."

    level-name=world

    level-seed

    World generation seed. Leave empty for random.

    level-seed=

    level-type

    World type: minecraft:normal, minecraft:flat, minecraft:large_biomes, minecraft:amplified

    level-type=minecraft\:normal

    generate-structures

    Enable villages, temples, strongholds, etc.

    generate-structures=true

    max-world-size

    Maximum world radius in blocks. Lower limits prevent players from exploring infinitely (which causes storage bloat).

    max-world-size=15000

    Security Settings

    online-mode

    Keep this TRUE unless you specifically need cracked player support. Online mode verifies player accounts with Mojang.

    online-mode=true

    white-list

    Enable whitelist to restrict who can join.

    white-list=false

    enforce-secure-profile

    Require signed chat messages. Recommended: true for security.

    enforce-secure-profile=true

    enable-rcon

    Remote console access. Only enable if you need it, and use a strong password.

    enable-rcon=false
    rcon.password=
    rcon.port=25575

    MOTD (Message of the Day)

    The text shown in the server list. Supports Minecraft color codes.

    motd=\u00A7b\u00A7lMy Awesome Server \u00A77- \u00A7eSurvival SMP

    Use BMCSL's MOTD Creator to generate formatted MOTDs with color codes.

    Survival SMP

    difficulty=hard
    pvp=true
    view-distance=8
    simulation-distance=6
    spawn-protection=0
    max-world-size=20000

    Creative Build

    gamemode=creative
    difficulty=peaceful
    pvp=false
    allow-flight=true
    spawn-protection=0
    generate-structures=false

    PvP Server

    difficulty=normal
    pvp=true
    view-distance=6
    simulation-distance=4
    spawn-protection=10