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.
Basic Settings
Section titled “Basic Settings”| Option | Type | Default | Description |
|---|---|---|---|
server.server_port | u16 | 25565 | The port the server listens on |
server.max_players | u32 | 20 | Maximum players allowed simultaneously |
server.view_distance | u8 | 10 | Maximum view distance in chunks (1-32) |
server.simulation_distance | u8 | 10 | Maximum simulation distance in chunks |
server.motd | String | "A Steel Server" | Message displayed in server list |
Security Settings
Section titled “Security Settings”| Option | Type | Default | Description |
|---|---|---|---|
server.online_mode | bool | true | Use Mojang authentication for player verification |
server.encryption | bool | true | Enable encryption for client-server communication |
server.enforce_secure_chat | bool | false | Enforce secure chat (requires online_mode and encryption) |
For debugging and bots it’s recommended to disable encryption (only for testing!)
Favicon Settings
Section titled “Favicon Settings”| Option | Type | Default | Description |
|---|---|---|---|
server.use_favicon | bool | true | Whether to use a custom favicon |
server.favicon | String | "config/favicon.png" | Path to favicon file (64x64 PNG) |
Compression Settings
Section titled “Compression Settings”Network compression reduces bandwidth usage at the cost of CPU.
| Option | Type | Default | Valid Range | Description |
|---|---|---|---|---|
server.compression.threshold | u32 | 256 | >=256 | Packet size threshold for compression |
server.compression.level | i32 | 4 | 1-9 | Compression level (1=fast, 9=best) |
Server Links
Section titled “Server Links”Server links are displayed in the multiplayer menu.
| Option | Type | Default | Description |
|---|---|---|---|
server.server_links.enable | bool | true | Enable server links feature |
server.server_links.links | Array | 4 links | List of links to display |
See Server Links Guide for detailed configuration.
Logging Settings
Section titled “Logging Settings”| Option | Type | Default | Description |
|---|---|---|---|
log.time | String | "uptime" | Time format: none, date, or uptime |
log.module_path | bool | false | Whether the module path should be displayed |
log.extra | bool | false | Whether extra log data should be displayed |
Example Configuration
Section titled “Example Configuration”[server]server_port = 25565max_players = 50view_distance = 12simulation_distance = 10online_mode = trueencryption = truemotd = "Welcome to my Steel server!"use_favicon = truefavicon = "config/favicon.png"enforce_secure_chat = false
[server.compression]threshold = 256level = 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 = falseextra = falseValidation Rules
Section titled “Validation Rules”The server validates configuration on startup:
- unknown fields are rejected
server.view_distancemust be between 1 and 32server.simulation_distancemust be less than or equal toserver.view_distanceserver.compression.thresholdmust be at least 256server.compression.levelmust be between 1 and 9- if
server.enforce_secure_chatis true, bothserver.online_modeandserver.encryptionmust be true
If validation fails, the server will exit with an error message.