mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-03-27 00:42:45 +00:00
40 lines
1.6 KiB
Markdown
40 lines
1.6 KiB
Markdown
|
||
# Autoscaling (sleep when idle)
|
||
|
||
Autoscaling (sometimes called *sleeping*, *scale to zero* or *wake on join*) is the pattern of stopping a Minecraft server when nobody is playing and starting it again when someone tries to connect with the intention of saving resources when the server is not in use (e.g., on a VPS with limited CPU/RAM or a home server).
|
||
|
||
## mc-router
|
||
|
||
[mc-router](https://github.com/itzg/mc-router) is a Minecraft-aware router/multiplexer.
|
||
|
||
- Routes players by the hostname they connect with (useful for multiple servers behind one port)
|
||
- Can auto-start a backend container on join and stop it again after an idle timeout
|
||
|
||
Examples:
|
||
|
||
- See the mc-router section in [Examples](../examples.md#mc-router-with-auto-scale)
|
||
|
||
## Lazymc
|
||
|
||
[Lazymc](https://github.com/timvisee/lazymc) can keep a server “asleep” until a player connects. With Docker it’s commonly used via [lazymc-docker-proxy](https://github.com/joesturge/lazymc-docker-proxy).
|
||
|
||
- Players connect to the proxy; the proxy starts/stops the server container
|
||
- Usually requires a static IP for the Minecraft container on a user-defined network
|
||
|
||
Example:
|
||
|
||
- See the Lazymc section in [Examples](../examples.md#lazymc-put-your-minecraft-server-to-rest-when-idle)
|
||
|
||
## Lazytainer
|
||
|
||
[Lazytainer](https://github.com/vmorganp/Lazytainer) starts/stops containers based on network traffic.
|
||
|
||
- Uses packet thresholds + inactivity timeouts (not Minecraft hostname aware)
|
||
- Can be triggered by port scans/pings in noisy environments
|
||
|
||
Example:
|
||
|
||
- See the Lazytainer section in [Examples](../examples.md#lazytainer-stop-minecraft-container-based-on-traffic)
|
||
|
||
|