minecraft
Docker
Minecraft-Bedrock

Minecraft Bedrock Edition のサーバを Docker で雑に

とりあえず雑に。情報共有になることを信じて。

誰かにもっとよい物を作って欲しいです。docker-compose あたりで。

Minecraft Bedrock Edition(1.6.1.0) です。具体的に言うと Android, iOS, Windows 10。

正確には Xbox One や Nintendo Switch も含まれるのですが、彼らは任意のサーバを利用することができないはずです。


tl;dr

FROM ubuntu:18.10

MAINTAINER local
WORKDIR /root
RUN apt update && apt install -y make wget gcc perl unzip libcurl4-openssl-dev
RUN wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.6.1.0.zip && wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_0-stable.zip
RUN unzip OpenSSL_1_0_0-stable.zip && unzip bedrock-server-1.6.1.0.zip
WORKDIR /root/openssl-OpenSSL_1_0_0-stable
RUN ./config shared && make && make install
ENV LD_LIBRARY_PATH .:/usr/local/ssl/lib
WORKDIR /root
CMD ["./bedrock_server"]


説明


FROM ubuntu:18.10


なんか glibc だかのバージョンが古いらしくて、それをどうにかできたのが ubuntu 18.10 だった。alpineでの実現方法を知りたい


MAINTAINER local

WORKDIR /root


適当


RUN apt update && apt install -y make wget gcc perl unzip libcurl4-openssl-dev


curl があるけど個人的な好みで wget を得た

unzip は解凍用

gcc perl libcurl4-openssl-dev は OpenSSL のビルドをするため


RUN wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.6.1.0.zip && wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_0-stable.zip


bedrock の linux 用サーバと libssl.so.1.0.0 を要求してくるので OpenSSL 1.0.0 を得る


RUN unzip OpenSSL_1_0_0-stable.zip && unzip bedrock-server-1.6.1.0.zip


雑に解凍


WORKDIR /root/openssl-OpenSSL_1_0_0-stable

RUN ./config shared && make && make install


OpenSSLのビルド。 configshared を付けたのは so ファイルを生成させるため。


ENV LD_LIBRARY_PATH .:/usr/local/ssl/lib


bedrock_server の起動に必要な環境変数。 /usr/local/ssl/liblibssl.so.1.0.0 のため


WORKDIR /root

CMD ["./bedrock_server"]


起動。終了のことは考えてない。