Skip to main content

Server Properties

The server.properties file controls core Minecraft server behavior. Modrinth provides a user-friendly interface to edit these settings.

Accessing Server Properties

1

Navigate to Options

Go to Options > Properties in your server panel.
2

Browse settings

Scroll through the list or use the search box to find specific properties.
3

Make changes

Edit values using:
  • Toggle switches for boolean settings
  • Number inputs for numeric values
  • Text inputs for strings
  • Dropdowns for predefined options
4

Save and restart

Click Save Changes at the bottom, then restart your server for changes to take effect.
The server.properties file is generated after the first server startup. If you don’t see the properties page, start your server first.

Key Server Properties

World Settings

The name of your world folder.
Default: world
Example: survival_world
Changing this creates a new world. Back up your current world first!
The seed used to generate your world.
Default: (empty - random)
Example: 12345, "Awesome Seed"
Seeds only affect newly generated chunks. Existing chunks remain unchanged.
The world generation type.Options:
  • default - Standard world generation
  • flat - Flat/superflat world
  • large_biomes - Biomes 16x larger
  • amplified - Extreme terrain
  • single_biome_surface - One biome only
Amplified worlds require more RAM and processing power.
Radius of spawn area where only operators can modify blocks.
Default: 16
Range: 0-999
Set to 0 to disable
Maximum world border size in blocks.
Default: 29999984
Range: 1-29999984

Gameplay Settings

Game difficulty level.Options:
  • peaceful - No hostile mobs, health regenerates
  • easy - Reduced mob damage
  • normal - Standard difficulty
  • hard - Increased mob damage and features
On pre-1.13 servers, use numbers: 0=peaceful, 1=easy, 2=normal, 3=hard
Default game mode for new players.Options:
  • survival - Gather resources, health/hunger
  • creative - Unlimited resources, flying
  • adventure - Survival without block breaking
  • spectator - Fly through blocks, observe
Enable hardcore mode (permanent death).
Default: false
In hardcore mode, players are banned when they die. Use with caution!
Allow player vs player combat.
Default: true

Server Behavior

Maximum number of players allowed on the server.
Default: 20
Range: 1-99999
Higher player counts require more RAM. Plan your server resources accordingly.
How many chunks are visible to players.
Default: 10
Range: 3-32
Higher values improve visuals but increase RAM usage and bandwidth. 8-12 is recommended for most servers.
How many chunks actively simulate (mobs, crops, redstone).
Default: 10
Range: 3-32
Lower than view-distance to reduce CPU load while maintaining visual quality.
Maximum tick time before server watchdog kicks in (milliseconds).
Default: 60000
Set to -1 to disable watchdog
Setting too low may cause false-positive crashes during legitimate lag.

Network and Performance

Packet size threshold for compression (bytes).
Default: 256
Range: -1 to 2147483647
Set to -1 to disable compression
Lower values use more CPU but save bandwidth. Higher values do the opposite.
How far entities are sent to clients (percentage of normal range).
Default: 100
Range: 10-1000
Reduce to 50-75% to decrease bandwidth usage on crowded servers.

Searching Properties

Use the search box to quickly find settings:
Search: "spawn"

Results:
- spawn-protection
- spawn-monsters  
- spawn-animals
- spawn-npcs
- allow-nether
Not sure what a property does? Check the Minecraft Wiki for detailed explanations.

Startup Configuration

Java Version

Select which Java version your server runs on:
For Minecraft 1.6 - 1.16
  • Legacy mod support
  • Compatible with older plugins
  • Less memory efficient
For Minecraft 1.12 - 1.17
  • Good balance of compatibility
  • Better performance than Java 8
For Minecraft 1.17 - 1.19
  • Required for 1.18+
  • Improved garbage collection
  • Better memory management
For Minecraft 1.20+
  • Required for 1.20.5+
  • Latest performance improvements
  • Best garbage collection
Compatibility matters! Modrinth shows only compatible Java versions by default. Toggle “Show all Java versions” if you need a different version, but ensure your Minecraft version supports it.

Java Runtime

Choose your Java runtime environment:
RuntimeDescriptionBest For
CorrettoAmazon’s build of OpenJDKGeneral use, production servers
TemurinEclipse’s build of OpenJDKStandard choice, well-tested
GraalVMHigh-performance JVMLarge servers, performance-critical
GraalVM can provide 10-20% better performance but uses more memory. Try it if you have headroom.

Startup Command

Advanced users can modify the startup invocation:
java -Xms4G -Xmx4G -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC \
  -jar server.jar nogui
Advanced feature! Only modify the startup command if you know what you’re doing. Invalid commands can prevent your server from starting.

Common JVM Flags

-Xms / -Xmx

Set initial and maximum memory allocation.
-Xms4G -Xmx4G
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:MaxGCPauseMillis=200

-XX:+UseZGC

Enable Z garbage collector (Java 17+, very low pause times).

Restoring Default Startup

If you encounter issues with custom startup commands:
  1. Go to Options > Startup
  2. Click Restore default command
  3. Save changes
  4. Restart server

Network Configuration

Modrinth Subdomain

Every server gets a free subdomain at modrinth.gg:
1

Choose your subdomain

Go to Options > Network and find the subdomain field.
your-cool-server.modrinth.gg
2

Check availability

Subdomains must be:
  • At least 5 characters long
  • Only letters, numbers, and hyphens
  • Unique across all Modrinth servers
3

Save changes

Click Save Changes. Your new subdomain is active immediately.
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:
1

Get your server IP

Find your dedicated IP address in the Options > Network section.
IP: 123.456.789.0
Port: 25565
2

Add DNS records

In your domain registrar’s DNS settings, add:A Record:
Type: A
Name: play (or @)
Value: 123.456.789.0
TTL: 300
SRV Record:
Type: SRV
Name: _minecraft._tcp.play
Value: 0 10 25565 play.yourdomain.com
TTL: 300
3

Wait for propagation

DNS changes can take 5-60 minutes to propagate globally.
4

Test connection

Try connecting to play.yourdomain.com from Minecraft.
Use the Export DNS records button in the Network settings to download a text file with properly formatted DNS records for your domain registrar.

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):
1

Go to Network settings

Navigate to Options > Network.
2

Create allocation

Click New allocation button.
3

Name the allocation

Give it a descriptive name:
Dynmap Web Interface
Voice Chat
RCON
4

Get port number

A random port is assigned automatically:
Port 25566 assigned
5

Configure your mod

Update the mod’s config to use the assigned port.
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
Deleting an allocation releases the port. You cannot reserve the same port again - a new random port will be assigned if you create another allocation.

DNS Record Export

For users with custom domains:
  1. Enter your domain in the Generated DNS records section
  2. Click Export DNS records
  3. Download the text file
  4. Import into your DNS provider
The exported file contains properly formatted records:
; A Records
play.example.com.    1    IN    A    123.456.789.0

; SRV Records  
_minecraft._tcp.play.example.com.    1    IN    SRV    0 10 25565 play.example.com.

Environment Variables

Modrinth automatically configures environment variables for your server. These are set based on your plan and configuration:

Resource Limits

MEMORY_LIMIT=6144      # RAM in MB
CPU_LIMIT=3            # CPU cores
STORAGE_LIMIT=30720    # Disk in MB
These values are read-only and set according to your server plan.

Java Configuration

JAVA_VERSION=lts17     # Java version
JAVA_RUNTIME=corretto  # Java runtime
Modified via Options > Startup.

Server Identification

SERVER_ID=abc123...    # Unique server ID
REGION=us-east         # Datacenter location
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:
/op PlayerName              # Make player an operator
/deop PlayerName            # Remove operator status
Operator levels (1-4):
  • 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 on               # Enable whitelist
/whitelist add PlayerName   # Add player
/whitelist remove PlayerName # Remove player
/whitelist list             # View whitelist
Edit 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
Install from the Content > Plugins tab.
LuckPerms is recommended for most servers. It has a web editor for easy permission management.

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:
  1. Reduce view distance to 8-10 chunks
  2. Lower simulation distance to match view distance
  3. Enable G1GC in startup command (Java 17+)
  4. 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

1

Check recent changes

Identify what you changed last.
2

Review console logs

Look for error messages in the Console tab during startup.
3

Restore backup

If the issue persists, restore from your last working backup.
4

Reset to defaults

For startup issues, use Restore default command in Startup settings.

Invalid Property Values

Some properties have valid ranges. Check the Minecraft Wiki for acceptable values.
Make sure you:
  1. Clicked Save Changes
  2. Restarted the server
  3. Waited for full startup

Network Issues

  1. Verify DNS records are correct
  2. Wait for DNS propagation (up to 60 minutes)
  3. Test with IP:port to confirm server is running
  4. Use DNS checker to verify propagation
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.