Set up basalt.toml with switches and dropdowns, then copy or download the file.
Change any setting and the file on the right updates as you go. It only lists what you changed, since Basalt fills in the default for everything else. Already have a basalt.toml? Load it to edit it here. Your changes are remembered in this browser. Every setting is explained on the Configuration page.
General
server_nameThe name shown in the server list.
worldThe folder inside worlds/ to play. Created if it does not exist. See Worlds.
max_playersThe most players allowed on at once.
gamemodeThe game mode a player gets the first time they join: "survival", "creative", "adventure" or "spectator".
force_gamemodePuts every player in gamemode each time they join, not only the first time.
default_player_permission_levelThe permission level of players not listed in permissions.json: "visitor", "member" or "operator". See Permissions, allowlist and bans.
allow_listOnly lets in players listed in allowlist.json. The allowlist on and allowlist off commands rewrite this line.
online_modeChecks every player's Xbox sign-in.
autosave_ticksTicks between saving players and the world. 6000 ticks is five minutes.
enchant_bypass_limitsLets /enchant and plugins put any enchantment on any item at any level up to 32767, ignoring vanilla's maximum levels and conflicts. Off keeps vanilla's rules.
Network
signaling_portThe TCP port clients use to start a connection.
media_portThe UDP port game traffic uses.
advertised_addressesPublic addresses to give clients when the host is behind NAT, for example ["203.0.113.10"].
compression_thresholdPacket batches smaller than this many bytes are sent uncompressed.
botnet_detectionWatches for several connections flooding packets at once. When three or more send over 300 packets a second together and look coordinated (they started together, send the same packet, share a subnet or have just connected), their addresses are disconnected and turned away for a minute.
World and simulation
view_distanceThe farthest chunk radius sent to a player, however far their client asks to see.
tick_distanceThe chunk radius around each player where the world runs: mobs, random ticks such as crop growth, and the chunks kept for a while after a player leaves. At least 1; values above view_distance are treated as view_distance.
chunk_unload_delaySeconds a chunk nobody is near stays loaded before it is saved and unloaded. The chunks around a player who leaves stay this long too, with what they dropped.
mob_aiRuns mob AI: wandering, following, attacking and pathfinding. Off, mobs stand where they are, though they still fall, get pushed and can be hurt.
mob_ai_kindsMobs that keep their AI while mob_ai is off, as "minecraft:zombie" or just "zombie".
max_threadsThe most threads Basalt uses for connections and for chunk work. 0 uses as many as the machine has; a number above the machine's count is lowered to it.
player_tickRuns each player's hunger: exhaustion, saturation, starving and the health food gives back. Off, players never get hungry and only heal by other means, which suits lobbies and kit servers.
client_side_chunk_generation_enabledTells clients they may generate the look of chunks beyond the ones Basalt sends.
Resource packs
texturepack_requiredPlayers must accept the packs in resource_packs/ to join; refusing disconnects them. The older name force_resource_packs is still accepted.
send_behaviour_packsAlso offers behaviour packs, which clients need for some addons. Resource packs are always offered.
resource_pack_chunk_sizeBytes of a pack sent at a time (256 KiB).
Skins and graphics
disable_custom_skinsReplaces skins made outside the Minecraft store and the character creator with the default skin.
disable_personaReplaces character creator (persona) skins with the default skin.
skin_change_cooldownSeconds a player must wait between changing skins in game. Changes made sooner are ignored.
force_skin_trustedTreats every skin as trusted, whatever the client says about it.
disable_client_vibrant_visualsTells clients to use the next best graphics setting instead of Vibrant Visuals.
Plugin networking
script_net_enabledLets plugins make HTTP requests and open WebSockets.
script_net_allowed_hostsThe hosts plugins may reach, as "discord.com", or "*.example.org" for any host under example.org. Empty allows any host. Host names are checked, not the addresses they resolve to.
script_net_max_body_bytesThe largest HTTP response body or WebSocket message a plugin takes in, in bytes (8 MiB).
Rate limits
rate_limit_enabledTurns on the limits below.
max_inbound_packets_per_secondPackets a player may send in a second. More is treated as flooding and disconnects them.
max_packets_per_tickPackets a player may send in one 50 ms tick. Packets past the limit are dropped.
max_commands_per_secondCommands a player may send in a second; spamming more kicks them. 0 is no limit.
max_chat_per_secondChat messages a player may send in a second; more are dropped. 0 is no limit.
max_form_responses_per_secondForm answers a player may send in a second; spamming more kicks them. 0 is no limit.
max_world_interaction_packets_per_secondArm swings, sounds and other world interactions a player may send in a second; more are dropped. 0 is no limit.
max_movement_packets_per_secondVehicle moves a riding player may send in a second; more are dropped. 0 is no limit.
Anti-cheat
anticheat_proxyDisconnects players whose login shows the signs of a proxy rewriting it, with "Proxy Detected".
anticheat_crash_packetsDrops packets made to crash other clients: eating events for food the player does not hold, sounds and emotes that are not real ones.
anticheat_flyPulls back players who jump again while already in the air with no way to fly.
anticheat_fast_breakCatches inputs that carry many ticks of block breaking at once.
anticheat_criticalsGives no critical hit for a fall the player did not jump or step into.
anticheat_reachRefuses blocks used, and players or mobs hit, through walls or from out of reach.
anticheat_inventoryRefuses moves into the armour slots made with old-style inventory transactions.
anticheat_self_hitDrops a player's hit on themselves, which an honest client never sends.
anticheat_scaffoldRefuses block placements that come far too fast to make by hand, or land on a face the player is not looking at.
No setting matches that filter.