homelab/server/config/minecraft/README.md

55 lines
3.1 KiB
Markdown
Raw Normal View History

2022-03-17 14:01:09 -07:00
## Connecting to a server's CLI
2022-05-09 23:33:34 -07:00
To connect to a server's RCON Minecraft console, run
`docker exec -it minecraft_e6 rcon-cli --password thanksitzg`
2022-06-13 10:29:16 -07:00
If you get "Failed to connect to RCON serverrcon: authentication failed", check the `server.properties` values for `enable-rcon` and `rcon.password`.
2022-05-09 23:33:34 -07:00
Do not prefix commands with `/`.
- https://github.com/itzg/docker-minecraft-server#interactive-and-color-console
- https://github.com/itzg/docker-minecraft-server#use-rcon-commands
2022-03-17 14:18:42 -07:00
## Updating MC-Router mappings
2022-05-02 09:46:56 -07:00
MC-Router must be running for all active MC connections. Restarting it kicks everyone off their servers
2022-03-17 14:18:42 -07:00
2022-11-01 00:42:31 -07:00
To update the mappings while running, use `docker exec minecraft_mc-router /mc-router --mapping <new-mapping string>`
2022-05-09 21:55:42 -07:00
## Before Starting a Server
Check the following server.properties values:
| Parameter | Value | Why |
|:--:|:--:|:--:|
| `allow-flight` | true | Many modded features trigger Minecraft's flight detection. Allow flight to prevent wrongful bans.
| `enable-rcon` | true | This overrides any rcon settings in the compose file. Enable rcon to interact with the server's command line |
| `max-tick-time` | 600 normally, 120000 when pre-genning chunks | Increase the max tick time to prevent the hang watchdog from killing the server when pregenning chunks |
| `rcon.password` | `thanksitzg` | Set a simple password to protect the rcon port |
| `rcon.port` | `25575` | Set this to what itzg's rcon-cli expects as default |
2022-05-09 23:12:50 -07:00
| `view-distance` | 10 for lightweight servers, 6 for heavy servers | View distance has great impact on server load |
2022-05-09 23:33:34 -07:00
## Chunk Pregenerator
Chunk pregeneration is very valuable for getting a playable SMP server expierence.
### Installing Chunk Pregenerator
2022-05-09 23:12:50 -07:00
Make sure that the [Chunk Pregenerator](https://www.curseforge.com/minecraft/mc-mods/chunkpregenerator) mod is installed. It is compatible with most Minecraft versions between 1.7.2 and 1.16.5.
2022-05-09 23:33:34 -07:00
### Pregenerating World Spawn
2022-05-09 23:12:50 -07:00
To pregen chunks, first connect to the server's RCON CLI. Then, run the following,
`pregen start gen radius Pregen SQUARE 0 0 100`
This should take about half an hour and will generate about 40,000 chunks (2r^2).
For a job closer to 8 hours, run
`pregen start gen radius Pregen SQUARE 0 0 500`
Which will generate about 500,000 chunks.
2022-05-09 23:33:34 -07:00
A Ryzen 7 5800X generates chunks at about 1.35 chunks per tick (27 chunks per second @ 20 TPS).
### Automating Chunk Pregen
Itzg's [container supports](https://github.com/itzg/docker-minecraft-server#use-rcon-commands) `RCON_CMDS_FIRST_CONNECT` and `RCON_CMDS_LAST_DISCONNECT` environment variables, which allow us to automatically begin pregenerating chunks when no one is connected, and pause this task when players begin joining.
Use these variables when the server supports pregen and would benefit from this:
```
RCON_CMDS_STARTUP= |-
/pregen start gen radius Pregen SQUARE 0 0 500
RCON_CMDS_FIRST_CONNECT= |-
/pregen pause
RCON_CMDS_LAST_DISCONNECT= |-
/pregen continue
```
This pregen will significantly reduce load on the server during playtime *unless*:
* Players explore beyond the pregenerated regions, or
* Players join the server before a significant area can be pregenerated.