force sync from /var/www/html/panel: 2025-09-08T20:36:30Z
This commit is contained in:
commit
4f717c9ee8
18119 changed files with 2566034 additions and 0 deletions
161
ControlPanel/docs/games/minecraft.md
Executable file
161
ControlPanel/docs/games/minecraft.md
Executable file
|
|
@ -0,0 +1,161 @@
|
|||
# Minecraft — Complete Dedicated Server Guide
|
||||
|
||||
## Startup Parameters
|
||||
**Default command line**
|
||||
```bash
|
||||
java -Xmx4G -Xms4G -jar server.jar nogui
|
||||
```
|
||||
|
||||
**Parameters (exhaustive, server-relevant only)**
|
||||
- `-Xmx<size>` — Maximum heap size (e.g., -Xmx4G).
|
||||
- `-Xms<size>` — Initial heap size (e.g., -Xms4G).
|
||||
- `-jar <file>` — Server JAR file (server.jar, paper.jar, etc.).
|
||||
- `nogui` — Run without GUI.
|
||||
- `-Dfile.encoding=UTF-8` — Set file encoding.
|
||||
- `-Djava.awt.headless=true` — Headless mode.
|
||||
- `-XX:+UseG1GC` — Use G1 garbage collector.
|
||||
- `-XX:+ParallelRefProcEnabled` — Parallel reference processing.
|
||||
- `-XX:MaxGCPauseMillis=200` — Maximum GC pause time.
|
||||
- `-XX:+UnlockExperimentalVMOptions` — Unlock experimental VM options.
|
||||
- `-XX:+DisableExplicitGC` — Disable explicit GC calls.
|
||||
- `-XX:G1NewSizePercent=30` — G1 new generation size.
|
||||
- `-XX:G1MaxNewSizePercent=40` — G1 max new generation size.
|
||||
- `-XX:G1HeapRegionSize=8M` — G1 heap region size.
|
||||
- `-XX:G1ReservePercent=20` — G1 reserve percent.
|
||||
- `-Dcom.mojang.eula.agree=true` — Auto-accept EULA.
|
||||
|
||||
**Ports**
|
||||
- Game: TCP **25565** (primary)
|
||||
- Query: UDP **25565** (same as game port, if enabled)
|
||||
- RCON: TCP **25575** (if enabled in server.properties)
|
||||
|
||||
## Config Files & Locations
|
||||
**Windows:**
|
||||
- `server.properties` — Main server configuration
|
||||
- `eula.txt` — End User License Agreement acceptance
|
||||
- `server.jar` — Server executable
|
||||
- `world/` — World save directory
|
||||
- `logs/` — Server logs
|
||||
- `plugins/` — Plugin directory (Bukkit/Spigot/Paper)
|
||||
- `mods/` — Mods directory (Forge/Fabric)
|
||||
- `config/` — Configuration files for mods/plugins
|
||||
- `banned-players.json` — Banned players list
|
||||
- `banned-ips.json` — Banned IP addresses
|
||||
- `ops.json` — Server operators list
|
||||
- `whitelist.json` — Whitelist (if enabled)
|
||||
|
||||
**Linux:**
|
||||
- `~/minecraft/server.properties` — Main server configuration
|
||||
- `~/minecraft/eula.txt` — EULA acceptance
|
||||
- `~/minecraft/server.jar` — Server executable
|
||||
- `~/minecraft/world/` — World save directory
|
||||
- `~/minecraft/logs/` — Server logs
|
||||
- `~/minecraft/plugins/` — Plugin directory
|
||||
- `~/minecraft/mods/` — Mods directory
|
||||
- `~/minecraft/config/` — Configuration files
|
||||
|
||||
**Key Configuration Files:**
|
||||
- **server.properties**: Core server settings (port, world name, game mode, difficulty)
|
||||
- **bukkit.yml/spigot.yml/paper.yml**: Server platform-specific settings
|
||||
- **plugin configs**: Individual plugin configuration files in plugins/ directory
|
||||
|
||||
## Steam Workshop
|
||||
Not supported by this game.
|
||||
|
||||
## Common Mods (curated)
|
||||
- **EssentialsX**
|
||||
- **Purpose**: Core commands, economy, permissions for Bukkit/Spigot/Paper servers.
|
||||
- **Install**: Download from GitHub releases, place JAR in `plugins/` directory.
|
||||
- **Configure**: Edit `plugins/Essentials/config.yml` for basic settings, `userdata/` for player data.
|
||||
|
||||
- **WorldEdit**
|
||||
- **Purpose**: In-game world editing and building tools.
|
||||
- **Install**: Place WorldEdit JAR in `plugins/` directory.
|
||||
- **Configure**: Permissions in `plugins/WorldEdit/config.yml`, user permissions via permission plugin.
|
||||
|
||||
- **Vault**
|
||||
- **Purpose**: Economy and permissions API for other plugins.
|
||||
- **Install**: Download Vault JAR to `plugins/` directory.
|
||||
- **Configure**: No direct configuration - provides API for other plugins.
|
||||
|
||||
- **LuckPerms**
|
||||
- **Purpose**: Advanced permissions management system.
|
||||
- **Install**: Download from GitHub, place in `plugins/` directory.
|
||||
- **Configure**: Database connection in `plugins/LuckPerms/config.yml`, manage permissions via commands or web editor.
|
||||
|
||||
- **Dynmap**
|
||||
- **Purpose**: Real-time web-based map of server world.
|
||||
- **Install**: Download Dynmap JAR to `plugins/` directory.
|
||||
- **Configure**: Web server settings in `plugins/dynmap/configuration.txt`, map rendering options.
|
||||
|
||||
- **ProtocolLib**
|
||||
- **Purpose**: Packet manipulation library for advanced plugins.
|
||||
- **Install**: Required dependency for many plugins, place JAR in `plugins/`.
|
||||
- **Configure**: No direct configuration - provides API for packet handling.
|
||||
|
||||
## Database
|
||||
**Engine**: SQLite (default) or MySQL (for large servers)
|
||||
|
||||
**SQLite Configuration** (No setup required):
|
||||
- Database files stored in world directory
|
||||
- Player data in `playerdata/` folder
|
||||
- Plugin data varies by plugin (typically in `plugins/PluginName/`)
|
||||
|
||||
**MySQL Configuration** (Advanced):
|
||||
- Configure in `bukkit.yml` or plugin-specific configs
|
||||
- Example connection string: `jdbc:mysql://localhost:3306/minecraft`
|
||||
- Required for multi-server networks and large-scale deployments
|
||||
|
||||
**Backup Strategy**:
|
||||
- Regular world folder backups (includes SQLite databases)
|
||||
- MySQL: Use `mysqldump` for database backups
|
||||
- Plugin data backup varies by plugin requirements
|
||||
|
||||
## Administration & Scripting
|
||||
**Remote Administration:**
|
||||
- RCON (Remote Console) access for server management
|
||||
- Web-based admin panels (game-specific or third-party)
|
||||
- In-game admin commands and permissions
|
||||
|
||||
**Backup Strategy:**
|
||||
- Automated daily backups of save files and configuration
|
||||
- Rotate backups (keep 7 daily, 4 weekly, 12 monthly)
|
||||
- Test backup restoration procedures regularly
|
||||
- Store backups in separate location/drive
|
||||
|
||||
**Auto-Update:**
|
||||
- Use SteamCMD for automatic server updates (Steam games)
|
||||
- Schedule updates during low-traffic periods
|
||||
- Backup before applying updates
|
||||
- Monitor for update announcements and patch notes
|
||||
|
||||
**Monitoring:**
|
||||
- Server performance monitoring (CPU, memory, network)
|
||||
- Player connection logs and statistics
|
||||
- Error log monitoring and alerting
|
||||
- Uptime tracking and availability reporting
|
||||
|
||||
## Troubleshooting (game-specific)
|
||||
**"java.lang.OutOfMemoryError"**
|
||||
- **Cause**: Insufficient heap memory allocation
|
||||
- **Fix**: Increase `-Xmx` parameter (e.g., `-Xmx8G` for 8GB), monitor memory usage
|
||||
|
||||
**"Can't keep up! Skipping ticks"**
|
||||
- **Cause**: Server overload, too many entities, or inefficient plugins
|
||||
- **Fix**: Reduce entity limits, optimize plugins, increase server resources, use profiling tools
|
||||
|
||||
**"Connection timed out"**
|
||||
- **Cause**: Firewall blocking port 25565 or server not responding
|
||||
- **Fix**: Open TCP port 25565, verify server is running, check network connectivity
|
||||
|
||||
**"Plugin errors on startup"**
|
||||
- **Cause**: Incompatible plugin versions or missing dependencies
|
||||
- **Fix**: Update plugins to match server version, install required dependencies, check plugin logs
|
||||
|
||||
**"World corruption/rollback"**
|
||||
- **Cause**: Improper server shutdown or storage issues
|
||||
- **Fix**: Use proper shutdown commands, implement regular backups, check disk health
|
||||
|
||||
**"Low TPS (Ticks Per Second)"**
|
||||
- **Cause**: Server lag from heavy operations or overloaded chunks
|
||||
- **Fix**: Use performance monitoring plugins, limit chunk loading, optimize redstone contraptions
|
||||
Loading…
Add table
Add a link
Reference in a new issue