summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-01-20 13:46:41 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-01-20 13:46:41 +0000
commitdb5f4533d8d419ffc79ae3b19f163fe0e758ed71 (patch)
treed37699dbb3131cad3aecd64d49e57c56a4faaa99
parentMark as deprecated, project seems abandoned: (diff)
PvPGN (Player vs Player Gaming Network) is free software that emulates a
Blizzard Battle.net server. It currently supports all Battle.net games, such as StarCraft, Diablo II, and Warcraft III, and gives you the power to run your own server, manage your own users, run your own tournaments, etc. PR: ports/76445 Submitted by: Max E. Kuznecov <mek@mek.uz.ua>
Notes
Notes: svn path=/head/; revision=126946
-rw-r--r--games/Makefile1
-rw-r--r--games/pvpgn/Makefile105
-rw-r--r--games/pvpgn/distinfo4
-rw-r--r--games/pvpgn/files/bnetd.sh41
-rw-r--r--games/pvpgn/files/patch-Makefile.in13
-rw-r--r--games/pvpgn/files/patch-conf-bnetd.conf.in49
-rw-r--r--games/pvpgn/pkg-deinstall24
-rw-r--r--games/pvpgn/pkg-descr9
-rw-r--r--games/pvpgn/pkg-install58
-rw-r--r--games/pvpgn/pkg-plist123
10 files changed, 427 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile
index ed8cddb63535..18d92064da3c 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -363,6 +363,7 @@
SUBDIR += pp
SUBDIR += prboom
SUBDIR += ptkei
+ SUBDIR += pvpgn
SUBDIR += py-sgflib
SUBDIR += py-sgfsummary
SUBDIR += py-ski
diff --git a/games/pvpgn/Makefile b/games/pvpgn/Makefile
new file mode 100644
index 000000000000..401bd4538404
--- /dev/null
+++ b/games/pvpgn/Makefile
@@ -0,0 +1,105 @@
+# New ports collection makefile for: pvpgn
+# Date created: 19 January 2005
+# Whom: mek
+#
+# $FreeBSD$
+#
+
+PORTNAME= pvpgn
+PORTVERSION= 1.7.4
+CATEGORIES= games
+MASTER_SITES= http://download.berlios.de/pvpgn/
+DISTFILES= ${EXTRACT_ONLY} pvpgn-support-1.0.tar.gz
+DIST_SUBDIR= pvpgn
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= mek@mek.uz.ua
+COMMENT= Free Blizzard Battle.net emulation software
+
+PKGINSTALL?= ${WRKDIR}/pkg-install
+PKGDEINSTALL?= ${WRKDIR}/pkg-deinstall
+USE_BZIP2= yes
+USE_GMAKE= yes
+SED_SCRIPT= -e 's|%%PREFIX%%|${PREFIX}|g'
+
+USE_RC_SUBR= yes
+RC_DIR= ${PREFIX}/etc/rc.d
+RC_SUFX= .sh
+SED_SCRIPT+= -e 's|%%RC_SUBR%%|${RC_SUBR}|g' \
+ -e 's|%%RC_DIR%%|${RC_DIR}|g' \
+ -e 's|%%RC_SUFX%%|${RC_SUFX}|g'
+
+PLIST_SUB+= RC_SUFX=${RC_SUFX}
+
+WRKSRC= ${WRKDIR}/${DISTNAME}/src
+
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS= --prefix=${PREFIX} --sysconfdir=${PREFIX}/etc/pvpgn \
+ --localstatedir=${DATADIR}
+
+MAN1= bnbot.1 bnchat.1 bnetd.1 bnftp.1 bni2tga.1 bnibuild.1 \
+ bniextract.1 bnilist.1 bnpass.1 bnstat.1 bntrackd.1 tgainfo.1
+MAN5= bnetd.conf.5 bntext.5
+
+.if defined(WITH_MYSQL_VER)
+WITH_MYSQL= yes
+.if ${WITH_MYSQL_VER} == 3
+WANT_MYSQL_VER= 323
+.endif
+.endif
+
+.if defined(WITH_MYSQL)
+USE_MYSQL= yes
+CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}
+.endif
+
+.if defined(WITH_PGSQL)
+POSTGRESQL_PORT?= databases/postgresql7
+LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
+CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
+.endif
+
+## support files
+
+SUPPORT_SUFFX= .tar.gz
+SUPPORT_FILES= pvpgn-support-1.0
+
+pre-fetch:
+ @${ECHO} ""
+ @${ECHO} "You may use the following build options:"
+ @${ECHO} ""
+ @${ECHO} " WITH_MYSQL=yes Include MySQL user account support"
+ @${ECHO} " WITH_PGSQL=yes Include PostgreSQL user account support"
+ @${ECHO} ""
+
+post-extract:
+ @${MKDIR} ${WRKSRC}/${SUPPORT_FILES}
+ @${TAR} -C ${WRKSRC} -xzf ${DISTDIR}/${DIST_SUBDIR}/${SUPPORT_FILES}${SUPPORT_SUFFX}
+
+post-build:
+ @${SED} ${SED_SCRIPT} ${FILESDIR}/bnetd.sh > ${WRKSRC}/bnetd.sh
+ @${SED} "s|%%PVPGN_DIR%%|${DATADIR}|g" ${PKGDIR}/pkg-install > ${WRKDIR}/pkg-install
+ @${SED} "s|%%PVPGN_DIR%%|${DATADIR}|g" ${PKGDIR}/pkg-deinstall > ${WRKDIR}/pkg-deinstall
+
+post-install:
+ @${INSTALL_SCRIPT} ${WRKSRC}/bnetd.sh ${PREFIX}/etc/rc.d/bnetd${RC_SUFX}
+ @${ECHO_MSG} ">>> installing support files ..."
+.for i in IX86ver1.mpq PMACver1.mpq WAR3IX86.mpq XMACver1.mpq \
+ bnserver-D2DV.ini bnserver-D2XP.ini bnserver-WAR3.ini bnserver.ini \
+ icons-WAR3.bni icons.bni icons_STAR.bni matchmaking-war3-default.dat \
+ matchmaking-war3-enUS.dat
+ ${INSTALL_DATA} ${WRKSRC}/${SUPPORT_FILES}/${i} ${DATADIR}/files
+.endfor
+
+## Additional documentation
+
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+.for i in INSTALL.unix PORTS README.fdwatch README.storage bnmotd.txt
+ ${INSTALL_MAN} ${WRKSRC}/../docs/${i} ${DOCSDIR}
+.endfor
+.endif
+
+ @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.include <bsd.port.mk>
diff --git a/games/pvpgn/distinfo b/games/pvpgn/distinfo
new file mode 100644
index 000000000000..2fbf49b775ac
--- /dev/null
+++ b/games/pvpgn/distinfo
@@ -0,0 +1,4 @@
+MD5 (pvpgn/pvpgn-1.7.4.tar.bz2) = 1827a7c1ef90c7f9525acd37e83432ad
+SIZE (pvpgn/pvpgn-1.7.4.tar.bz2) = 951430
+MD5 (pvpgn/pvpgn-support-1.0.tar.gz) = 8ba36144ea3a7efe200536c142bb7886
+SIZE (pvpgn/pvpgn-support-1.0.tar.gz) = 126047
diff --git a/games/pvpgn/files/bnetd.sh b/games/pvpgn/files/bnetd.sh
new file mode 100644
index 000000000000..aa7fabc20fbd
--- /dev/null
+++ b/games/pvpgn/files/bnetd.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: bnetd
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: FreeBSD shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable bnetd:
+#
+#bnetd_enable="YES"
+#
+# See bnetd(1) for flags
+#
+
+. %%RC_SUBR%%
+
+name=bnetd
+rcvar=`set_rcvar`
+
+command=%%PREFIX%%/sbin/bnetd
+pidfile=/var/run/pvpgn/bnetd.pid
+required_files=%%PREFIX%%/etc/pvpgn/bnetd.conf
+
+stop_postcmd=stop_postcmd
+
+stop_postcmd()
+{
+ rm -f $pidfile
+}
+
+# set defaults
+
+bnetd_enable=${bnetd_enable:-"NO"}
+bnetd_flags=${bnetd_flags:-""}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/games/pvpgn/files/patch-Makefile.in b/games/pvpgn/files/patch-Makefile.in
new file mode 100644
index 000000000000..46fa3ef15e06
--- /dev/null
+++ b/games/pvpgn/files/patch-Makefile.in
@@ -0,0 +1,13 @@
+--- Makefile.in.orig Wed Jan 12 22:35:56 2005
++++ Makefile.in Wed Jan 12 22:38:58 2005
+@@ -663,8 +663,8 @@
+ ${INSTALL_DIRS} ${DESTDIR}/${confdir}
+ @list='${CONFS}'; for p in $$list; do \
+ if test -f ${SRC_CONFDIR}/$$p; then \
+- ${ECHO} " ${INSTALL_DATA} ${SRC_CONFDIR}/$$p ${DESTDIR}/${confdir}"; \
+- ${INSTALL_DATA} ${SRC_CONFDIR}/$$p ${DESTDIR}/${confdir}; \
++ ${ECHO} " ${INSTALL_DATA} ${SRC_CONFDIR}/$$p-sample ${DESTDIR}/${confdir}"; \
++ ${INSTALL_DATA} ${SRC_CONFDIR}/$$p ${DESTDIR}/${confdir}/$$p-sample; \
+ else :; fi; \
+ done
+
diff --git a/games/pvpgn/files/patch-conf-bnetd.conf.in b/games/pvpgn/files/patch-conf-bnetd.conf.in
new file mode 100644
index 000000000000..a2e359b630a0
--- /dev/null
+++ b/games/pvpgn/files/patch-conf-bnetd.conf.in
@@ -0,0 +1,49 @@
+--- ../conf/bnetd.conf.in.orig Wed Jan 12 23:00:53 2005
++++ ../conf/bnetd.conf.in Tue Jan 18 23:57:43 2005
+@@ -15,8 +15,8 @@
+ # a leading '#'). If none are specified, the userid will not be changed. #
+ #----------------------------------------------------------------------------#
+
+-#effective_user = games
+-#effective_group = games
++effective_user = bnetd
++effective_group = bnetd
+
+ # effective_user = #12
+ # effective_group = #20
+@@ -75,14 +75,14 @@
+ ipbanfile = /usr/local/etc/bnban.conf
+ helpfile = /usr/local/etc/bnhelp.conf
+ mpqfile = /usr/local/etc/autoupdate.conf
+-logfile = /usr/local/var/bnetd.log
++logfile = /var/log/bnetd/bnetd.log
+ realmfile = /usr/local/etc/realm.conf
+ maildir = /usr/local/var/bnmail
+ versioncheck_file = /usr/local/etc/versioncheck.conf
+ mapsfile = /usr/local/etc/bnmaps.conf
+ xplevelfile = /usr/local/etc/bnxplevel.conf
+ xpcalcfile = /usr/local/etc/bnxpcalc.conf
+-#pidfile = /usr/local/var/bnetd.pid
++pidfile = /var/run/bnetd/bnetd.pid
+ ladderdir = /usr/local/var/ladders
+ command_groups_file = /usr/local/etc/command_groups.conf
+ tournament_file = /usr/local/etc/tournament.conf
+@@ -112,8 +112,7 @@
+ # warn
+ # error
+ # fatal
+-loglevels = fatal,error,warn,info,debug,trace
+-#loglevels = fatal,error,warn,info
++loglevels = fatal,error,warn
+
+ # #
+ ##############################################################################
+@@ -300,7 +299,7 @@
+ # List additional game types to be counted as ladder games
+ # Curently allowed types: topvbot, melee, ffa, oneonone
+ # Example: ladder_games = "topvbot,oneonone"
+-ladder_games = "none"
++ladder_games = "topvbot,oneonone"
+
+ # If additional game types are configured (see above) to be counted as ladder
+ # games then this setting configures a game name prefix to make only games
diff --git a/games/pvpgn/pkg-deinstall b/games/pvpgn/pkg-deinstall
new file mode 100644
index 000000000000..da65a3cdab8f
--- /dev/null
+++ b/games/pvpgn/pkg-deinstall
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+if [ "$2" != "POST-DEINSTALL" ]; then
+ exit 0
+fi
+
+USER=bnetd
+LOGDIR=/var/log/pvpgn
+PIDDIR=/var/run/pvpgn
+
+if pw usershow "${USER}" 2>/dev/null 1>&2; then
+ echo "To delete PvPGN user permanently, use 'pw userdel ${USER}'"
+fi
+
+if pw groupshow "${USER}" 2>/dev/null 1>&2; then
+ echo "To delete PvPGN group permanently, use 'pw groupdel ${USER}'"
+fi
+
+rm -Rf ${PIDDIR}
+
+echo "If you wish to delete pvpgn data and log files, "
+echo "remove '%%PVPGN_DIR%%' and '${LOGDIR}' directories."
+
+exit 0
diff --git a/games/pvpgn/pkg-descr b/games/pvpgn/pkg-descr
new file mode 100644
index 000000000000..136938ff503f
--- /dev/null
+++ b/games/pvpgn/pkg-descr
@@ -0,0 +1,9 @@
+PvPGN (Player vs Player Gaming Network) is free software that emulates a
+Blizzard Battle.net server. It currently supports all Battle.net games,
+such as StarCraft, Diablo II, and Warcraft III, and gives you the power
+to run your own server, manage your own users, run your own tournaments, etc.
+
+WWW: http://pvpgn.berlios.de
+
+- Max E. Kuznecov
+mek@mek.uz.ua
diff --git a/games/pvpgn/pkg-install b/games/pvpgn/pkg-install
new file mode 100644
index 000000000000..a3dba675756d
--- /dev/null
+++ b/games/pvpgn/pkg-install
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+PATH=/bin:/usr/sbin
+
+case $2 in
+POST-INSTALL)
+ USER=bnetd
+ GROUP=${USER}
+ UID=700
+ GID=${UID}
+ HOME_DIR=/nonexistent
+ LOGDIR=/var/log/pvpgn
+ PIDDIR=/var/run/pvpgn
+
+ if pw group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if pw groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ else
+ if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+ -d ${HOME_DIR} -s /sbin/nologin -c "Bnetd user"
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ mkdir -p %%PVPGN_DIR%%/bak/charinfo
+ mkdir -p %%PVPGN_DIR%%/bak/charsave
+ mkdir -p %%PVPGN_DIR%%/bnmail
+ mkdir -p %%PVPGN_DIR%%/chanlogs
+ mkdir -p %%PVPGN_DIR%%/charinfo
+ mkdir -p %%PVPGN_DIR%%/charsave
+ mkdir -p %%PVPGN_DIR%%/clans
+ mkdir -p %%PVPGN_DIR%%/ladders
+ mkdir -p %%PVPGN_DIR%%/reports
+ mkdir -p %%PVPGN_DIR%%/status
+ mkdir -p %%PVPGN_DIR%%/teams
+ mkdir -p %%PVPGN_DIR%%/users
+ mkdir -p %%PVPGN_DIR%%/userscdb
+
+ chown -R ${USER}:${GROUP} %%PVPGN_DIR%%
+ mkdir -m 750 ${LOGDIR} ${PIDDIR} 2> /dev/null
+ chown -R ${USER}:${GROUP} ${LOGDIR} ${PIDDIR}
+ exit 0
+ ;;
+esac
diff --git a/games/pvpgn/pkg-plist b/games/pvpgn/pkg-plist
new file mode 100644
index 000000000000..7c5ffb8f051c
--- /dev/null
+++ b/games/pvpgn/pkg-plist
@@ -0,0 +1,123 @@
+bin/bnbot
+bin/bncdb
+bin/bnchat
+bin/bnftp
+bin/bni2tga
+bin/bnibuild
+bin/bniextract
+bin/bnilist
+bin/bnpass
+bin/bnstat
+bin/tgainfo
+%%PORTDOCS%%%%DOCSDIR%%/INSTALL.unix
+%%PORTDOCS%%%%DOCSDIR%%/PORTS
+%%PORTDOCS%%%%DOCSDIR%%/README.fdwatch
+%%PORTDOCS%%%%DOCSDIR%%/README.storage
+%%PORTDOCS%%%%DOCSDIR%%/bnmotd.txt
+etc/pvpgn/ad.conf-sample
+etc/pvpgn/address_translation.conf-sample
+etc/pvpgn/anongame_infos.conf-sample
+etc/pvpgn/autoupdate.conf-sample
+etc/pvpgn/bnalias.conf-sample
+etc/pvpgn/bnban.conf-sample
+etc/pvpgn/bnetd.conf-sample
+etc/pvpgn/bnetd_default_user.cdb-sample
+etc/pvpgn/bnetd_default_user.plain-sample
+etc/pvpgn/bnhelp.conf-sample
+etc/pvpgn/bnissue.txt-sample
+etc/pvpgn/bnmaps.conf-sample
+etc/pvpgn/bnmotd.txt-sample
+etc/pvpgn/bnxpcalc.conf-sample
+etc/pvpgn/bnxplevel.conf-sample
+etc/pvpgn/channel.conf-sample
+etc/pvpgn/command_groups.conf-sample
+etc/pvpgn/d2cs.conf-sample
+etc/pvpgn/d2dbs.conf-sample
+etc/pvpgn/d2server.ini-sample
+etc/pvpgn/news.txt-sample
+etc/pvpgn/realm.conf-sample
+etc/pvpgn/sql_DB_layout.conf-sample
+etc/pvpgn/supportfile.conf-sample
+etc/pvpgn/topics.conf-sample
+etc/pvpgn/tournament.conf-sample
+etc/pvpgn/versioncheck.conf-sample
+etc/rc.d/bnetd%%RC_SUFX%%
+sbin/bnetd
+sbin/bntrackd
+sbin/d2cs
+sbin/d2dbs
+share/pvpgn/files/IX86ver1.mpq
+share/pvpgn/files/PMACver1.mpq
+share/pvpgn/files/WAR3IX86.mpq
+share/pvpgn/files/XMACver1.mpq
+share/pvpgn/files/ad000001.mng
+share/pvpgn/files/ad000001.smk
+share/pvpgn/files/ad000004.mng
+share/pvpgn/files/bnserver-D2DV.ini
+share/pvpgn/files/bnserver-D2XP.ini
+share/pvpgn/files/bnserver-WAR3.ini
+share/pvpgn/files/bnserver.ini
+share/pvpgn/files/chathelp-war3-default.txt
+share/pvpgn/files/chathelp-war3-enUS.txt
+share/pvpgn/files/chathelp-war3-frFR.txt
+share/pvpgn/files/chathelp-war3-ruRU.txt
+share/pvpgn/files/chathelp-war3-zhCN.txt
+share/pvpgn/files/icons-WAR3.bni
+share/pvpgn/files/icons.bni
+share/pvpgn/files/icons_STAR.bni
+share/pvpgn/files/matchmaking-war3-default.dat
+share/pvpgn/files/matchmaking-war3-enUS.dat
+share/pvpgn/files/newaccount-default.txt
+share/pvpgn/files/newaccount-enUS.txt
+share/pvpgn/files/newbie.save
+share/pvpgn/files/termsofservice-default.txt
+share/pvpgn/files/termsofservice-enUS.txt
+share/pvpgn/files/tos-unicode_BRA.txt
+share/pvpgn/files/tos-unicode_CHI.txt
+share/pvpgn/files/tos-unicode_DEU.txt
+share/pvpgn/files/tos-unicode_ENU.txt
+share/pvpgn/files/tos-unicode_ESP.txt
+share/pvpgn/files/tos-unicode_FRA.txt
+share/pvpgn/files/tos-unicode_HAN.txt
+share/pvpgn/files/tos-unicode_ITA.txt
+share/pvpgn/files/tos-unicode_JPN.txt
+share/pvpgn/files/tos-unicode_KOR.txt
+share/pvpgn/files/tos-unicode_POL.txt
+share/pvpgn/files/tos-unicode_POR.txt
+share/pvpgn/files/tos-unicode_RUS.txt
+share/pvpgn/files/tos-unicode_SIN.txt
+share/pvpgn/files/tos-unicode_USA.txt
+share/pvpgn/files/tos.txt
+share/pvpgn/files/tos_BRA.txt
+share/pvpgn/files/tos_CHI.txt
+share/pvpgn/files/tos_DEU.txt
+share/pvpgn/files/tos_ENU.txt
+share/pvpgn/files/tos_ESP.txt
+share/pvpgn/files/tos_FRA.txt
+share/pvpgn/files/tos_HAN.txt
+share/pvpgn/files/tos_ITA.txt
+share/pvpgn/files/tos_JPN.txt
+share/pvpgn/files/tos_KOR.txt
+share/pvpgn/files/tos_POL.txt
+share/pvpgn/files/tos_POR.txt
+share/pvpgn/files/tos_RUS.txt
+share/pvpgn/files/tos_SIN.txt
+share/pvpgn/files/tos_USA.txt
+@dirrm share/pvpgn/bak/charinfo
+@dirrm share/pvpgn/bak/charsave
+@dirrm share/pvpgn/bak
+@dirrm share/pvpgn/bnmail
+@dirrm share/pvpgn/chanlogs
+@dirrm share/pvpgn/charinfo
+@dirrm share/pvpgn/charsave
+@dirrm share/pvpgn/clans
+@dirrm share/pvpgn/files
+@dirrm share/pvpgn/ladders
+@dirrm share/pvpgn/reports
+@dirrm share/pvpgn/status
+@dirrm share/pvpgn/teams
+@dirrm share/pvpgn/users
+@dirrm share/pvpgn/userscdb
+@unexec rmdir %D/share/pvpgn 2>/dev/null || true
+@dirrm etc/pvpgn
+%%PORTDOCS%%@dirrm %%DOCSDIR%%