Server Properties
Theserver.properties file controls core Minecraft server behavior. Modrinth provides a user-friendly interface to edit these settings.
Accessing Server Properties
Make changes
Edit values using:
- Toggle switches for boolean settings
- Number inputs for numeric values
- Text inputs for strings
- Dropdowns for predefined options
Key Server Properties
World Settings
level-name
level-name
The name of your world folder.
level-seed
level-seed
The seed used to generate your world.
Seeds only affect newly generated chunks. Existing chunks remain unchanged.
level-type
level-type
The world generation type.Options:
default- Standard world generationflat- Flat/superflat worldlarge_biomes- Biomes 16x largeramplified- Extreme terrainsingle_biome_surface- One biome only
spawn-protection
spawn-protection
Radius of spawn area where only operators can modify blocks.
max-world-size
max-world-size
Maximum world border size in blocks.
Gameplay Settings
difficulty
difficulty
Game difficulty level.Options:
peaceful- No hostile mobs, health regenerateseasy- Reduced mob damagenormal- Standard difficultyhard- Increased mob damage and features
On pre-1.13 servers, use numbers: 0=peaceful, 1=easy, 2=normal, 3=hard
gamemode
gamemode
Default game mode for new players.Options:
survival- Gather resources, health/hungercreative- Unlimited resources, flyingadventure- Survival without block breakingspectator- Fly through blocks, observe
hardcore
hardcore
Enable hardcore mode (permanent death).
pvp
pvp
Allow player vs player combat.
Server Behavior
max-players
max-players
Maximum number of players allowed on the server.
view-distance
view-distance
How many chunks are visible to players.
Higher values improve visuals but increase RAM usage and bandwidth. 8-12 is recommended for most servers.
simulation-distance
simulation-distance
How many chunks actively simulate (mobs, crops, redstone).
max-tick-time
max-tick-time
Maximum tick time before server watchdog kicks in (milliseconds).
Network and Performance
network-compression-threshold
network-compression-threshold
Packet size threshold for compression (bytes).
Lower values use more CPU but save bandwidth. Higher values do the opposite.
entity-broadcast-range-percentage
entity-broadcast-range-percentage
How far entities are sent to clients (percentage of normal range).
Searching Properties
Use the search box to quickly find settings:Startup Configuration
Java Version
Select which Java version your server runs on:Java 8
Java 8
For Minecraft 1.6 - 1.16
- Legacy mod support
- Compatible with older plugins
- Less memory efficient
Java 11
Java 11
For Minecraft 1.12 - 1.17
- Good balance of compatibility
- Better performance than Java 8
Java 17
Java 17
For Minecraft 1.17 - 1.19
- Required for 1.18+
- Improved garbage collection
- Better memory management
Java 21
Java 21
For Minecraft 1.20+
- Required for 1.20.5+
- Latest performance improvements
- Best garbage collection
Java Runtime
Choose your Java runtime environment:| Runtime | Description | Best For |
|---|---|---|
| Corretto | Amazon’s build of OpenJDK | General use, production servers |
| Temurin | Eclipse’s build of OpenJDK | Standard choice, well-tested |
| GraalVM | High-performance JVM | Large servers, performance-critical |
Startup Command
Advanced users can modify the startup invocation:Common JVM Flags
-Xms / -Xmx
Set initial and maximum memory allocation.Make them equal to prevent memory reallocation lag.
-XX:+UseG1GC
Enable G1 garbage collector (recommended for most servers).
-XX:MaxGCPauseMillis
Target maximum pause time for garbage collection (milliseconds).
-XX:+UseZGC
Enable Z garbage collector (Java 17+, very low pause times).
Restoring Default Startup
If you encounter issues with custom startup commands:- Go to Options > Startup
- Click Restore default command
- Save changes
- Restart server
Network Configuration
Modrinth Subdomain
Every server gets a free subdomain atmodrinth.gg:
Check availability
Subdomains must be:
- At least 5 characters long
- Only letters, numbers, and hyphens
- Unique across all Modrinth servers
Players can connect using either your subdomain or the direct IP:port.
Custom Domain Setup
You can use your own domain to connect to your server:Port Allocations
Modrinth servers include one primary port (default: 25565) for Minecraft connections.Adding Additional Ports
Some mods require extra ports (e.g., Dynmap, voice chat mods):You can create up to 15 additional port allocations. Each allocation gets a unique port number.
Managing Allocations
For each allocation, you can:- Copy connection info - Quick copy IP:port to clipboard
- Rename - Update the allocation name
- Delete - Remove allocations you no longer need
DNS Record Export
For users with custom domains:- Enter your domain in the Generated DNS records section
- Click Export DNS records
- Download the text file
- Import into your DNS provider
Environment Variables
Modrinth automatically configures environment variables for your server. These are set based on your plan and configuration:Resource Limits
Java Configuration
Server Identification
Environment variables are managed automatically. Manual modification is not supported.
Player Permissions
While Modrinth doesn’t directly manage in-game permissions, you can configure them through:Operator Permissions
Grant operator status via console:- Level 1: Bypass spawn protection
- Level 2: Use cheat commands and command blocks
- Level 3: Use player management commands
- Level 4: Use all commands including /stop
Whitelist
Restrict server access to specific players:whitelist.json via Files tab for bulk management.
Permission Plugins
For advanced permissions, install a plugin:- LuckPerms - Modern, feature-rich
- PermissionsEx - Traditional, widely supported
- GroupManager - Simple group-based permissions
Configuration Best Practices
Backup first
Always create a backup before changing critical settings like world generation or difficulty.
Change gradually
Make one change at a time so you can identify what caused issues.
Test thoroughly
Test configuration changes with a few players before announcing to everyone.
Document changes
Keep notes on what you changed and why. Helps with troubleshooting later.
Performance Optimization
For better performance:- Reduce view distance to 8-10 chunks
- Lower simulation distance to match view distance
- Enable G1GC in startup command (Java 17+)
- Install optimization mods:
- Lithium (Fabric)
- Phosphor (Fabric)
- Starlight (Fabric/Forge)
- FerriteCore (Fabric/Forge)
Performance optimization mods can improve TPS by 20-30% with no gameplay changes.
Troubleshooting Configuration
Server Won’t Start After Changes
Invalid Property Values
Server rejects changes
Server rejects changes
Some properties have valid ranges. Check the Minecraft Wiki for acceptable values.
Changes don't apply
Changes don't apply
Make sure you:
- Clicked Save Changes
- Restarted the server
- Waited for full startup
Network Issues
Custom domain not working
Custom domain not working
- Verify DNS records are correct
- Wait for DNS propagation (up to 60 minutes)
- Test with IP:port to confirm server is running
- Use DNS checker to verify propagation
Port allocation fails
Port allocation fails
You’ve reached the 15 allocation limit. Delete unused allocations to create new ones.
For configuration issues you can’t resolve, contact Modrinth Support with your server ID and a description of what you changed.
