summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-server/minecraft-server/Manifest1
-rw-r--r--games-server/minecraft-server/files/README.gentoo20
-rw-r--r--games-server/minecraft-server/files/minecraft-server-r1.initd47
-rw-r--r--games-server/minecraft-server/minecraft-server-1.13.ebuild55
4 files changed, 123 insertions, 0 deletions
diff --git a/games-server/minecraft-server/Manifest b/games-server/minecraft-server/Manifest
index 7c3f0d5cf480..5d94477231b1 100644
--- a/games-server/minecraft-server/Manifest
+++ b/games-server/minecraft-server/Manifest
@@ -1 +1,2 @@
DIST minecraft-server-1.12.2.jar 30222121 BLAKE2B 91733822789405dbec5d335fc67e47d3278138929280c4fdcf6053fb0824651474c8e2310c342862fc1aefdf74f55d0a21d78b3c34f32484ec8196b7c5921d72 SHA512 327196bfb833160ae6fb7d12b7d372d031bc0ffbac3455481c1635b01e00f0d5502d4698fbc4f8e7ee59cc3902d56c41261c45d1f1c8f3972e192631f504a0fc
+DIST minecraft-server-1.13.jar 32649675 BLAKE2B c137e8009ea201fafe148277aa2d81f7683b99653f74f335659ec239a2cdb3b1271eea290bbda58967fd81075f76edf14622d64d4f25e92e92bb186348acea5d SHA512 726e9775163338660429886dbf940e9ad43d75fa315a8bb2936d23491e8c5717fbd365490b91ff74f876eb498a3674b88f41a526b06a64acbc33d8670b48c342
diff --git a/games-server/minecraft-server/files/README.gentoo b/games-server/minecraft-server/files/README.gentoo
new file mode 100644
index 000000000000..ae8c62a9cbf2
--- /dev/null
+++ b/games-server/minecraft-server/files/README.gentoo
@@ -0,0 +1,20 @@
+This package provides an init script and a conf file.
+You don't have to modify those files directly,
+but instead you can make a symlink of that init script
+and a copy of that conf file.
+You would do this for every server, you want to setup.
+
+For example, you wan't to setup an world called 'gentoo',
+you would do:
+
+cd /etc/init.d
+ln -s minecraft-server minecraft-server.gentoo
+
+cd /etc/conf.d
+cp minecraft-server minecraft-server.gentoo
+
+After that, make your settings in
+/etc/conf.d/minecraft-server.gentoo.
+
+If you don't make a symlink, but use the default scripts,
+your world will be called 'main'.
diff --git a/games-server/minecraft-server/files/minecraft-server-r1.initd b/games-server/minecraft-server/files/minecraft-server-r1.initd
new file mode 100644
index 000000000000..872885ecd643
--- /dev/null
+++ b/games-server/minecraft-server/files/minecraft-server-r1.initd
@@ -0,0 +1,47 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+if [ "${SVCNAME}" = "minecraft-server" ]; then
+ instance="main"
+else
+ instance="${SVCNAME#minecraft-server.}"
+fi
+
+minecraft_command="/usr/bin/minecraft-server"
+minecraft_logs="/var/log/minecraft-server"
+minecraft_path="/var/lib/minecraft-server/${instance}"
+name="Minecraft Server (World: ${instance})"
+pidfile="/run/minecraft-server.${instance}.pid"
+screen_name="minecraft-server.${instance}"
+start_stop_daemon_args="--chdir ${minecraft_path} --env JAVA_OPTS=\"${MINECRAFT_OPTS}\""
+
+command="screen"
+command_args="-DmUS ${screen_name} ${minecraft_command}"
+command_background="true"
+command_group="minecraft"
+command_user="minecraft"
+
+depend() {
+ use net
+}
+
+start_pre() {
+ checkpath -d -o "${command_user}:${command_group}" -q "${minecraft_path}"
+
+ checkpath -f -o "${command_user}:${command_group}" -q "${minecraft_path}"/eula.txt
+ echo "eula=true" > "${minecraft_path}"/eula.txt
+
+ checkpath -d -o "${command_user}:${command_group}" -q "${minecraft_logs}"/"${instance}"
+
+ if [ ! -L "${minecraft_path}"/logs ]; then
+ cd "${minecraft_path}" && ln -s ../../../log/minecraft-server/"${instance}" logs
+ fi
+
+ if [ -z ${MINECRAFT_OPTS} ]; then
+ eerror "You must define MINECRAFT_OPTS in /etc/conf.d/minecraft.${SVCNAME}!"
+ return 1
+ fi
+
+ return 0
+}
diff --git a/games-server/minecraft-server/minecraft-server-1.13.ebuild b/games-server/minecraft-server/minecraft-server-1.13.ebuild
new file mode 100644
index 000000000000..2ef64c02f1a4
--- /dev/null
+++ b/games-server/minecraft-server/minecraft-server-1.13.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+MY_PV="d0caafb8438ebd206f99930cfaecfa6c9a13dca0"
+
+inherit readme.gentoo-r1 java-pkg-2 user
+
+DESCRIPTION="The official server for the sandbox video game"
+HOMEPAGE="https://www.minecraft.net/"
+SRC_URI="https://launcher.mojang.com/mc/game/${PV}/server/${MY_PV}/server.jar -> ${P}.jar"
+
+LICENSE="Mojang"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="app-misc/screen
+ >=virtual/jre-1.8"
+
+RESTRICT="bindist mirror strip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ enewgroup minecraft
+ enewuser minecraft -1 -1 /var/lib/minecraft-server minecraft
+}
+
+src_unpack() {
+ # Don't unpack that jar, just copy it to WORKDIR
+ cp "${DISTDIR}"/${A} "${WORKDIR}" || die
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ java-pkg_newjar minecraft-server-${PV}.jar minecraft-server.jar
+ java-pkg_dolauncher minecraft-server --jar minecraft-server.jar --java_args "\${JAVA_OPTS}"
+
+ newinitd "${FILESDIR}"/minecraft-server-r1.initd minecraft-server
+ newconfd "${FILESDIR}"/minecraft-server.confd minecraft-server
+
+ diropts -o minecraft -g minecraft
+ keepdir /var/lib/minecraft-server
+ keepdir /var/log/minecraft-server
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}