Minecraft
The world's most popular game. Complete guide to Java/Bedrock server hosting, plugins, mods, and community management.
Overview
Release Date: Java (2009), Bedrock (2017)
Platform: Java Edition (Windows/Mac/Linux), Bedrock (Windows/Console/Mobile)
Player Base: 140+ million players
Customization: Plugins (Java), Datapacks, Mods (Forge/Fabric)
Max Players: Unlimited (hardware dependent)
System Requirements
Java Server (Minimum)
- OS: Windows/Linux/Mac 64-bit
- Java Version: Java 17+ required
- RAM: 2GB (6GB+ recommended)
- Storage: 500MB base + worlds
- Connection: 30Mbps upload
Recommended Setup
- OS: Linux (Ubuntu 20.04+ preferred)
- Java Version: Java 21 LTS
- RAM: 16GB+ for 100+ players
- Storage: 100GB+ SSD for worlds
- Connection: 100Mbps+ upload
Server Installation
Install Java
Install OpenJDK 17+ or Oracle JDK. Verify with: java -version
Download Server JAR
Download server.jar from Paper, Spigot, or official Minecraft launcher
Configure server.properties
Edit server settings: difficulty, pvp, spawn-protection, max-players
Launch Server
Run: java -Xmx6G -Xms6G -jar server.jar nogui
Server Configuration
Common Issues
Out of Memory (OOM)
Server crashes with OutOfMemoryError. Increase -Xmx value (max heap RAM allocated).
Chunk Loading Issues
Players can't load chunks or experience lag. Reduce view-distance setting.
Plugin Conflicts
Plugins cause server to crash. Test plugins individually for conflicts.
Auth Server Down
Players can't connect to Microsoft auth. Check Minecraft Services status.
Troubleshooting Guide
Server Crashes at Startup
- Verify Java 17+ is installed: java -version
- Accept EULA in eula.txt file
- Check disk space availability
- Review latest.log for error messages
Players Can't Connect
- Verify firewall allows port 25565 (or custom port)
- Check port forwarding on router
- Verify server-ip in server.properties
- Check network connectivity from server location
Performance Optimization
Server Tuning
- Set view-distance to 8-10 for lower end
- Reduce simulation distance
- Disable unnecessary world features
- Use Paper server instead of vanilla
Java Optimization
- Use latest Java LTS (21)
- Enable aggressive GC flags
- Allocate 60-75% of available RAM
- Monitor GC pauses with GCeasy
Extended Troubleshooting Guide
Memory & Performance Issues
Server Uses 100% CPU
Symptoms: High CPU usage even with few players, server slows down progressively
Solutions:
- Run /spark tps to identify chunk loading bottlenecks
- Disable world generation if not needed (set level-type to flat if possible)
- Reduce entity-activation-range in paper-world.yml (default: 48, try 32)
- Check for rogue plugin loops: restart with plugins one by one to isolate
- Update to latest Paper/Spigot version for optimizations
Server RAM Memory Leak (OOM)
Symptoms: Memory usage grows continuously, server crashes after days of uptime
Solutions:
- Increase Xmx to 60-70% of available RAM as temporary fix
- Disable problematic plugins incrementally to find the culprit
- Use -XX:+UseG1GC and -XX:MaxGCPauseMillis=200 GC flags
- Schedule automatic server restart using CRON every 6-12 hours
- Monitor with /gc command or JConsole for leak patterns
TPS Drops & Server Lag Spikes
Symptoms: Server runs fine but regularly drops TPS (20 to 10 or lower)
Solutions:
- Use /timings report to identify slow blocks and plugins
- Disable excessive redstone machines or farms
- Reduce max-tick-time in server.properties (default 60000ms)
- Optimize world borders to prevent exploration lag
- Check for too many hopper chains or redstone updates
Networking & Connection Issues
Players Kicked: "Connection Reset"
Symptoms: Players connect for a few seconds then get kicked immediately
- Check server.log for "Timed out" messages - usually network issue
- Verify max-players setting isn't being reached
- Check if player IP is banned: /banlist ips
- Test with localhost connection first to isolate network from server
- Disable any IP whitelisting or mod filters temporarily
- Increase timeout in server.properties if players on slower connections
Players See "Outdated Server/Client"
Symptoms: Version mismatch error preventing connections
- Ensure server JAR version matches client Minecraft version
- For Paper/Spigot: version auto-negotiates, so usually works
- Try with vanilla launcher first to test if mod conflict
- Check network proxy ISN'T intercepting connections
Players Experience Rubber-Banding
Symptoms: Player movement gets reversed or repeated (rubber-bands)
- Indicates network latency problem, NOT server
- Check player ping with /ping playername
- Suggest player check ISP, antivirus, VPN blocking packets
- On server side: ensure network bandwidth available
Plugin & Mod Issues
Plugin/Mod Not Loading
Symptoms: Plugin jar placed in plugins/ but commands don't work
- Check /plugins list to see if plugin IS loaded
- See server console output on start (scroll back)
- Verify jar is not corrupted: try re-downloading
- Check plugin dependencies - some need specific server software
- Paper vs Spigot vs Bukkit - make sure plugin supports your server type
- Java version too old - plugin might require Java 17+
Plugin Conflict / Crash on Startup
Symptoms: Server crashes when loading plugins, or immediately after startup
- Read full crash log for plugin name and error line
- Try removing plugins one by one to find culprit
- Check plugin versions match Paper/Spigot version
- Update conflict plugins to latest versions
- Check if plugin YAML has correct syntax (spaces not tabs)
World & Data Save Issues
World Corruption / Can't Load World
Symptoms: Server won't start with specific world, or world loads but chunks missing
- Restore from latest backup immediately
- Use NBTExplorer to check world NBT data integrity
- Delete region files in world/region/ matching error location
- Consider using world management plugins (Multiverse, etc)
- Regular automated backups prevent this issue
Server Won't Save Data
Symptoms: Player progress lost between restarts, inventories don't save
- Check disk space - server might have nowhere to save!
- Verify file permissions on server folder (chmod 755)
- Check save-all interval in server.properties
- Look for SQL connection errors if using database backend
Commands & Permissions Issues
Commands Not Working / Permission Denied
Symptoms: Player has permission but can't execute command
- Check /op status - player might not be op
- Permission plugin might override - check LuckPerms, PermissionsEx
- Server might require permission like "*" to do everything
- Try /say to test if commands work at all
For issues not listed here, check server logs with: tail -f logs/latest.log
Server Customization
Minecraft servers can be customized with plugins (Java), datapacks, or mods (Forge/Fabric).
Popular Plugins (Java)
Essentials, World Guard, LiteBans, Sky Factory
Mod Loaders
Forge, Fabric, Quilt, NeoForge
Developer Resources
Plugin Development
Spigot API and Paper API for Java plugin development. Full Maven/Gradle support.
🔨 Mod Development
Forge Mod Development Kit (MDK) and Fabric API for extensive content creation
Data Packs
Create datapacks with JSON config for loot tables, recipes, structures, dimensions
FAQ
Java vs Bedrock - which should I host?
Java Edition: More customization, plugins, mods. Bedrock: Console/mobile friendly, cross-platform multiplayer.
How often should I back up my world?
Daily backups recommended. Use plugins like BackupProvider or simple tar/zip scripts for world files.