feat: headless server

This commit is contained in:
daoge_cmd
2026-03-04 16:18:47 +08:00
parent 8ecfc52547
commit d112090fde
12 changed files with 973 additions and 291 deletions

View File

@@ -41,14 +41,22 @@ This feature is based on [LCEMP](https://github.com/LCEMP/LCEMP/)
| Argument | Description |
|--------------------|----------------------------------------------------------------------------------------------------------------|
| `-name <username>` | Sets your in-game username |
| `-ip <address>` | Manually connect to an IP if LAN advertising does not work or if the server cannot be discovered automatically |
| `-port <port>` | Override the default port if it was changed in the source |
| `-server` | Launches a headless server instead of the client |
| `-ip <address>` | Client mode: manually connect to an IP. Server mode: override the bind IP from `server.properties` |
| `-port <port>` | Client mode: override the join port. Server mode: override the listen port from `server.properties` |
Example:
```
Minecraft.Client.exe -name Steve -ip 192.168.0.25 -port 25565
```
Headless server example:
```
Minecraft.Client.exe -server -ip 0.0.0.0 -port 25565
```
The headless server also reads and writes `server.properties` in the working directory. If `-ip` / `-port` are omitted in `-server` mode, it falls back to `server-ip` / `server-port` from that file. Dedicated-server host options such as `trust-players`, `pvp`, `fire-spreads`, `tnt`, `difficulty`, `gamemode`, `spawn-animals`, and `spawn-npcs` are persisted there as well.
## Controls (Keyboard & Mouse)
- **Movement**: `W` `A` `S` `D`