70 lines
2.4 KiB
Markdown
70 lines
2.4 KiB
Markdown
# Minecraft Server
|
|
|
|
Self-hosted Minecraft server running the **TerraFirmaGreg: Modern** modpack.
|
|
|
|
## Access
|
|
- **Host:** `192.168.2.114:25565` (LAN / Tailscale)
|
|
- **Voice Chat:** `192.168.2.114:24454/udp`
|
|
|
|
No Tailscale sidecar — ports are exposed directly on the host.
|
|
|
|
## Containers
|
|
|
|
| Container | Image | Role |
|
|
|---|---|---|
|
|
| `minecraft` | `itzg/minecraft-server:latest` | Game server |
|
|
|
|
## Compose File
|
|
**Path:** `/Minecraft_Server/docker-compose.yaml`
|
|
|
|
> Note: This file lives outside the main `DockerFiles` directory. It is explicitly mounted into the Dockhand container so it can manage it.
|
|
|
|
```yaml
|
|
services:
|
|
mc:
|
|
image: itzg/minecraft-server:latest
|
|
container_name: minecraft
|
|
mem_limit: 12g
|
|
tty: true
|
|
stdin_open: true
|
|
ports:
|
|
- 25565:25565
|
|
- 24454:24454/udp # Voice Chat
|
|
volumes:
|
|
- /Minecraft_Server/Minecraft_Server/data:/data
|
|
- /Minecraft_Server/Minecraft_Server/modpacks:/modpacks:ro
|
|
- /Minecraft_Server/Minecraft_Server/downloads:/downloads
|
|
environment:
|
|
EULA: TRUE
|
|
TYPE: AUTO_CURSEFORGE
|
|
VERSION: 1.20.1
|
|
CF_API_KEY: <redacted>
|
|
CF_PAGE_URL: "https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern/files/7665541"
|
|
CF_BASE_DIR: /data
|
|
INIT_MEMORY: 8G
|
|
MAX_MEMORY: 12G
|
|
ENABLE_AUTOPAUSE: true
|
|
MAX_TICK_TIME: -1
|
|
AUTOPAUSE_TIMEOUT_INIT: 600 # 10 min before pausing on empty server (init)
|
|
AUTOPAUSE_TIMEOUT_EST: 1800 # 30 min before pausing (established)
|
|
ENABLE_ROLLING_LOGS: true
|
|
LOG_TIMESTAMP: true
|
|
MOTD: "Why does Pingle sound like Pringle. Does Sam own Pringles?"
|
|
restart: unless-stopped
|
|
```
|
|
|
|
## Data Layout
|
|
|
|
| Path | Contents |
|
|
|---|---|
|
|
| `/Minecraft_Server/Minecraft_Server/data` | World saves, server config, plugins |
|
|
| `/Minecraft_Server/Minecraft_Server/modpacks` | Modpack files (read-only) |
|
|
| `/Minecraft_Server/Minecraft_Server/downloads` | CurseForge download cache |
|
|
|
|
## Notes
|
|
- Uses `itzg/minecraft-server` with `AUTO_CURSEFORGE` type — it auto-downloads the modpack from CurseForge on startup if not already present
|
|
- Modpack: **TerraFirmaGreg: Modern** (MC 1.20.1), pinned to a specific file ID (`7665541`)
|
|
- Memory: 8 GB initial, 12 GB max (hard limit via `mem_limit: 12g`)
|
|
- **Auto-pause** is enabled — server pauses after 30 minutes with no players, resumes on connection
|
|
- `MAX_TICK_TIME: -1` disables the watchdog timer (prevents server shutdown if a tick takes too long, common with heavy modpacks)
|