Auto-sync: 20260111-161755
This commit is contained in:
112
MINECRAFT.md
112
MINECRAFT.md
@@ -11,6 +11,16 @@ Minecraft servers running on docker-host2 via Crafty Controller 4.
|
||||
| **Hutworld** | hutworld.htsn.io | 25565 | Paper 1.21.11 | Running |
|
||||
| **Backrooms** | backrooms.htsn.io | 25566 | Paper 1.21.4 | Running |
|
||||
|
||||
### Web Map
|
||||
|
||||
| Setting | Value |
|
||||
|---------|-------|
|
||||
| **URL** | https://map.htsn.io |
|
||||
| **Username** | hutworld |
|
||||
| **Password** | Suwanna123 |
|
||||
| **Plugin** | BlueMap 5.15 |
|
||||
| **Port** | 8100 (exposed via Docker) |
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
@@ -129,8 +139,9 @@ To import the hutworld server in Crafty:
|
||||
| PluginPortal | 2.2.2 | Plugin management |
|
||||
| Vault | 1.7.3 | Economy/permissions API |
|
||||
| ViaVersion | Latest | Multi-version support |
|
||||
| ViaBackwards | Latest | Older client support |
|
||||
| ViaBackwards | 5.2.1 | Older client support |
|
||||
| randomtp | Latest | Random teleportation |
|
||||
| BlueMap | 5.15 | 3D web map with player tracking |
|
||||
|
||||
**Removed plugins** (cleaned up 2026-01-03):
|
||||
- GriefPrevention, Multiverse-Core, Multiverse-Portals, ProtocolLib, WorldEdit, WorldGuard (disabled/orphaned)
|
||||
@@ -151,10 +162,11 @@ services:
|
||||
- TZ=America/New_York
|
||||
ports:
|
||||
- "8443:8443" # Web GUI (HTTPS)
|
||||
- "8123:8123" # Dynmap (if used)
|
||||
- "8123:8123" # Crafty HTTP
|
||||
- "25565:25565" # Minecraft Java
|
||||
- "25566:25566" # Additional server
|
||||
- "19132:19132/udp" # Minecraft Bedrock (Geyser)
|
||||
- "8100:8100" # BlueMap web server
|
||||
volumes:
|
||||
- ./data/backups:/crafty/backups
|
||||
- ./data/logs:/crafty/logs
|
||||
@@ -328,6 +340,54 @@ ssh docker-host2 'cd ~/crafty/data/servers && \
|
||||
|
||||
---
|
||||
|
||||
## Admin Commands
|
||||
|
||||
### Give Mob Spawner (1.21+ Syntax)
|
||||
|
||||
In Minecraft 1.21+, the NBT syntax changed. Use `minecraft:give` to bypass Essentials:
|
||||
|
||||
```
|
||||
minecraft:give <player> spawner[block_entity_data={id:"minecraft:mob_spawner",SpawnData:{entity:{id:"minecraft:<mob_type>"}}}]
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
# Magma cube spawner
|
||||
minecraft:give suwann spawner[block_entity_data={id:"minecraft:mob_spawner",SpawnData:{entity:{id:"minecraft:magma_cube"}}}]
|
||||
|
||||
# Zombie spawner
|
||||
minecraft:give suwann spawner[block_entity_data={id:"minecraft:mob_spawner",SpawnData:{entity:{id:"minecraft:zombie"}}}]
|
||||
|
||||
# Skeleton spawner
|
||||
minecraft:give suwann spawner[block_entity_data={id:"minecraft:mob_spawner",SpawnData:{entity:{id:"minecraft:skeleton"}}}]
|
||||
|
||||
# Blaze spawner
|
||||
minecraft:give suwann spawner[block_entity_data={id:"minecraft:mob_spawner",SpawnData:{entity:{id:"minecraft:blaze"}}}]
|
||||
```
|
||||
|
||||
**Note:** Must use `minecraft:give` prefix to use vanilla command instead of Essentials `/give`.
|
||||
|
||||
### BlueMap Commands
|
||||
|
||||
```bash
|
||||
# Start full world render
|
||||
/bluemap render
|
||||
|
||||
# Pause rendering
|
||||
/bluemap pause
|
||||
|
||||
# Resume rendering
|
||||
/bluemap resume
|
||||
|
||||
# Check render status
|
||||
/bluemap status
|
||||
|
||||
# Reload BlueMap config
|
||||
/bluemap reload
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Common Tasks
|
||||
|
||||
### Start/Stop Server
|
||||
@@ -414,6 +474,38 @@ ssh docker-host2 'netstat -tlnp | grep 25565'
|
||||
2. Check Geyser config: `~/crafty/data/servers/hutworld/plugins/Geyser-Spigot/config.yml`
|
||||
3. Ensure UDP 19132 is forwarded and not blocked
|
||||
|
||||
### Corrupted plugin JARs (ZipException)
|
||||
|
||||
If you see `java.util.zip.ZipException: zip END header not found`:
|
||||
|
||||
1. **Check all plugins for corruption:**
|
||||
```bash
|
||||
ssh docker-host2 'cd ~/crafty/data/servers/19f604a9-f037-442d-9283-0761c73cfd60/plugins && \
|
||||
for jar in *.jar; do unzip -t "$jar" > /dev/null 2>&1 && echo "OK: $jar" || echo "CORRUPT: $jar"; done'
|
||||
```
|
||||
|
||||
2. **Re-download corrupted plugins from Hangar/Modrinth/SpigotMC**
|
||||
|
||||
3. **Restart server**
|
||||
|
||||
### Session lock errors
|
||||
|
||||
If server fails with `session.lock: already locked`:
|
||||
|
||||
```bash
|
||||
# Kill stale Java processes and remove locks
|
||||
ssh docker-host2 'docker exec crafty bash -c "pkill -f paper.jar; rm -f /crafty/servers/*/hutworld*/session.lock"'
|
||||
```
|
||||
|
||||
### Permission denied errors in Docker
|
||||
|
||||
If world files show `AccessDeniedException`:
|
||||
|
||||
```bash
|
||||
# Fix permissions (crafty user is UID 1000)
|
||||
ssh docker-host2 'docker exec crafty bash -c "chown -R 1000:0 /crafty/servers/19f604a9-f037-442d-9283-0761c73cfd60/ && chmod -R u+rwX /crafty/servers/19f604a9-f037-442d-9283-0761c73cfd60/"'
|
||||
```
|
||||
|
||||
### LuckPerms missing users/permissions
|
||||
|
||||
If LuckPerms shows a fresh database (missing users like Suwan):
|
||||
@@ -506,7 +598,21 @@ tar -xzf /tmp/hutworld-*.tar.gz -C /tmp --strip-components=2 \
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2026-01-05
|
||||
**Last Updated:** 2026-01-11
|
||||
|
||||
---
|
||||
|
||||
## Migration History (Hutworld)
|
||||
|
||||
### 2026-01-11: BlueMap Web Map Added
|
||||
|
||||
- Installed BlueMap 5.15 plugin (supports MC 1.21.11)
|
||||
- Exposed port 8100 in docker-compose.yml for BlueMap web server
|
||||
- Configured Traefik routing: map.htsn.io → 10.10.10.207:8100
|
||||
- Added basic auth password protection via Traefik middleware
|
||||
- Fixed corrupted ViaVersion/ViaBackwards plugins (re-downloaded from Hangar)
|
||||
- Fixed Docker file permission issues (chown to UID 1000)
|
||||
- Documented 1.21+ spawner give command syntax
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user