Auto-sync: 20260111-161755
This commit is contained in:
10
CLAUDE.md
10
CLAUDE.md
@@ -315,6 +315,16 @@ git add -A && git commit -m "Update docs" && git push
|
|||||||
|
|
||||||
## Recent Changes
|
## Recent Changes
|
||||||
|
|
||||||
|
### 2026-01-11
|
||||||
|
- **BlueMap web map** for Minecraft Hutworld server
|
||||||
|
- URL: https://map.htsn.io (password protected: hutworld / Suwanna123)
|
||||||
|
- BlueMap 5.15 plugin installed
|
||||||
|
- Port 8100 exposed in Crafty docker-compose
|
||||||
|
- Traefik routing with basicAuth middleware
|
||||||
|
- Fixed corrupted ViaVersion/ViaBackwards plugins
|
||||||
|
- Documented 1.21+ spawner give command syntax
|
||||||
|
- Fixed Docker file permission issues in Crafty container
|
||||||
|
|
||||||
### 2026-01-05
|
### 2026-01-05
|
||||||
- Created [TAILSCALE.md](TAILSCALE.md) - comprehensive Tailscale VPN documentation
|
- Created [TAILSCALE.md](TAILSCALE.md) - comprehensive Tailscale VPN documentation
|
||||||
- **Fixed Tailscale subnet routing issues:**
|
- **Fixed Tailscale subnet routing issues:**
|
||||||
|
|||||||
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 |
|
| **Hutworld** | hutworld.htsn.io | 25565 | Paper 1.21.11 | Running |
|
||||||
| **Backrooms** | backrooms.htsn.io | 25566 | Paper 1.21.4 | 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
|
## Quick Reference
|
||||||
@@ -129,8 +139,9 @@ To import the hutworld server in Crafty:
|
|||||||
| PluginPortal | 2.2.2 | Plugin management |
|
| PluginPortal | 2.2.2 | Plugin management |
|
||||||
| Vault | 1.7.3 | Economy/permissions API |
|
| Vault | 1.7.3 | Economy/permissions API |
|
||||||
| ViaVersion | Latest | Multi-version support |
|
| ViaVersion | Latest | Multi-version support |
|
||||||
| ViaBackwards | Latest | Older client support |
|
| ViaBackwards | 5.2.1 | Older client support |
|
||||||
| randomtp | Latest | Random teleportation |
|
| randomtp | Latest | Random teleportation |
|
||||||
|
| BlueMap | 5.15 | 3D web map with player tracking |
|
||||||
|
|
||||||
**Removed plugins** (cleaned up 2026-01-03):
|
**Removed plugins** (cleaned up 2026-01-03):
|
||||||
- GriefPrevention, Multiverse-Core, Multiverse-Portals, ProtocolLib, WorldEdit, WorldGuard (disabled/orphaned)
|
- GriefPrevention, Multiverse-Core, Multiverse-Portals, ProtocolLib, WorldEdit, WorldGuard (disabled/orphaned)
|
||||||
@@ -151,10 +162,11 @@ services:
|
|||||||
- TZ=America/New_York
|
- TZ=America/New_York
|
||||||
ports:
|
ports:
|
||||||
- "8443:8443" # Web GUI (HTTPS)
|
- "8443:8443" # Web GUI (HTTPS)
|
||||||
- "8123:8123" # Dynmap (if used)
|
- "8123:8123" # Crafty HTTP
|
||||||
- "25565:25565" # Minecraft Java
|
- "25565:25565" # Minecraft Java
|
||||||
- "25566:25566" # Additional server
|
- "25566:25566" # Additional server
|
||||||
- "19132:19132/udp" # Minecraft Bedrock (Geyser)
|
- "19132:19132/udp" # Minecraft Bedrock (Geyser)
|
||||||
|
- "8100:8100" # BlueMap web server
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/backups:/crafty/backups
|
- ./data/backups:/crafty/backups
|
||||||
- ./data/logs:/crafty/logs
|
- ./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
|
## Common Tasks
|
||||||
|
|
||||||
### Start/Stop Server
|
### 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`
|
2. Check Geyser config: `~/crafty/data/servers/hutworld/plugins/Geyser-Spigot/config.yml`
|
||||||
3. Ensure UDP 19132 is forwarded and not blocked
|
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
|
### LuckPerms missing users/permissions
|
||||||
|
|
||||||
If LuckPerms shows a fresh database (missing users like Suwan):
|
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
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ ssh pve 'pct exec 202 -- tail -f /var/log/traefik/traefik.log'
|
|||||||
| AI Trade | aitrade.htsn.io | (trading server) |
|
| AI Trade | aitrade.htsn.io | (trading server) |
|
||||||
| Pulse | pulse.htsn.io | 10.10.10.206:7655 (monitoring) |
|
| Pulse | pulse.htsn.io | 10.10.10.206:7655 (monitoring) |
|
||||||
| Happy | happy.htsn.io | 10.10.10.206:3002 (Happy Coder relay) |
|
| Happy | happy.htsn.io | 10.10.10.206:3002 (Happy Coder relay) |
|
||||||
|
| BlueMap | map.htsn.io | 10.10.10.207:8100 (Minecraft web map, password protected) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user