Skip to content

Server Configuration

SteelMC is configured through a TOML configuration file located at config/config.toml. This page documents all server options.

World settings are documented in World Configuration.

OptionTypeDefaultDescription
server.server_portu1625565The port the server listens on
server.max_playersu3220Maximum players allowed simultaneously
server.view_distanceu810Maximum view distance in chunks (1-32)
server.simulation_distanceu810Maximum simulation distance in chunks
server.motdString"A Steel Server"Message displayed in server list
OptionTypeDefaultDescription
server.online_modebooltrueUse Mojang authentication for player verification
server.encryptionbooltrueEnable encryption for client-server communication
server.enforce_secure_chatboolfalseEnforce secure chat (requires online_mode and encryption)

For debugging and bots it’s recommended to disable encryption (only for testing!)

OptionTypeDefaultDescription
server.use_faviconbooltrueWhether to use a custom favicon
server.faviconString"config/favicon.png"Path to favicon file (64x64 PNG)

Network compression reduces bandwidth usage at the cost of CPU.

OptionTypeDefaultValid RangeDescription
server.compression.thresholdu32256>=256Packet size threshold for compression
server.compression.leveli3241-9Compression level (1=fast, 9=best)

Server links are displayed in the multiplayer menu.

OptionTypeDefaultDescription
server.server_links.enablebooltrueEnable server links feature
server.server_links.linksArray4 linksList of links to display

See Server Links Guide for detailed configuration.

OptionTypeDefaultDescription
log.timeString"uptime"Time format: none, date, or uptime
log.module_pathboolfalseWhether the module path should be displayed
log.extraboolfalseWhether extra log data should be displayed
/config/config.toml
[server]
server_port = 25565
max_players = 50
view_distance = 12
simulation_distance = 10
online_mode = true
encryption = true
motd = "Welcome to my Steel server!"
use_favicon = true
favicon = "config/favicon.png"
enforce_secure_chat = false
[server.compression]
threshold = 256
level = 4
[server.server_links]
enable = true
[[server.server_links.links]]
label = "bug_report"
url = "https://github.com/4lve/SteelMC/issues"
[log]
time = "uptime"
module_path = false
extra = false

The server validates configuration on startup:

  • unknown fields are rejected
  • server.view_distance must be between 1 and 32
  • server.simulation_distance must be less than or equal to server.view_distance
  • server.compression.threshold must be at least 256
  • server.compression.level must be between 1 and 9
  • if server.enforce_secure_chat is true, both server.online_mode and server.encryption must be true

If validation fails, the server will exit with an error message.