This directory contains one BedrockPlus server instance.

After setup, double-click bedrockplus.exe to start this server. The console
stays open while the server runs and waits for Enter before closing when a
double-clicked session stops or reports an error. Command-line and automated
launches remain non-interactive.

BedrockPlus does not redistribute Minecraft Bedrock Dedicated Server. Use the
bedrockplus command in an empty server directory to download the supported BDS
version from the official source, verify it, retain its ZIP under Downloads,
and create the complete server layout.

Every normal start checks the exact BDS executable. A known older official BDS
causes an Update BDS now? [Y/n] prompt. No leaves every file unchanged and
stops. Yes creates a retained backup, selectively updates official BDS files,
adds only missing server.properties settings, verifies readiness, and then
starts normally. Unknown or modified executables are never replaced.

BedrockPlus.ini [update] supports store-backup=true|false and only
server-properties=merge. Relative patterns under [update.exclusions] are never
changed. behavior_packs and resource_packs are merged by official-file identity;
unknown custom pack files are retained.

BedrockPlus.ini [world.experiments] is read only by
bedrockplus world recreate -ex. The same command without -ex ignores it.

For an existing or partially populated BDS directory, run bedrockplus adopt.
It validates the supported BDS identity, installs only missing files, preserves
operator-owned worlds/plugins/packs/configuration and writes a detailed report
under logs. It never replaces a conflicting BDS system file.

BedrockPlus.ini [commands] accepts true (everyone), op (operators and console),
or false (disabled) for bedrockplus, allow_cheats, allowlist, reload, transfer,
ban, ban_ip, pardon, pardon_ip, and banlist. Invalid values warn and retain the
safe default without stopping BDS. Players use /transfer <address> [port];
console and OPs can use /transfer <player> <address> [port].

Player bans persist in banned-players.json and become XUID-authoritative at the
first authenticated matching login. IP bans persist in banned-ips.json and can
accept either an address or an offline name pending its next login. Use /ban,
/ban-ip, /pardon, /pardon-ip, and /banlist. Durations accept m, h, d, w and
combinations such as 1d12h; omitted, permanent, p, 0, or -1 means no expiry.

BedrockPlus.ini [vanilla-commands] manages only commands explicitly set to
false. Missing, commented and true entries do not alter vanilla commands. /me is
false in a newly generated configuration. Active [server-properties] values are
synchronized into server.properties before startup; commented examples are not.

BedrockPlus.ini [players] login_spawn_timeout_seconds controls clients who
authenticated but do not reach their first spawn. Default: 60 seconds. Set it
to 0 to disable; allowed values are 0 through 3600. BDS disconnects timed-out
clients; a separate log confirms only when BDS reports the player leaving.
Restart the server after changing this setting.

Place folder plugins or .bppack files in plugins, then run bedrockplus from the
server directory. Type stop for graceful shutdown. BedrockPlus 1.0.0 was
created by Turkmen and supports BDS 1.26.52.3.
