All checks were successful
Maven Build / build (push) Successful in 10m24s
<<<<<<< HEAD
mvn_MCMANAGE
manage mc servers with java
Enhanced Minecraft Server Manager
A comprehensive Java Swing application for managing Minecraft Paper servers with automatic JAR downloading, server launching, and console management.
Features
- Server Management: Create and manage multiple Minecraft server instances
- Paper Integration: Fetch and download Paper versions automatically from the official API
- JAR Management: Automatic downloading of Paper JAR files with latest builds
- Server Launching: Start servers with custom RAM allocation and port configuration
- Console Integration: Real-time server console output and command input
- EULA Handling: Automatic EULA acceptance and server.properties generation
- Persistent Storage: JSON-based configuration saving in the root directory
- Multi-Server Support: Manage multiple servers simultaneously
Requirements
- Java 11 or higher
- Maven 3.6 or higher
- Internet connection (for JAR downloads)
Building the Project
mvn clean compile
Running the Application
Option 1: Using Maven
mvn exec:java
Option 2: Using JAR file
mvn clean package
java -jar target/minecraft-server-manager-1.0-SNAPSHOT.jar
Usage Guide
1. Creating a Server
- Fetch Versions: Click "Fetch Paper Versions" to load available Paper versions
- Add Server: Fill in the server details:
- Name: Server instance name
- Port: Server port (default: 25565)
- RAM: Memory allocation in GB
- Version: Select a Paper version from the dropdown
- Save: Click "Save Servers" to persist your configuration
2. Setting Up a Server
- Select Server: Choose a server from the list
- Download JAR: Click "Download JAR" to fetch the Paper server JAR
- Automatic Setup: The system will:
- Create server directory structure
- Generate
eula.txt(automatically accepted) - Create
server.propertieswith your port - Copy the JAR to the server directory
3. Running a Server
- Select Server: Choose the server you want to start
- Start Server: Click "Start Server" to launch the Minecraft server
- Monitor Console: Watch real-time output in the console area
- Send Commands: Use the command field to send server commands
- Stop Server: Click "Stop Server" to shut down the server
Project Structure
Main.java- Application entry pointEnhancedServerManagerUI.java- Main GUI interface with server managementServerManager.java- Core server management and JAR downloading logicServerLocation.java- Legacy server location modelJSONManager.java- JSON persistence utilitiesPaperAPIClient.java- API client for fetching Paper versions
Directory Structure
minecraft-server-manager/
├── servers.json # Legacy server locations
├── server_instances.json # Enhanced server configurations
├── servers/ # Server instance directories
│ ├── server1/
│ │ ├── paper-1.20.1-123.jar
│ │ ├── eula.txt
│ │ ├── server.properties
│ │ └── world/
│ └── server2/
└── jars/ # Downloaded JAR files
├── paper-1.20.1-123.jar
└── paper-1.21.1-456.jar
Server Configuration
Automatic Files Generated
- eula.txt: Automatically set to
eula=true - server.properties: Basic configuration with your specified port
- JAR files: Downloaded from Paper API with latest builds
Memory Configuration
- Xmx: Maximum heap size (RAM GB × 1024 MB)
- Xms: Initial heap size (RAM GB × 512 MB)
API Integration
The application integrates with the official Paper API:
- Versions: Fetches available Paper versions
- Builds: Downloads latest builds for selected versions
- JARs: Automatic JAR file management
Troubleshooting
Common Issues
- Port Already in Use: Change the port number in server configuration
- Insufficient Memory: Reduce RAM allocation or close other applications
- JAR Download Fails: Check internet connection and try again
- Server Won't Start: Check console output for specific error messages
Console Commands
Use the command field to send server commands:
stop- Stop the server gracefullysave-all- Save all worldslist- List online playersop <player>- Give operator statuswhitelist add <player>- Add player to whitelist
Data Storage
- Server Configurations: Stored in
server_instances.jsonin the root directory - Server Files: Each server has its own directory under
servers/ - JAR Files: Cached in
jars/directory to avoid re-downloading
df9ed6a (first shit)
Description
Languages
Java
99.5%
Shell
0.5%