first shit
This commit is contained in:
138
README.md
138
README.md
@@ -1,3 +1,139 @@
|
||||
<<<<<<< HEAD
|
||||
# mvn_MCMANAGE
|
||||
|
||||
manage mc servers with java
|
||||
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
|
||||
|
||||
```bash
|
||||
mvn clean compile
|
||||
```
|
||||
|
||||
## Running the Application
|
||||
|
||||
### Option 1: Using Maven
|
||||
```bash
|
||||
mvn exec:java
|
||||
```
|
||||
|
||||
### Option 2: Using JAR file
|
||||
```bash
|
||||
mvn clean package
|
||||
java -jar target/minecraft-server-manager-1.0-SNAPSHOT.jar
|
||||
```
|
||||
|
||||
## Usage Guide
|
||||
|
||||
### 1. Creating a Server
|
||||
1. **Fetch Versions**: Click "Fetch Paper Versions" to load available Paper versions
|
||||
2. **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
|
||||
3. **Save**: Click "Save Servers" to persist your configuration
|
||||
|
||||
### 2. Setting Up a Server
|
||||
1. **Select Server**: Choose a server from the list
|
||||
2. **Download JAR**: Click "Download JAR" to fetch the Paper server JAR
|
||||
3. **Automatic Setup**: The system will:
|
||||
- Create server directory structure
|
||||
- Generate `eula.txt` (automatically accepted)
|
||||
- Create `server.properties` with your port
|
||||
- Copy the JAR to the server directory
|
||||
|
||||
### 3. Running a Server
|
||||
1. **Select Server**: Choose the server you want to start
|
||||
2. **Start Server**: Click "Start Server" to launch the Minecraft server
|
||||
3. **Monitor Console**: Watch real-time output in the console area
|
||||
4. **Send Commands**: Use the command field to send server commands
|
||||
5. **Stop Server**: Click "Stop Server" to shut down the server
|
||||
|
||||
## Project Structure
|
||||
|
||||
- `Main.java` - Application entry point
|
||||
- `EnhancedServerManagerUI.java` - Main GUI interface with server management
|
||||
- `ServerManager.java` - Core server management and JAR downloading logic
|
||||
- `ServerLocation.java` - Legacy server location model
|
||||
- `JSONManager.java` - JSON persistence utilities
|
||||
- `PaperAPIClient.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
|
||||
1. **Port Already in Use**: Change the port number in server configuration
|
||||
2. **Insufficient Memory**: Reduce RAM allocation or close other applications
|
||||
3. **JAR Download Fails**: Check internet connection and try again
|
||||
4. **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 gracefully
|
||||
- `save-all` - Save all worlds
|
||||
- `list` - List online players
|
||||
- `op <player>` - Give operator status
|
||||
- `whitelist add <player>` - Add player to whitelist
|
||||
|
||||
## Data Storage
|
||||
|
||||
- **Server Configurations**: Stored in `server_instances.json` in 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)
|
||||
|
||||
Reference in New Issue
Block a user