Overview
PaperMC is one of the most popular Minecraft server platforms, offering:- Superior Performance: Extensive optimizations for better TPS and lower resource usage
- Active Development: Regular updates and quick bug fixes
- Plugin Compatibility: Full support for Bukkit and Spigot plugins
- Advanced Configuration: Fine-grained control over server behavior
- Production Ready: Used by thousands of servers worldwide
Paper is recommended over Vanilla, Bukkit, or Spigot for most use cases due to its performance improvements and active maintenance.
Configuration
Basic Setup
Version Selection
Automatic Latest Version
By default, the container downloads the latest Paper build for your specifiedVERSION:
VERSION is not specified, the latest Minecraft version released by PaperMC is used.
Specific Paper Build
Select a specific Paper build number:Experimental Builds
Access experimental/snapshot builds:Environment Variables
| Variable | Default | Description |
|---|---|---|
TYPE | - | Set to PAPER |
VERSION | latest | Minecraft version (e.g., 1.20.4) |
PAPER_BUILD | latest | Specific Paper build number |
PAPER_CHANNEL | default | Build channel: default or experimental |
PAPER_DOWNLOAD_URL | - | Custom Paper download URL |
SKIP_DOWNLOAD_DEFAULTS | false | Skip downloading default config files |
Plugin Management
Installing Plugins
Paper supports Bukkit and Spigot plugins. Install them in several ways:Plugins Directory
Place plugin JAR files in the Then add your
plugins subdirectory:.jar files to ./plugins/ on the host.If you add plugins while the container is running, restart it to load them:
Plugin Configuration
Plugin configurations are stored in:./data/plugins/<plugin-name>/config.yml./data/plugins/<plugin-name>/
Paper Configuration
Configuration Files
Paper uses several configuration files:paper-global.yml- Global Paper settingspaper-world-defaults.yml- Default world settingspaper-world/world.yml- Per-world settingsspigot.yml- Spigot settingsbukkit.yml- Bukkit settings
Configuration Repositories
Automatically download optimized configurations:<REPO_URL>/1.20.4/paper-global.yml<REPO_URL>/1.20.4/server.properties
Environment variables in your Docker configuration will override values in downloaded
server.properties files.Paper Alternatives
The Paper ecosystem includes several enhanced forks:Pufferfish
Highly optimized Paper fork for large servers:Purpur
Paper fork with additional gameplay features:Leaf
Paper fork focused on performance and low-level optimizations:Folia
Experimental multi-threaded Paper fork:Advanced Configuration
Custom Download URL
Host your own Paper builds:Force Re-download
Force re-downloading the server jar:Remove
FORCE_REDOWNLOAD after successfully starting the server.Skip Default Configs
Skip downloading default configuration files:Complete Production Example
docker-compose.yml
Performance Tuning
Recommended Memory Settings
Player Count Guidelines
| Players | Recommended RAM | View Distance |
|---|---|---|
| 1-10 | 2-4GB | 10-12 |
| 10-20 | 4-6GB | 8-10 |
| 20-50 | 6-8GB | 6-8 |
| 50+ | 8GB+ | 4-6 |
Paper-Specific Optimizations
Editpaper-global.yml for performance tuning:
- Chunk loading limits
- Entity activation ranges
- Tick limits
- Redstone optimizations
Troubleshooting
Build Not Found Error
Plugin Not Loading
- Check plugin compatibility with your Paper version
- Verify JAR file is in the correct directory
- Check server logs for errors
- Restart the container after adding plugins
Performance Issues
- Increase allocated memory
- Enable Aikar’s flags:
USE_AIKAR_FLAGS: "true" - Reduce view distance and simulation distance
- Optimize Paper configuration files
- Review plugin performance with
/timings
Migration Guide
From Vanilla/Spigot to Paper
Next Steps
Install Plugins
Add plugins to extend functionality
Spiget Auto-Download
Automatically download plugins
Performance Tuning
Optimize for better performance
Hybrid Servers
Run mods and plugins together