Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Jan 2012 17:09:27 +0100
From:      Martin Kropfinger <freebsd@rakor-net.de>
To:        FreeBSD-gnats-submit@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/163920: MAINTAINER UPDATE games/minecraft-server
Message-ID:  <20120108170927.6a2ad8cc@rakor-net.de>
In-Reply-To: <201201081600.q08G0O4w048504@freefall.freebsd.org>
References:  <20120108154245.04BD95C3A@phenom.rakors-welt> <201201081600.q08G0O4w048504@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--MP_/3BSv6eP72+zBR6MRhNyMpRX
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Am Sun, 8 Jan 2012 16:00:24 GMT
schrieb FreeBSD-gnats-submit@FreeBSD.org:

> Thank you very much for your problem report.
> It has the internal identification `ports/163920'.
> The individual assigned to look at your
> report is: freebsd-ports-bugs. 
> 
> You can access the state of your problem report at any time
> via this link:
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=163920
> 
> >Category:       ports
> >Responsible:    freebsd-ports-bugs
> >Synopsis:       MAINTAINER UPDATE games/minecraft-server
> >Arrival-Date:   Sun Jan 08 16:00:24 UTC 2012


Having inverted the diff arguments I made defective patches.
New patches appended.
--MP_/3BSv6eP72+zBR6MRhNyMpRX
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=GIDs.txt

--- /usr/ports/GIDs	2011-12-28 22:01:44.000000000 +0100
+++ GIDs	2012-01-08 14:49:13.000000000 +0100
@@ -96,6 +96,7 @@
 cups:*:193:
 saned:*:194:
 radns:*:195:
+mcserver:*:199:
 sympa:*:200:
 dspam:*:202:
 yate:*:204:

--MP_/3BSv6eP72+zBR6MRhNyMpRX
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=UIDs.txt

--- /usr/ports/UIDs	2011-11-19 08:05:21.000000000 +0100
+++ UIDs	2012-01-08 14:49:17.000000000 +0100
@@ -102,6 +102,7 @@
 cups:*:193:193::0:0:Cups Owner:/nonexistent:/usr/sbin/nologin
 saned:*:194:194::0:0:SANE Scanner Daemon:/nonexistent:/bin/sh
 radns:*:195:195::0:0:radns user:/nonexistent:/sbin/nologin
+mcserver:*:199:199::0:0:Minecraft Server:/nonexistent:/bin/sh
 sympa:*:200:200::0:0:Sympa Owner:/nonexistent:/usr/sbin/nologin
 privoxy:*:201:201::0:0:Privoxy proxy user:/nonexistent:/usr/sbin/nologin
 dspam:*:202:202::0:0:Dspam:/nonexistent:/usr/sbin/nologin

--MP_/3BSv6eP72+zBR6MRhNyMpRX
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=patch.txt

diff -bBruN /usr/ports/games/minecraft-server/Makefile minecraft-server/Makefile
--- /usr/ports/games/minecraft-server/Makefile	2011-12-21 17:59:16.000000000 +0100
+++ minecraft-server/Makefile	2012-01-08 16:13:54.000000000 +0100
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	minecraft-server
-PORTVERSION=	1.0.0
+PORTVERSION=	1.0.1
 CATEGORIES=	games java
 MASTER_SITES=	http://s3.amazonaws.com/MinecraftDownload/launcher/:minecraft \
 				http://www.minecraftwiki.net/images/f/f7/:icon
@@ -18,6 +18,8 @@
 MAINTAINER=		freebsd@rakor-net.de
 COMMENT=		Server for the block building game
 
+RUN_DEPENDS=	tmux:${PORTSDIR}/sysutils/tmux
+
 OPTIONS=		X11	"Build with X11 support" On
 
 .include <bsd.port.options.mk>
@@ -25,6 +27,10 @@
 WRKSRC=			${WRKDIR}
 NO_BUILD=		yes
 USE_JAVA=		yes
+USERS=			mcserver
+GROUPS=			mcserver
+USE_RC_SUBR=	minecraft
+SUB_FILES=		pkg-message
 
 .if !defined(WITHOUT_X11)
 DESKTOP_ENTRIES=	"Minecraft-Server" "Block building game (server)" "${DATADIR}/Bookshelf.png" "minecraft-server" "Application;Game;" false
@@ -54,5 +60,24 @@
 	${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin/
 .endif
 	${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}-nogui ${PREFIX}/bin/
+	${MKDIR} ${PREFIX}/etc/minecraft
+	${INSTALL_DATA} ${FILESDIR}/server.properties ${PREFIX}/etc/minecraft/server.properties
+	${LN} ${PREFIX}/etc/minecraft/server.properties ${DATADIR}/server.properties
+	${INSTALL_DATA} ${FILESDIR}/ops.txt ${PREFIX}/etc/minecraft/ops.txt
+	${LN} ${PREFIX}/etc/minecraft/ops.txt ${DATADIR}/ops.txt
+	${INSTALL_DATA} ${FILESDIR}/white-list.txt ${PREFIX}/etc/minecraft/white-list.txt
+	${LN} ${PREFIX}/etc/minecraft/white-list.txt ${DATADIR}/white-list.txt
+	${INSTALL_DATA} ${FILESDIR}/banned-ips.txt ${PREFIX}/etc/minecraft/banned-ips.txt
+	${LN} ${PREFIX}/etc/minecraft/banned-ips.txt ${DATADIR}/banned-ips.txt
+	${INSTALL_DATA} ${FILESDIR}/banned-players.txt ${PREFIX}/etc/minecraft/banned-players.txt
+	${LN} ${PREFIX}/etc/minecraft/banned-players.txt ${DATADIR}/banned-players.txt
+	${CHOWN} -R mcserver:mcserver ${DATADIR}
+	${CHMOD} -R 644 ${DATADIR}/banned-ips.txt
+	${CHMOD} -R 644 ${DATADIR}/banned-players.txt
+	${CHMOD} -R 644 ${DATADIR}/ops.txt
+	${CHMOD} -R 644 ${DATADIR}/white-list.txt
+
+post-install:
+	${CAT} ${PKGMESSAGE}
 
 .include <bsd.port.mk>
diff -bBruN /usr/ports/games/minecraft-server/files/banned-ips.txt minecraft-server/files/banned-ips.txt
--- /usr/ports/games/minecraft-server/files/banned-ips.txt	1970-01-01 01:00:00.000000000 +0100
+++ minecraft-server/files/banned-ips.txt	2012-01-08 14:34:21.000000000 +0100
@@ -0,0 +1,4 @@
+# Put in IPs you would like to ban from your server.
+# Each line one IP.
+# You have to restart the server to activate the changes.
+# As OP you can ban IP using the command /ban-ip <IP-ADDRESS>
diff -bBruN /usr/ports/games/minecraft-server/files/banned-players.txt minecraft-server/files/banned-players.txt
--- /usr/ports/games/minecraft-server/files/banned-players.txt	1970-01-01 01:00:00.000000000 +0100
+++ minecraft-server/files/banned-players.txt	2012-01-08 14:33:52.000000000 +0100
@@ -0,0 +1,4 @@
+# Put in playernames you would like to ban from your server
+# Each line one name
+# You have to restart your server to activate the changes.
+# You can also ban players as OP using the command /ban <PLAYER>
diff -bBruN /usr/ports/games/minecraft-server/files/minecraft.in minecraft-server/files/minecraft.in
--- /usr/ports/games/minecraft-server/files/minecraft.in	1970-01-01 01:00:00.000000000 +0100
+++ minecraft-server/files/minecraft.in	2012-01-08 15:59:25.000000000 +0100
@@ -0,0 +1,120 @@
+#!/bin/sh
+#
+# PROVIDE: minecraft
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="minecraft"
+rcvar=`set_rcvar`
+
+load_rc_config $name
+
+extra_commands="clean killworld clearlog"
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+clean_cmd="${name}_clean"
+killworld_cmd="${name}_killworld"
+clearlog_cmd="${name}_clearlog"
+
+eval "${rcvar}=\${${rcvar}:-'NO'}"
+
+minecraft_start()
+{
+if [ -e %%PREFIX%%/share/minecraft-server/server.log.lck ]; then
+	echo "Server already running."
+else
+	echo "Starting Minecraft-Server..."
+	cd %%PREFIX%%/share/minecraft-server
+	/usr/bin/su mcserver -c "%%PREFIX%%/bin/tmux new-session -d -s minecraft \"java -Xmx1024M -Xms1024M -jar %%PREFIX%%/share/minecraft-server/minecraft_server.jar nogui\""
+
+	i=0
+	while [ $i -lt 10 ]; do
+		i=$(($i + 1))
+		if [ -e %%PREFIX%%/share/minecraft-server/server.log.lck ]; then
+			echo "Minecraft-Server running."
+			break
+		else
+			sleep 1
+		fi
+	done
+
+	if [ $i -ge 10 ]; then
+		echo "ERROR: Server could not be startet."
+		/usr/bin/su mcserver -c "%%PREFIX%%/bin/tmux kill-session -t minecraft"
+	fi
+fi
+}
+
+minecraft_stop(){
+if [ -e %%PREFIX%%/share/minecraft-server/server.log.lck ]; then
+	echo "Halting Minecraft-Server."
+	/usr/bin/su mcserver -c "%%PREFIX%%/bin/tmux send -t minecraft:0.0 stop \"Enter\""
+
+
+	i=0
+	while [ $i -lt 10 ]; do
+    	i=$(($i + 1))
+	    if [ -e %%PREFIX%%/share/minecraft-server/server.log.lck ]; then
+			sleep 1
+	    else
+            echo "Minecraft-Server haltet."
+            break
+	    fi
+	done
+
+	if [ $i -ge 10 ];then
+		echo "ERROR: Server could not be haltet."
+	fi
+else
+	echo "Minecraft-Server not running."
+fi
+}
+
+minecraft_clean(){
+	echo "Giving a stop to the server..."
+	minecraft_stop
+	echo "Cleaning..."
+	if [ -e %%PREFIX%%/share/minecraft-server/server.log.lck ]; then
+		rm %%PREFIX%%/share/minecraft-server/server.log.lck
+		echo "Cleaning done."
+	else
+		echo "Nothing to do. No unclean sessions."
+	fi
+}
+
+minecraft_killworld(){
+	echo "Trying to delete World"
+	if [ -e %%PREFIX%%/share/minecraft-server/server.log.lck ]; then
+		echo "Server seems to be running. Stop server before deletion."
+	else
+		rm -rf %%PREFIX%%/share/minecraft-server/world
+		if [ -d %%PREFIX%%/share/minecraft-server/world ]; then
+			echo "ERROR: World could not be deleted" 
+		else
+			echo "World deleted. Next serverstart will generate a new one"
+		fi
+	fi
+}
+
+minecraft_clearlog(){
+	echo "Trying to delete server.log"
+	if [ -e %%PREFIX%%/share/minecraft-server/server.log.lck ]; then
+		echo "Server seems to be running. Stop server before deletion."
+	else
+		if [ -e %%PREFIX%%/share/minecraft-server/server.log ]; then
+			rm %%PREFIX%%/share/minecraft-server/server.log
+			if [ -e %%PREFIX%%/share/minecraft-server/server.log ]; then
+				echo "ERROR: server.log could not be deleted" 
+			else
+				echo "server.log deleted."
+			fi
+		else
+			echo "No server.log found"
+		fi
+	fi
+}
+
+run_rc_command "$1"
+
diff -bBruN /usr/ports/games/minecraft-server/files/ops.txt minecraft-server/files/ops.txt
--- /usr/ports/games/minecraft-server/files/ops.txt	1970-01-01 01:00:00.000000000 +0100
+++ minecraft-server/files/ops.txt	2012-01-08 14:35:15.000000000 +0100
@@ -0,0 +1,3 @@
+# Put in the player names you which to be OP
+# Each line one name
+# The server has to be restartet to activate changes.
diff -bBruN /usr/ports/games/minecraft-server/files/pkg-message.in minecraft-server/files/pkg-message.in
--- /usr/ports/games/minecraft-server/files/pkg-message.in	1970-01-01 01:00:00.000000000 +0100
+++ minecraft-server/files/pkg-message.in	2012-01-08 13:04:57.000000000 +0100
@@ -0,0 +1,40 @@
+**************************************************
+Daemon:
+  The user mcserver has been added to your system.
+
+  To run the server automativally with the system
+  add the following line to your /etc/rc.conf:
+
+  minecraft_enable="YES"
+
+  Serverfiles will be in 
+  %%PREFIX%%/share/minecraft-server
+
+  Configuration can be done using the config-files
+  or as OP using the Client. Config files are in
+  %%PREFIX%%/etc/minecraft
+
+  If you have trouble starting or stopping the
+  server try to delete an unclean server.log.lck:
+
+  %%PREFIX%%/etc/rc.d/minecraft clean
+
+  If you don't like your generated world it can
+  be deleted (do generate a new one next time
+  the server starts) using:
+  
+  %%PREFIX%%/etc/rc.d/minecraft killworld
+
+  You can delete the server.log (so it's not
+  getting to fat) using:
+
+  %%PREFIX%%/etc/rc.d/minecraft clearlog
+
+Unprivileged users:
+  Running a server as unprivilieged user try
+  minecraft-server{-nogui}
+
+  The serverfiles will be in
+  ~/.minecraft-server
+
+**************************************************
diff -bBruN /usr/ports/games/minecraft-server/files/server.properties minecraft-server/files/server.properties
--- /usr/ports/games/minecraft-server/files/server.properties	1970-01-01 01:00:00.000000000 +0100
+++ minecraft-server/files/server.properties	2012-01-08 12:09:19.000000000 +0100
@@ -0,0 +1,24 @@
+#Minecraft server properties
+#Thu Dec 22 00:12:43 CET 2011
+
+#Do NOT change the Levelname or some Scripts will no longer worf for
+#you!
+level-name=world
+
+allow-nether=true
+allow-flight=false
+enable-query=false
+server-port=25565
+enable-rcon=false
+level-seed=
+server-ip=
+white-list=false
+spawn-animals=true
+online-mode=true
+pvp=true
+difficulty=1
+gamemode=0
+max-players=20
+spawn-monsters=true
+view-distance=10
+motd=A FreeBSD Minecraft Server
diff -bBruN /usr/ports/games/minecraft-server/files/white-list.txt minecraft-server/files/white-list.txt
--- /usr/ports/games/minecraft-server/files/white-list.txt	1970-01-01 01:00:00.000000000 +0100
+++ minecraft-server/files/white-list.txt	2012-01-08 14:37:56.000000000 +0100
@@ -0,0 +1,9 @@
+# Here you can put the players that are allowed to connect to your
+# server.
+# Each line one name.
+# You have to restart the server to activate the changes.
+# As OP you can also add and remove players with the commands 
+# /op <player> and /deop <player>
+#
+# This list needs the white-list to be activated in the
+# server.properties!!
diff -bBruN /usr/ports/games/minecraft-server/pkg-plist minecraft-server/pkg-plist
--- /usr/ports/games/minecraft-server/pkg-plist	2011-12-21 17:59:16.000000000 +0100
+++ minecraft-server/pkg-plist	2012-01-08 14:08:58.000000000 +0100
@@ -1,5 +1,17 @@
+@stopdaemon minecraft
 share/minecraft-server/minecraft_server.jar
 %%X11%%share/minecraft-server/Bookshelf.png
 %%X11%%bin/minecraft-server
 bin/minecraft-server-nogui
-@dirrm share/minecraft-server
+etc/minecraft/server.properties
+share/minecraft-server/server.properties
+etc/minecraft/ops.txt
+share/minecraft-server/ops.txt
+etc/minecraft/white-list.txt
+share/minecraft-server/white-list.txt
+etc/minecraft/banned-ips.txt
+share/minecraft-server/banned-ips.txt
+etc/minecraft/banned-players.txt
+share/minecraft-server/banned-players.txt
+@dirrmtry share/minecraft-server
+@dirrm etc/minecraft

--MP_/3BSv6eP72+zBR6MRhNyMpRX--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120108170927.6a2ad8cc>