Features
- Support for multiple flag collections (Aikar’s, MeowIce’s, Benchmarked, and more)
- Cross-platform script generation (Linux, Windows, macOS, Pterodactyl)
- Multiple server types (Paper, Purpur, Velocity, Waterfall)
- Automatic memory overhead calculation
- Environment variables support
- Auto-restart configuration
- GUI disable option
- GraalVM optimization flags
Getting Started
Configure Basic Settings
- Enter your server JAR filename (e.g.,
paper.jar,purpur.jar) - Select your operating system/environment
- Choose your server software type
- Set the amount of RAM to allocate
Choose Flag Collection
Select a flag set based on your needs:
- Aikar’s Flags: Proven, widely-used flags
- MeowIce’s Flags: Modern optimization flags
- Benchmarked: Scientifically tested flags
- hilltty’s Flags: Alternative optimization approach
- Obydux’s Flags: GraalVM-specific optimizations
- Etil’s Flags: Balanced performance flags
Configure Options
Enable optional features:
- No GUI mode (recommended for servers)
- Use variables for easier editing
- Auto-restart on crash
- Calculate overhead (recommended)
Configuration Options
File Name
The name of your server JAR file. Common examples:paper.jarpurpur.jarvelocity.jarserver.jar
The generator automatically appends
.jar if you forget it.Environment
Choose your server’s operating system:Linux
Generates a bash script (start.sh) for Linux servers. Most common for dedicated servers and VPS.
Windows
Generates a batch script (start.bat) for Windows servers.
macOS
Generates a bash script optimized for macOS systems.Pterodactyl
Generates a command suitable for the Pterodactyl panel’s startup field.Command
Generates a raw Java command without script wrapper.Software
Select your server software:- Paper: Most popular performance-focused server
- Purpur: Paper fork with additional features
- Velocity: Modern proxy server
- Waterfall: Paper-based BungeeCord fork
Some options (like GUI disable) are automatically hidden for software that doesn’t support them.
Memory Allocation
Amount of RAM to allocate to your server (in GiB):- Minimum: 1 GB (only for test/development servers)
- Recommended: 4-8 GB for small-medium servers
- Large Servers: 12-16+ GB for many players
Calculate Overhead
Enables automatic memory overhead calculation to prevent out-of-memory errors. Formula:(11x ÷ 12) - 1200MB where x is allocated RAM
Example: With 6GB allocated, the JVM receives ~4.3GB, leaving room for overhead.
Flag Collections Explained
Aikar’s Flags
Aikar’s Flags are the most widely-used JVM flags in the Minecraft community. Best for: General use, proven stability, wide compatibility Key optimizations:- G1GC garbage collector tuning
- Optimized heap sizing
- Reduced GC pause times
- Memory allocation efficiency
MeowIce’s Flags
MeowIce’s Flags provide modern optimizations for current Java versions. Best for: Modern servers, Java 17+ Key optimizations:- Updated GC tuning for Java 17+
- Reduced memory overhead
- Improved throughput
- Lower latency
Benchmarked Flags
Benchmarked flags are scientifically tested through extensive benchmarks. Best for: Maximum performance, willing to test Key optimizations:- Empirically tested settings
- Multiple configurations for different scenarios
- Regular updates based on new tests
hilltty’s Flags
hilltty’s Flags offer an alternative optimization approach. Best for: Alternative to mainstream flagsObydux’s Flags
Obydux’s Flags are specifically designed for GraalVM. Best for: Servers running GraalVM JDK Requirements: Must use GraalVM, not standard OpenJDKEtil’s Flags
Balanced performance flags suitable for most servers. Best for: General use, balanced approachAdvanced Options
No GUI
Disables the default server GUI window. Benefits:- Slightly reduced memory usage
- Better for headless servers
- Required for some server environments
Use Variables
Uses environment variables for memory, filename, and other settings. Benefits:- Easier to modify settings
- More maintainable scripts
- Better for version control
Auto-restart
Automatically restarts the server if it stops or crashes. Benefits:- Automatic recovery from crashes
- Continuous uptime
- Useful for automatic updates
Extra Flags
Platform-specific optimizations that appear based on your selections:Modern Vectors
Enables SIMD operations for optimized map rendering on Pufferfish and forks. Requirements: Pufferfish-based server (Purpur, etc.)Benchmarked (GraalVM)
Additional flags for Benchmarked collection on GraalVM. Requirements: GraalVM JDK + Benchmarked flags selectedMeowIce’s Flags (GraalVM)
GraalVM-specific optimizations for MeowIce’s flags. Requirements: GraalVM JDK + MeowIce’s flags selectedPlatform-Specific Instructions
Linux
- Save the generated script as
start.sh - Make it executable:
- Run the script:
Windows
- Save the generated script as
start.bat - Double-click to run, or use command prompt:
macOS
- Save the generated script as
start.sh - Make it executable:
- Run the script:
Pterodactyl
- Copy the generated command
- In your Pterodactyl panel, go to Startup
- Paste into the Startup Command field
- Restart your server
Optimization Tips
Testing Different Flags
To compare flag collections:- Generate a baseline profile with current flags
- Switch to new flags and restart
- Generate another profile under similar conditions
- Compare TPS, MSPT, and GC activity
When to Change Flags
- Server TPS consistently below 20
- High garbage collection pause times
- Out of memory errors
- Upgrading Java versions
- Changing server software
Common Issues
Out of Memory Errors
Solution: Enable “Calculate Overhead” or allocate more RAMServer Won’t Start
Check:- Java version compatibility (Java 17+ required for modern servers)
- Correct JAR filename
- Sufficient RAM available
- File permissions (Linux/macOS)
Poor Performance Despite Flags
Remember: Flags help, but can’t fix:- Inefficient plugins
- World issues (excessive entities, etc.)
- Insufficient hardware
- Poor server configuration
Java Version Recommendations
| Minecraft Version | Recommended Java |
|---|---|
| 1.20.5+ | Java 21 |
| 1.18 - 1.20.4 | Java 17 |
| 1.17 | Java 16 |
| 1.16 and below | Java 11 |
Flags are optimized for these Java versions. Using older or newer Java may reduce effectiveness.
GraalVM Benefits
GraalVM is an alternative JDK that can provide better performance: Pros:- Potentially higher TPS
- Better JIT compilation
- Lower latency
- Specialized optimizations
- Less tested in production
- May have compatibility issues
- Requires specific flags
Related Tools
- Spark Profile Analyzer - Test flag effectiveness
- Paper Timings Analyzer - Monitor performance