diff options
author | Conrad Kostecki <conikost@gentoo.org> | 2019-12-09 22:26:45 +0100 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2019-12-09 23:05:21 +0100 |
commit | 3d7697a27cbdced6bde3745893b8bbe8cbc0e158 (patch) | |
tree | a4dd464cf0524299e6dafbcf8dccc3814338f868 /games-server/bedrock-server | |
parent | acct-user/bedrock: add user for games-server/bedrock-server (diff) | |
download | gentoo-3d7697a27cbdced6bde3745893b8bbe8cbc0e158.tar.gz gentoo-3d7697a27cbdced6bde3745893b8bbe8cbc0e158.tar.bz2 gentoo-3d7697a27cbdced6bde3745893b8bbe8cbc0e158.zip |
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 <conikost@gentoo.org>
Diffstat (limited to 'games-server/bedrock-server')
-rw-r--r-- | games-server/bedrock-server/Manifest | 1 | ||||
-rw-r--r-- | games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild | 52 | ||||
-rw-r--r-- | games-server/bedrock-server/files/bedrock-server.initd | 47 | ||||
-rw-r--r-- | games-server/bedrock-server/metadata.xml | 18 |
4 files changed, 118 insertions, 0 deletions
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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription> + 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. + </longdescription> + <upstream> + <bugs-to>https://bugs.mojang.com/projects/BDS/issues</bugs-to> + </upstream> +</pkgmetadata> |