mcserver/instances/forge-1.20.1-survival/runtime/docker-compose.yml

48 lines
1.4 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: "120000" # Prevents watchdog crashes during heavy worldgen
PLAYER_IDLE_TIMEOUT: "0" # Prevents auto-kicking AFK players
ALLOW_FLIGHT: "TRUE" # Prevents kicks when using Ad Astra rockets/ships
SYNC_CHUNK_WRITES: "FALSE"
ENABLE_STATUS: "TRUE"
MOTD: "MC SotoHome!"
MAX_PLAYERS: "15"
DIFFICULTY: "hard"
ONLINE_MODE: "FALSE"
# JVM Garbage Collection & Network Flags
JVM_OPTS: >-
-Dfml.readTimeout=180
-Dfml.loginTimeout=180
-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