Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
merged:

  flora: dd751ace709a1e64c58ba5fdd57fcce2a91d0ab1
  faustoo: cc5a2afadc85b956561e69c488ab01312b76ef6b
  fusion809: 78286a892afaa9f33879267be6365b7165ddd7e5
  gentoo-staging: ac0e3f6788abef8c56142f02db8f2ec992d9f8b1
  kit-fixups: a9fe0f695b79cd35eda000295e86ac3413a3dc78
  • Loading branch information
danielrobbins committed Jul 11, 2018
1 parent a114d98 commit 5fbffa2
Show file tree
Hide file tree
Showing 7 changed files with 407 additions and 0 deletions.
1 change: 1 addition & 0 deletions games-server/minecraft-server/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST minecraft-server-1.12.2.jar 30222121 BLAKE2B 91733822789405dbec5d335fc67e47d3278138929280c4fdcf6053fb0824651474c8e2310c342862fc1aefdf74f55d0a21d78b3c34f32484ec8196b7c5921d72 SHA512 327196bfb833160ae6fb7d12b7d372d031bc0ffbac3455481c1635b01e00f0d5502d4698fbc4f8e7ee59cc3902d56c41261c45d1f1c8f3972e192631f504a0fc
7 changes: 7 additions & 0 deletions games-server/minecraft-server/files/minecraft-server.confd
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

# Java options for your started server
# You should at least define some memory settings (-Xms, -Xmx),
# for maximum memory, as the java default is far to low for Minecraft
MINECRAFT_OPTS="-Xms1024m -Xmx1024m"
48 changes: 48 additions & 0 deletions games-server/minecraft-server/files/minecraft-server.initd
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/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

java="${JAVA_HOME-/usr}"/bin/java
minecraft_jar="/usr/share/games/minecraft-server/minecraft-server.jar"
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}"

command="screen"
command_args="-DmUS ${screen_name} ${java} ${MINECRAFT_OPTS} -jar ${minecraft_jar}"
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
}
18 changes: 18 additions & 0 deletions games-server/minecraft-server/metadata.xml
Original file line number Diff line number Diff line change
@@ -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>[email protected]</email>
<name>Conrad Kostecki</name>
</maintainer>
<maintainer type="project">
<email>[email protected]</email>
<name>Proxy Maintainers</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 Minecraft.
</longdescription>
</pkgmetadata>
67 changes: 67 additions & 0 deletions games-server/minecraft-server/minecraft-server-1.12.2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit user

DESCRIPTION="The official server for the sandbox video game Minecraft"
HOMEPAGE="https://www.minecraft.net/"
SRC_URI="https://s3.amazonaws.com/Minecraft.Download/versions/${PV}/minecraft_server.${PV}.jar -> ${P}.jar"

LICENSE="Mojang"
SLOT="0"
KEYWORDS="~amd64 ~x86"

RDEPEND="app-misc/screen
virtual/jre"

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_install() {
insinto /usr/share/games/minecraft-server
insopts -o minecraft -g minecraft
newins minecraft-server-${PV}.jar minecraft-server.jar

newinitd "${FILESDIR}"/minecraft-server.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
}

pkg_postinst() {
elog "This package provides an init script and a conf file."
elog "You don't have to modify those files directly,"
elog "but instead you can make a symlink of that init script"
elog "and a copy of that conf file."
elog "You would do this for every server, you want to setup."
elog ""
elog "For example, you wan't to setup an world called 'gentoo',"
elog "you would do:"
elog ""
elog "cd /etc/init.d"
elog "ln -s minecraft-server minecraft-server.gentoo"
elog ""
elog "cd /etc/conf.d"
elog "cp minecraft-server minecraft-server.gentoo"
elog ""
elog "After that, make your settings in"
elog "/etc/conf.d/minecraft-server.gentoo."
elog ""
elog "If you don't make a symlink, but use the default scripts,"
elog "your world will be called 'main'"
}
Loading

0 comments on commit 5fbffa2

Please sign in to comment.