https://img.shields.io/badge/version-1.20--R0.1-blue
https://img.shields.io/badge/Java-11+-orange
https://img.shields.io/badge/license-MIT-green
The next-generation Minecraft proxy solution - Fast, lightweight, and extensible proxy server designed for modern Minecraft networks.
✨ Features
High Performance
- Lightweight Architecture: Optimized for low resource usage
- Multi-threaded: Handles thousands of concurrent connections
- Fast Routing: Intelligent server switching with minimal latency
- Memory Efficient: Smart connection pooling and resource management
Advanced Management
- Plugin System: Extensible with custom plugins
- Server Management: Easy backend server configuration
- Player Tracking: Real-time player monitoring across servers
- IP Forwarding: Secure player information forwarding
️ Security & Stability
- Connection Throttling: Prevents DDoS and brute force attacks
- IP Banning: Built-in IP management system
- Online Mode: Full support for Minecraft authentication
- Proxy Protocol: Support for proxy protocol implementations
Cross-Platform
- Multi-OS Support: Windows, Linux, macOS
- Minecraft Versions: 1.8+ protocol support
- Server Compatibility: Works with Bukkit, Spigot, Paper, and more
Quick Start
Prerequisites
- Java 11 or higher
- Minecraft server(s) to proxy
Installation
- Download the latest Skyfall.jar
- Create config.yml (auto-generated on first run)
- Run: java -jar Skyfall.jar
- Configure your backend servers in config.yml
Basic Configuration
yaml
listeners:
- host: 0.0.0.0:25577
motd: "&6&lSkyfall Proxy\n&7Your Minecraft Network"
max_players: 100
priorities:
- lobby
servers:
lobby:
address: localhost:25565
motd: "&aLobby Server"
survival:
address: localhost:25566
motd: "&eSurvival Server"
Commands
Administration Commands
Command
Description
Usage
list Show online players list or glist
servers List available servers servers
send Send player to server send <player> <server>
find Locate a player find <player>
ip Show player's IP ip <player>
alert Broadcast message alert <message>
reload Reload configuration reload
plugins List loaded plugins plugins
end Shutdown proxy end or stop
Player Commands
- /server <name> - Switch to another server
- /lobby - Return to lobby (if configured)
- /msg <player> <message> - Private messaging
Plugin Development
Creating Plugins
Skyfall provides a robust plugin API for extending functionality:
java
public class MyPlugin implements Skyfall.SkyfallPlugin {
@Override
public void onEnable() {
getLogger().info("Plugin enabled!");
}
@Override
public void onDisable() {
getLogger().info("Plugin disabled!");
}
@Override
public String getName() {
return "MyPlugin";
}
@Override
public String getVersion() {
return "1.0.0";
}
}
Plugin Structure
text
src/main/java/
└── com/yourcompany/
└── yourplugin/
└── YourPlugin.java
src/main/resources/
└── plugin.yml
plugin.yml Example
yaml
name: YourPlugin
version: 1.0.0
main: com.yourcompany.yourplugin.YourPlugin
author: YourName
description: Your plugin description
api-version: 1.0
⚙️ Configuration
Main Configuration (config.yml)
yaml
# Network Settings
listeners:
- query_port: 25577
host: 0.0.0.0:25577
motd: "&6&lSkyfall Proxy"
max_players: 100
tab_list: GLOBAL_PING
priorities:
- lobby
# Backend Servers
servers:
lobby:
address: localhost:25565
motd: "&aLobby Server"
restricted: false
survival:
address: localhost:25566
motd: "&eSurvival World"
restricted: false
# Security Settings
online_mode: true
ip_forward: true
prevent_proxy_connections: false
connection_throttle: 4000
connection_throttle_limit: 3
# Performance
network_compression_threshold: 256
timeout: 30000
player_limit: -1
# Logging
log_commands: false
log_pings: true
Advanced Features
- Forced Hosts: Domain-specific server routing
- Server Groups: Organize servers into categories
- Permission Groups: Define command permissions
- Custom MOTD: Dynamic message of the day
- Tab List Customization: Player list configuration
️ Built-in Plugins
Plugin Developer Tools
- Rapid Development: Create plugins in seconds with templates
- Hot-Reload: Develop without restarting the proxy
- Debug System: Advanced logging and troubleshooting
- Code Generation: Automatic project structure
Advanced Player Manager
- Ping Monitoring: Automatic high-ping detection
- Auto-Reconnect: Smart reconnection system
- Player Analytics: Connection statistics and tracking
- AFK Detection: Intelligent inactivity management
Performance
Benchmarks
- Connections: 1000+ concurrent players
- Memory: ~100MB base usage
- CPU: Minimal overhead
- Latency: <1ms routing delay
Optimization Tips
- Allocate sufficient RAM: -Xmx1G -Xms512M
- Use G1GC garbage collector: -XX:+UseG1GC
- Monitor connection counts: Adjust max_players as needed
- Enable compression: Use network_compression_threshold
Troubleshooting
Common Issues
Problem: Players can't connect
Solution: Check firewall settings and port forwarding
Problem: Server switching not working
Solution: Verify backend servers are online and accessible
Problem: High memory usage
Solution: Monitor plugin memory consumption, adjust JVM settings
Problem: Plugin errors
Solution: Check compatibility, update to latest API version
Logs & Debugging
- Logs location: logs/skyfall.log
- Enable debug: Set log level to FINE in configuration
- Plugin errors: Check individual plugin logs
Community & Support
Getting Help
- GitHub Issues: [Your Repository Link]
- Discord Community: [Your Discord Link]
- Documentation: [Your Docs Link]
Contributing
We welcome contributions! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
- Follow the code style guidelines
Reporting Bugs
When reporting issues, please include:
- Skyfall version
- Java version
- Configuration details
- Error logs
- Steps to reproduce
License
Skyfall Proxy is licensed under the MIT License. See the LICENSE file for details.
Why Choose Skyfall?
✅ Advantages
- Lightweight: Minimal resource footprint
- Extensible: Comprehensive plugin API
- Modern: Built with latest Java features
- Stable: Production-ready reliability
- Active Development: Regular updates and features
Use Cases
- Small Networks: Perfect for starting communities
- Large Networks: Scalable for growing player bases
- Development: Excellent for testing and development
- Production: Robust enough for commercial use
Migration Guide
From BungeeCord
- Copy your server configurations
- Adapt plugin APIs (similar structure)
- Test with small player groups
- Deploy gradually
From Other Proxies
- Review configuration differences
- Test plugin compatibility
- Plan migration during low-traffic periods
- Monitor performance after migration
Featured Plugins