summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2019-12-09 22:26:45 +0100
committerConrad Kostecki <conikost@gentoo.org>2019-12-09 23:05:21 +0100
commit3d7697a27cbdced6bde3745893b8bbe8cbc0e158 (patch)
treea4dd464cf0524299e6dafbcf8dccc3814338f868 /games-server
parentacct-user/bedrock: add user for games-server/bedrock-server (diff)
downloadgentoo-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')
-rw-r--r--games-server/bedrock-server/Manifest1
-rw-r--r--games-server/bedrock-server/bedrock-server-1.13.3.0.ebuild52
-rw-r--r--games-server/bedrock-server/files/bedrock-server.initd47
-rw-r--r--games-server/bedrock-server/metadata.xml18
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>