mcserver/instances/forge-1.20.1-survival/runtime/docker-compose.yml
2026-08-10 14:24:14 -04:00

44 lines
1.2 KiB
YAML

services:
mc:
image: itzg/minecraft-server:java17
container_name: mc_forge_server
restart: unless-stopped
ports:
- "25565:25565"
- "24454:24454/udp"
environment:
EULA: "TRUE"
TYPE: "FORGE"
VERSION: "1.20.1"
MEMORY: "12G"
# Server Properties Mapping
VIEW_DISTANCE: "8"
SIMULATION_DISTANCE: "6"
NETWORK_COMPRESSION_THRESHOLD: "256"
MAX_TICK_TIME: "60000"
SYNC_CHUNK_WRITES: "FALSE"
ENABLE_STATUS: "TRUE"
MOTD: "MC SotoHome!"
MAX_PLAYERS: "15"
DIFFICULTY: "hard"
ONLINE_MODE: "FALSE"
# JVM Garbage Collection & ARM64 Optimization Flags
JVM_OPTS: >-
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:MaxGCPauseMillis=50
-XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=15
-XX:InitiatingHeapOccupancyPercent=45
-XX:G1MixedGCCountTarget=4
-XX:G1HeapWastePercent=5
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=1
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
volumes:
- ./data:/data