server.properties lives in the server directory and uses the same key=value format as vanilla (a Java .properties subset: # and ! comments, = or : separators). On start the file is rewritten completely, like vanilla does: every key the server knows, with its effective value (an invalid value is corrected with a warning), while keys this server does not know are kept as they were.
The table is generated from the server’s own property definitions, so keys, defaults and ranges are exactly what the binary uses. A key marked parsed only is accepted and written back, but nothing in the engine reads its value yet.
46 of 46 keys
Network and access
Key
Default
Description
online-mode
true
Authenticate players with the Mojang session servers. Turn it off only for local testing or behind a proxy; with a Velocity forwarding secret set, the proxy authenticates and this key is ignored.
prevent-proxy-connections
false
Vanilla key: include the client address in the session-server check.
server-ip
(empty)
Address to bind. Empty binds 127.0.0.1 (loopback only), unlike vanilla, which listens on all interfaces. Set 0.0.0.0 to accept remote players.
motd
A Minecraft Server
Message of the day in the server list.
server-port
25567 (0 to 65535)
TCP port. Defaults to 25567 here, not vanilla's 25565.
rate-limit
0
Packets per second a connection may send before it is disconnected. 0 disables the limit.
max-players
20
Player slots shown in the server list and enforced at login (operators with bypass excepted).
network-compression-threshold
256
Packets of at least this many bytes are zlib-compressed. -1 disables compression.
enable-status
true
Answer server list pings.
hide-online-players
false
Do not send the player sample in the server list.
player-idle-timeout
0
Minutes before an idle player is kicked (0 = never).
enforce-secure-profile
true
Require clients to sign chat with their Mojang profile keys.
log-ips
true
Log player addresses on login.
chat-spam-threshold-seconds
10 (0 to 1048576)
Vanilla chat throttle: kick players who send too many chat messages within n seconds.
command-spam-threshold-seconds
10 (0 to 1048576)
The same throttle for commands.
broadcast-console-to-ops
true
Send console command feedback to operators.
accepts-transfers
false
Accept players transferred from another server (the transfer packet).
white-list
false
Only listed players may join (whitelist.json). Defaults to false here so a fresh dev server is joinable; vanilla 26.3 defaults to true. The server logs a warning while it is off.
velocity-forwarding-secret
(empty)
Shared secret for Velocity modern forwarding. Empty = off. With it set, logins without valid forwarding data are refused.
max-pending-logins
256 (1 to 1048576)
Logins allowed to sit in the encryption and session-server phases at once; beyond it a login is refused with "server busy".
enforce-whitelist
false
Kick players who are not on the whitelist when it changes.
op-permission-level
4 (0 to 4)
Permission level (0-4) that /op grants.
Gameplay
Key
Default
Description
allow-flight
false
Do not kick survival players for flying.
force-gamemode
false
Reset players to the default game mode on every join.
difficulty
easy
peaceful, easy, normal or hard.
gamemode
survival
Default game mode: survival, creative, adventure or spectator.
hardcore
false
Hardcore world flag.
spawn-protection
16
Radius (in blocks) around the world spawn that non-operators cannot modify.
World
Key
Default
Description
level-name
world
World folder name, relative to the server directory.
level-seed
(empty)
Seed for a NEW world; empty picks a random one. Existing worlds keep the seed saved in world_gen_settings.dat.
generate-structures
true
Generate structures in a NEW world (written into its world_gen_settings.dat).
level-type
(vanilla world)
`flat` starts an instant superflat test world that is not saved. Anything else (or unset) is the real vanilla-compatible world.
Performance
Key
Default
Description
view-distance
10
Chunks sent to each player, in each direction. The main memory and bandwidth lever; see Performance tuning.
simulation-distance
10
Chunks around each player that are ticked (mobs, redstone, crops). Clamped like vanilla.
entity-broadcast-range-percentage
100
Scales how far entities are tracked and sent to players; clamped to 10..1000.
pause-when-empty-seconds
60
Vanilla key: seconds with no players before the server idles.
memory-profile
low
`low` (default): three chunk workers, nothing pooled, caches trimmed when idle; `throughput`: all cores, pooled buffers. Also `--memory-profile`.
worker-threads
hardware threads - 2 (at most 3 in the low profile)
Threads for chunk generation, lighting and saving. Also `--workers`. Overrides the memory profile cap.
General
Key
Default
Description
bug-report-link
(empty)
Link offered as the "report a bug" entry of the server links (sent during configuration). Must be a valid http(s) link; an invalid one is logged and dropped.
resource-pack-id
(empty)
UUID of the resource pack. Empty = a UUID derived from the pack URL, so it stays the same while the URL does. An invalid UUID disables the pack (logged).
resource-pack
(empty)
URL of a server resource pack offered to clients during configuration. Empty = no pack.
resource-pack-sha1
(empty)
SHA-1 of the resource pack (40 hex digits) sent with the request, so clients can use a cached copy.
resource-pack-hash
(empty)
Deprecated spelling of resource-pack-sha1, used only when resource-pack-sha1 is empty.
require-resource-pack
false
Disconnect a player who declines the resource pack.
resource-pack-prompt
(empty)
JSON text component shown with the resource pack request. Empty = none; invalid JSON is logged and the prompt is dropped.
enable-code-of-conduct
false
Send the code of conduct texts (the .txt files of the codeofconduct/ folder) during configuration. The server does not start when that folder cannot be read.
server-port defaults to 25567 instead of 25565, and server-ip empty binds 127.0.0.1, not all interfaces. See ports and binding.
white-list defaults to false; vanilla 26.3 defaults to true. The server prints a warning at startup while the whitelist is off.
Extra keys: velocity-forwarding-secret, max-pending-logins, memory-profile, worker-threads, level-type.
Command line options override the matching property: --port, --workers, --memory-profile. Settings of Ramjet itself (memory, world generation, chunks, network, plugins, debug) are in a separate file, ramjet.toml.
memory-profile=low (the default) caps the chunk workers at 3, pools nothing and trims caches when the server is idle; throughput uses all cores and keeps pooled buffers for more speed with many players. Details and numbers are on performance tuning.