From 3d7697a27cbdced6bde3745893b8bbe8cbc0e158 Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Mon, 9 Dec 2019 22:26:45 +0100 Subject: games-server/bedrock-server: New package This is the official minecraft server, which can be used with all editions, which are based on the bedrock engine. It is not compatible with the minecraft java edition. Closes: https://github.com/gentoo/gentoo/pull/11857 Package-Manager: Portage-2.3.81, Repoman-2.3.20 Signed-off-by: Conrad Kostecki --- games-server/bedrock-server/Manifest | 1 + .../bedrock-server/bedrock-server-1.13.3.0.ebuild | 52 ++++++++++++++++++++++ .../bedrock-server/files/bedrock-server.initd | 47 +++++++++++++++++++ games-server/bedrock-server/metadata.xml | 18 ++++++++ 4 files changed, 118 insertions(+) create mode 100644 games-server/bedrock-server/Manifest create mode 100644 games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild create mode 100644 games-server/bedrock-server/files/bedrock-server.initd create mode 100644 games-server/bedrock-server/metadata.xml (limited to 'games-server/bedrock-server') diff --git a/games-server/bedrock-server/Manifest b/games-server/bedrock-server/Manifest new file mode 100644 index 000000000000..c1fc98273b90 --- /dev/null +++ b/games-server/bedrock-server/Manifest @@ -0,0 +1 @@ +DIST bedrock-server-1.13.3.0.zip 48812104 BLAKE2B 052e2445268c1e313139a6291aa8e5ef623a30f8dd26c32ed604f73318af75ae4f3f5c22ea3e73d18d6989388ff5da2600c5b0b019f3120db1779e49cad9d8c7 SHA512 2319f160ac69088c9420b1b6c999d576216c5a4b7034182e31572b2ece5f7bab3da049ee06f9b99b152da618a25f53df608c1eca23eab61b8ca9dbff24b78d6e diff --git a/games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild b/games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild new file mode 100644 index 000000000000..78c6aa517c18 --- /dev/null +++ b/games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="The official bedrock (non-java) based server for the sandbox video game" +HOMEPAGE="https://www.minecraft.net/" +SRC_URI="https://minecraft.azureedge.net/bin-linux/${P}.zip" + +LICENSE="Mojang" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND=" + acct-group/bedrock + acct-user/bedrock + app-misc/screen + dev-libs/openssl:0/1.1 + net-misc/curl[ssl] +" + +BDEPEND="app-arch/unzip" + +RESTRICT="bindist mirror" + +S="${WORKDIR}" + +DOCS=( + "bedrock_server_how_to.html" + "release-notes.txt" +) + +QA_PREBUILT=" + opt/bedrock-server/bedrock_server + opt/bedrock-server/libCrypto.so +" + +src_install() { + exeinto /opt/bedrock-server + doexe bedrock_server libCrypto.so + + insinto /opt/bedrock-server + doins {permissions,whitelist}.json server.properties + doins -r {behavior,resource}_packs definitions structures + + dodir /opt/bin + dosym ../bedrock-server/bedrock_server /opt/bin/bedrock-server + + newinitd "${FILESDIR}"/bedrock-server.initd bedrock-server + + einstalldocs +} diff --git a/games-server/bedrock-server/files/bedrock-server.initd b/games-server/bedrock-server/files/bedrock-server.initd new file mode 100644 index 000000000000..9157b610a1f4 --- /dev/null +++ b/games-server/bedrock-server/files/bedrock-server.initd @@ -0,0 +1,47 @@ +#!/sbin/openrc-run +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "bedrock-server" ]; then + instance="main" +else + instance="${SVCNAME#*.}" +fi + +bedrock_command="/opt/bin/bedrock-server" +bedrock_path="/var/lib/bedrock-server" +bedrock_path_data="/opt/bedrock-server" +bedrock_path_instance="${bedrock_path}/${instance}" +name="Minecraft Bedrock server (${instance})" +pidfile="/run/bedrock-server.${instance}.pid" +screen_name="bedrock-server.${instance}" +start_stop_daemon_args="--chdir ${bedrock_path_instance}" + +command="/usr/bin/screen" +command_args="-DmUS ${screen_name} ${bedrock_command}" +command_background="true" +command_group="bedrock" +command_user="bedrock" + +depend() { + use net +} + +start_pre() { + checkpath -d -o "${command_user}:${command_group}" -q "${bedrock_path}" "${bedrock_path_instance}" + + local bedrock_configs=( "permissions.json" "server.properties" "whitelist.json" ) + for bedrock_config in ${bedrock_configs[@]}; do + if [ ! -f "${bedrock_path_instance}/${bedrock_config}" ]; then + cp "${bedrock_path_data}/${bedrock_config}" "${bedrock_path_instance}" + checkpath -f -o "${command_user}:${command_group}" -q "${bedrock_path_instance}/${bedrock_config}" + fi + done + + local bedrock_ressources=( "behavior_packs" "definitions" "resource_packs" "structures" ) + for bedrock_ressource in ${bedrock_ressources[@]}; do + if [ ! -L "${bedrock_path_instance}/${bedrock_ressource}" ]; then + ln -sf "${bedrock_path_data}/${bedrock_ressource}" "${bedrock_path_instance}" + fi + done +} diff --git a/games-server/bedrock-server/metadata.xml b/games-server/bedrock-server/metadata.xml new file mode 100644 index 000000000000..e3df9ebb5b70 --- /dev/null +++ b/games-server/bedrock-server/metadata.xml @@ -0,0 +1,18 @@ + + + + + conikost@gentoo.org + Conrad Kostecki + + + Minecraft is a sandbox video game created and designed + by Swedish game designer Markus "Notch" Persson, + and later fully developed and published by Mojang. + This is the headless server for all versions of Minecraft + based on the bedrock engine and is not compatible with the java version. + + + https://bugs.mojang.com/projects/BDS/issues + + -- cgit v1.2.3-65-gdbad