Skip to content

specify udp in Docker run command#389

Open
niko-at-chalupa wants to merge 12 commits into
EndstoneMC:developfrom
niko-at-chalupa:main
Open

specify udp in Docker run command#389
niko-at-chalupa wants to merge 12 commits into
EndstoneMC:developfrom
niko-at-chalupa:main

Conversation

@niko-at-chalupa

Copy link
Copy Markdown

Specify port as UDP in the docker run example. Docker defaults to TCP, which causes connection problems for the server.

I did not notice this while testing the command initially. Sorry!

@Aevarkan

Copy link
Copy Markdown

When you were testing, did you have any issues with the volume path?

I had noticed this comment earlier: https://github.com/orgs/EndstoneMC/discussions/193#discussioncomment-16307822

Proper command is:
docker run --rm -it -v ${PWD}:/home/endstone/bedrock_server -p 19132:19132/udp endstone/endstone

I tested it on my own server, and that indeed seemed to be the case:

$ docker run --rm -it -v ${PWD}:/home/endstone -p 19132:19132/udp endstone/endstone
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "./docker-entrypoint.sh": stat ./docker-entrypoint.sh: no such file or directory

Run 'docker run --help' for more information

Adjusting it to -v ${PWD}:/home/endstone/bedrock_server fixed it.

Was that the same for you, using emulation?

@niko-at-chalupa

niko-at-chalupa commented Apr 29, 2026

Copy link
Copy Markdown
Author

I used a different volume path during testing, and only set that one so the volume path so it would align with the other commands. This seems to be the case!

This fails,

❯ docker run \
--platform linux/amd64 \
-p 19132:19132/udp \
-it \
-v ${PWD}:/home/endstone/ \
--name endstone-server \
endstone/endstone

What's next:
    Debug this container error with Gordon → docker ai "help me fix this container error"
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "./docker-entrypoint.sh": stat ./docker-entrypoint.sh: no such file or directory

Run 'docker run --help' for more information

whereas

❯ docker run \
--platform linux/amd64 \
-p 19132:19132/udp \
-it \
-v ${PWD}:/home/endstone/bedrock_server \
--name endstone-server \
endstone/endstone
Bedrock Dedicated Server (v26.12) is not found in /home/endstone/bedrock_server. Would you like to download it now? [Y/n]:

this works successfully. I will write a commit fixing the command

@niko-at-chalupa

Copy link
Copy Markdown
Author

Do you think it's worth applying this fix to the two other commands?

@Aevarkan

Copy link
Copy Markdown

Since you're there, might as well!

The errors are identical, so I believe the correct volume really is /home/endstone/bedrock_server.

Makes me wonder how long people have been working around this 😆

engsr6982 and others added 12 commits July 10, 2026 13:49
…ss violation(EndstoneMC#339)

Prevent crash by destroying plugin_loaders_ in LIFO order (pop_back())
instead of forward order, matching the load sequence.

(cherry picked from commit 9244bd1)
…MC#426)

The outbound ClientboundMapItemDataPacket patch skipped rendering when
decorations_ was empty, coupling pixel and decoration handling. Decouple
them to match vanilla/Paper: skip only when both are empty, patch pixels
when a texture update is present, and guard the bounds check to the pixel
path.
…dstoneMC#424)

GameRules gained a new PLAYER_WAYPOINTS rule that shifted the game-rule
indices, so SHOW_DEATH_MESSAGES was read from the wrong slot and death
messages stopped broadcasting. Also refresh MinecraftPacketIds, MolangVersion
and BlockActorType against the current BDS layout.
The libc++ flag was force-appended to the CMAKE_CXX_FLAGS cache on every
configure, so each `conan build` (Project: Install) stacked another copy
and changed every compile command, forcing a full rebuild. Apply it via
add_compile_options/add_link_options and use CMAKE_POSITION_INDEPENDENT_CODE
for -fPIC so the flags stay stable across reconfigures.
…under Pterodactyl

replxx only committed a line on carriage return (Ctrl-M); wings and other web
consoles send line feed, which replxx bound to new_line, so typed commands
piled up without ever running. Bind Ctrl-J (LF) to commit_line too.

With that fixed, enable the interactive console by default on all platforms
(previously Windows-only). When stdin is not a TTY, replxx falls back to line
mode, so piped/redirected input is unaffected.
start.cmd/start.sh created a throwaway environment on every launch and let uv
pick any interpreter on PATH, so on Windows uv could select the Microsoft Store
Python stub. Provision a uv-managed Python into a reusable .venv in the server
folder instead, and install the bundled wheel into it. This avoids the Store
Python entirely and makes subsequent startups near-instant.
libelf/0.8.13 is now published to the endstone Conan remote as a prebuilt
binary, so it no longer builds from source in the Docker image or cibuildwheel.
That removes the only autoreconf consumer in the graph, so drop the
`--build=m4/*` warm-up and the system-m4 apt package, and add cmake/ninja to
the Docker pre-cache step for the remaining source builds (e.g. base64).

Also ignore .env.
The conan-py-build PEP 517 backend runs `conan install` internally during the wheel build, and cmake/ninja are already in build-system.requires, so the explicit cibuildwheel before-build step was redundant.
Bump the target BDS version to 1.26.33 and regenerate the symbol offset
tables. All 64 signatures resolve on both platforms; offsets are unchanged
from 1.26.32 (minimal server hotfix).

Also guard the generated symbols headers with clang-format off/on so
clang-format no longer re-wraps the long mangled names.
…uild

clang-cl does not pull <algorithm>, <deque>, <memory>, <vector>, and
<functional> in transitively the way libc++ does, so include them where
std::ranges::equal, std::deque, std::shared_ptr, and std::function are used.
Under 28-way parallel ctest, every PlayerBanListTest shared one
test_banned_players.json and every CppPluginLoaderTest shared the
plugins/.local shadow-copy dir, so concurrent cases clobbered each
other's files. Give each ban-list test a unique file, and serialize the
plugin-loader cases with a ctest RESOURCE_LOCK.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants