aboutsummaryrefslogtreecommitdiff
path: root/games/wolfpack/files
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2004-10-11 02:40:00 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2004-10-11 02:40:00 +0000
commit7720ae935805cfe8d444ec154bc27e83241596c8 (patch)
treefc3357dbdf13e0ce96761ed99eae43a15ce224f6 /games/wolfpack/files
parentc990cdad14687fb6872f69fee07a20cc5214a3a4 (diff)
Notes
Diffstat (limited to 'games/wolfpack/files')
-rw-r--r--games/wolfpack/files/build.conf.tmpl4
-rw-r--r--games/wolfpack/files/patch-Make.sysdefs11
-rw-r--r--games/wolfpack/files/patch-Makefile31
-rw-r--r--games/wolfpack/files/patch-ad56
-rw-r--r--games/wolfpack/files/patch-ai10
-rw-r--r--games/wolfpack/files/patch-aj248
-rw-r--r--games/wolfpack/files/patch-src::doconfig::Makefile (renamed from games/wolfpack/files/patch-ah)0
-rw-r--r--games/wolfpack/files/patch-src::doconfig::doconfig.c61
-rw-r--r--games/wolfpack/files/patch-src::server::main.c127
-rw-r--r--games/wolfpack/files/wolfpack.sh25
10 files changed, 257 insertions, 316 deletions
diff --git a/games/wolfpack/files/build.conf.tmpl b/games/wolfpack/files/build.conf.tmpl
index aac00fe3d744..c5263487fad5 100644
--- a/games/wolfpack/files/build.conf.tmpl
+++ b/games/wolfpack/files/build.conf.tmpl
@@ -17,11 +17,11 @@ EMAIL = %%EMAIL%%
# Please enter the host name you will be running on:
# (For NT you can use "HOSTNAME = localhost" as this seems to be what it
# resolves to if you use 127.0.0.1 below)
-HOSTNAME = %%HOSTNAME%%
+HOSTNAME = localhost
# Please enter the ip address of the host you will be running on:
# (For NT you can use "IPADDR = 127.0.0.1")
-IPADDR = %%IPADDR%%
+IPADDR = 127.0.0.1
# Please enter the port you will be running on:
PORTNUM = 6665
diff --git a/games/wolfpack/files/patch-Make.sysdefs b/games/wolfpack/files/patch-Make.sysdefs
new file mode 100644
index 000000000000..d69f904ccbd1
--- /dev/null
+++ b/games/wolfpack/files/patch-Make.sysdefs
@@ -0,0 +1,11 @@
+--- Make.sysdefs.orig Tue Sep 7 23:52:39 2004
++++ Make.sysdefs Sun Oct 10 11:24:01 2004
+@@ -40,7 +40,7 @@
+ OSXMASTER = GLOBALCFLAGS="$(OSXCFLAGS)" GLOBALLFLAGS="$(OSXLFLAGS)"
+
+ FREEBSDRANLIB = /usr/bin/ranlib
+-FREEBSDCFLAGS = -g -fno-common -DRel4 -DFBSD -ansi -pedantic $(GCCWARNFLAGS)
++FREEBSDCFLAGS = -g -fno-common -DRel4 -DFBSD -ansi -pedantic $(GCCWARNFLAGS) $(CFLAGS)
+ FREEBSDLFLAGS =
+ FREEBSDMASTER = GLOBALCFLAGS="$(FREEBSDCFLAGS)" GLOBALLFLAGS="$(FREEBSDLFLAGS)" RANLIB="$(FREEBSDRANLIB)"
+
diff --git a/games/wolfpack/files/patch-Makefile b/games/wolfpack/files/patch-Makefile
new file mode 100644
index 000000000000..85555f08f4f5
--- /dev/null
+++ b/games/wolfpack/files/patch-Makefile
@@ -0,0 +1,31 @@
+--- Makefile.orig Tue Sep 7 23:52:39 2004
++++ Makefile Sun Oct 10 11:26:07 2004
+@@ -106,7 +106,6 @@
+ ($(MAKE) genlibs $(FREEBSDMASTER))
+ (cd src/lib/lwp; $(MAKE) $(FREEBSDMASTER))
+ ($(MAKE) binaries $(FREEBSDMASTER))
+- ($(MAKE) install)
+
+ hp:
+ @echo 'building a $(WORLDX) by $(WORLDY) server...'
+@@ -499,6 +498,20 @@
+ -(mv $(EMPDIR)/data/econfig $(EMPDIR)/data/econfig.bak)
+ ($(EMPDIR)/bin/pconfig > $(EMPDIR)/data/econfig)
+ -(mv $(EMPDIR)/data/econfig.bak $(EMPDIR)/data/econfig)
++ echo "# Wolfpack, 1996-2000" >$(EMPDIR)/data/auth
++ echo "#" >>$(EMPDIR)/data/auth
++ echo "# Empire Authorization File - Users listed will be allowed to log in as deities." >>$(EMPDIR)/data/auth
++ echo "#" >>$(EMPDIR)/data/auth
++ echo "# Format is:" >>$(EMPDIR)/data/auth
++ echo "# hostname that authorized user uses on a line" >>$(EMPDIR)/data/auth
++ echo "# username that authorized user uses on a line" >>$(EMPDIR)/data/auth
++ echo "#" >>$(EMPDIR)/data/auth
++ echo "# REMEMBER TO USE PAIRS OF LINES!" >>$(EMPDIR)/data/auth
++ echo "#" >>$(EMPDIR)/data/auth
++ echo "# Example:" >>$(EMPDIR)/data/auth
++ echo "#" >>$(EMPDIR)/data/auth
++ echo "localhost" >>$(EMPDIR)/data/auth
++ echo "root" >>$(EMPDIR)/data/auth
+
+ ntinstall:
+ cd src\client
diff --git a/games/wolfpack/files/patch-ad b/games/wolfpack/files/patch-ad
deleted file mode 100644
index c906a66512e7..000000000000
--- a/games/wolfpack/files/patch-ad
+++ /dev/null
@@ -1,56 +0,0 @@
---- src/doconfig/doconfig.c.orig Thu Jun 19 03:24:48 2003
-+++ src/doconfig/doconfig.c Wed Oct 22 16:02:33 2003
-@@ -90,12 +90,18 @@
- #endif
-
- int
--main()
-+main(int argc, char **argv)
- {
- char buf[256];
- char *cp;
- char *pathname;
-
-+ if (argc != 2) {
-+ printf("Bad usage");
-+ exit(-1);
-+ }
-+
-+
- if ((pathname = getcwd(NULL, 255)) == NULL) {
- printf("Can't get current path!\n");
- exit(-1);
-@@ -112,30 +118,16 @@
- cp = (char *)rindex(pathname, '\\');
- *cp = '\0';
- #endif
-+ if (!strcasecmp(argv[1], "config")) {
- printf("Configuring...\n");
- wrmakesrc(pathname);
- sprintf(buf, "%s/include/gamesdef.h", pathname);
- wrgamesdef(buf);
- sprintf(buf, "%s/src/client/ipglob.c", pathname);
- wripglob(buf);
--
-- if (access(EP, 0)) {
-- printf("making directory %s\n", EP);
-- if (mkdir(EP, 493)) {
-- printf("mkdir failed on %s, exiting.\n", EP);
-- exit(-1);
-- }
-- }
-- sprintf(buf, "%s/data", EP);
-- if (access(buf, 0)) {
-- printf("making directory %s\n", buf);
-- if (mkdir(buf, 493)) {
-- printf("mkdir failed on %s, exiting.\n", buf);
-- exit(-1);
-- }
-- }
-- sprintf(buf, "%s/data/auth", EP);
-+ sprintf(buf, "%s/data/auth", pathname);
- wrauth(buf);
-+ }
- exit(0);
- }
-
diff --git a/games/wolfpack/files/patch-ai b/games/wolfpack/files/patch-ai
deleted file mode 100644
index 6050bcc516ce..000000000000
--- a/games/wolfpack/files/patch-ai
+++ /dev/null
@@ -1,10 +0,0 @@
---- Make.sysdefs.orig Sun Dec 17 00:09:26 2000
-+++ Make.sysdefs Sun Dec 17 00:09:13 2000
-@@ -32,7 +32,7 @@
- #
-
- FREEBSDRANLIB = /usr/bin/ranlib
--FREEBSDCFLAGS = -DRel4 -DFBSD -ansi -pedantic #-Wall
-+FREEBSDCFLAGS = $(CFLAGS) -DRel4 -DFBSD -ansi -pedantic #-Wall
- FREEBSDLFLAGS =
- FREEBSDMASTER = GLOBALCFLAGS="$(FREEBSDCFLAGS)" GLOBALLFLAGS="$(FREEBSDLFLAGS)" RANLIB="$(FREEBSDRANLIB)"
diff --git a/games/wolfpack/files/patch-aj b/games/wolfpack/files/patch-aj
deleted file mode 100644
index 0f445e325e74..000000000000
--- a/games/wolfpack/files/patch-aj
+++ /dev/null
@@ -1,248 +0,0 @@
---- Makefile.orig Sat Aug 24 04:25:15 2002
-+++ Makefile Wed Oct 22 16:58:17 2003
-@@ -81,7 +81,6 @@
- ($(MAKE) genlibs $(ALPHAMASTER))
- (cd src/lib/lwp; $(MAKE) $(ALPHAMASTER))
- ($(MAKE) binaries $(ALPHAMASTER))
-- ($(MAKE) install)
-
- alpha-pthreads:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -89,7 +88,6 @@
- ($(MAKE) genlibs $(ALPHAPOSMASTER))
- (cd src/lib/lwp; $(MAKE) $(ALPHAPOSMASTER))
- ($(MAKE) binaries $(ALPHAPOSMASTER))
-- ($(MAKE) install)
-
- apollo:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -97,7 +95,6 @@
- ($(MAKE) genlibs $(APOLLOMASTER))
- (cd src/lib/lwp; $(MAKE) $(APOLLOMASTER))
- ($(MAKE) binaries $(APOLLOMASTER))
-- ($(MAKE) install)
-
- freebsd:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -105,7 +102,6 @@
- ($(MAKE) genlibs $(FREEBSDMASTER))
- (cd src/lib/lwp; $(MAKE) $(FREEBSDMASTER))
- ($(MAKE) binaries $(FREEBSDMASTER))
-- ($(MAKE) install)
-
- hp:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -113,7 +109,6 @@
- ($(MAKE) genlibs $(HPMASTER))
- (cd src/lib/lwp; $(MAKE) $(HPMASTER))
- ($(MAKE) binaries $(HPMASTER))
-- ($(MAKE) install)
-
- hpux:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -121,7 +116,6 @@
- ($(MAKE) genlibs $(HPUXMASTER))
- (cd src/lib/lwp; $(MAKE) $(HPUXMASTER))
- ($(MAKE) binaries $(HPUXMASTER) CLIENTLIBS="")
-- ($(MAKE) install)
-
- next:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -129,14 +123,12 @@
- ($(MAKE) genlibs $(NEXTMASTER))
- (cd src/lib/lwp; $(MAKE) $(NEXTMASTER))
- ($(MAKE) binaries $(NEXTMASTER))
-- ($(MAKE) install)
-
- osx:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
- (cd src/doconfig; $(MAKE) $(OSXMASTER))
- ($(MAKE) genlibs $(OSXMASTER))
- ($(MAKE) binaries TOBUILD=osx $(OSXMASTER) CLIENTLIBS="")
-- ($(MAKE) install)
-
- irix:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -144,7 +136,6 @@
- ($(MAKE) genlibs $(IRIXMASTER))
- (cd src/lib/lwp; $(MAKE) $(IRIXMASTER))
- ($(MAKE) binaries $(IRIXMASTER))
-- ($(MAKE) install)
-
- irix5:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -152,7 +143,6 @@
- ($(MAKE) genlibs $(IRIX5MASTER))
- (cd src/lib/lwp; $(MAKE) $(IRIX5MASTER))
- ($(MAKE) binaries $(IRIX5MASTER))
-- ($(MAKE) install)
-
- isi:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -160,7 +150,6 @@
- ($(MAKE) genlibs $(ISIMASTER))
- (cd src/lib/lwp; $(MAKE) $(ISIMASTER))
- ($(MAKE) binaries $(ISIMASTER))
-- ($(MAKE) install)
-
- linux:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -170,7 +159,6 @@
- ($(MAKE) genlibs $(LINUXMASTER))
- (cd src/lib/lwp; $(MAKE) $(LINUXMASTER))
- ($(MAKE) binaries $(LINUXMASTER))
-- ($(MAKE) install)
-
- linux-pthreads:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -178,7 +166,6 @@
- ($(MAKE) genlibs $(LINUXPTHMASTER))
- (cd src/lib/lwp; $(MAKE) $(LINUXPTHMASTER))
- ($(MAKE) binaries $(LINUXPTHMASTER))
-- ($(MAKE) install)
-
- mipsbsd:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -186,7 +173,6 @@
- ($(MAKE) genlibs $(MIPSBSDMASTER))
- (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSBSDMASTER))
- ($(MAKE) binaries $(MIPSBSDMASTER))
-- ($(MAKE) install)
-
- mach2.5:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -194,7 +180,6 @@
- ($(MAKE) genlibs $(MACH25MASTER))
- (cd src/lib/lwp; $(MAKE) mipsultrix $(MACH25MASTER))
- ($(MAKE) binaries $(MACH25MASTER))
-- ($(MAKE) install)
-
- mipsultrix:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -202,7 +187,6 @@
- ($(MAKE) genlibs $(MIPSULTMASTER))
- (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSULTMASTER))
- ($(MAKE) binaries $(MIPSULTMASTER))
-- ($(MAKE) install)
-
- mipsultrix.gcc:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -210,7 +194,6 @@
- ($(MAKE) genlibs $(MIPSULTGMASTER))
- (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSULTGMASTER))
- ($(MAKE) binaries $(MIPSULTGMASTER))
-- ($(MAKE) install)
-
- nt:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -222,7 +205,6 @@
- $(MAKE) nt $(NTMASTER)
- cd ../../..
- $(MAKE) ntbinaries TOBUILD=nt $(NTMASTER)
-- $(MAKE) ntinstall
-
- vaxultrix:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -230,7 +212,6 @@
- ($(MAKE) genlibs $(VAXULTMASTER))
- (cd src/lib/lwp; $(MAKE) $(VAXULTMASTER))
- ($(MAKE) binaries $(VAXULTMASTER))
-- ($(MAKE) install)
-
- aix:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -238,7 +219,6 @@
- ($(MAKE) genlibs $(AIXMASTER))
- (cd src/lib/lwp; $(MAKE) aix $(AIXMASTER))
- ($(MAKE) binaries $(AIXMASTER))
-- ($(MAKE) install)
-
- rtpc:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -246,7 +226,6 @@
- ($(MAKE) genlibs $(RTPCMASTER))
- (cd src/lib/lwp; $(MAKE) aix $(RTPCMASTER))
- ($(MAKE) binaries $(RTPCMASTER))
-- ($(MAKE) install)
-
- sequent:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -254,7 +233,6 @@
- ($(MAKE) genlibs $(SEQMASTER))
- (cd src/lib/lwp; $(MAKE) $(SEQMASTER))
- ($(MAKE) binaries $(SEQMASTER))
-- ($(MAKE) install)
-
- sequent.fpa:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -262,7 +240,6 @@
- ($(MAKE) genlibs $(SEQFPAMASTER))
- (cd src/lib/lwp; $(MAKE) $(SEQFPAMASTER))
- ($(MAKE) binaries $(SEQFPAMASTER))
-- ($(MAKE) install)
-
- solaris:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -270,7 +247,6 @@
- ($(MAKE) genlibs $(SOLMASTER))
- (cd src/lib/lwp; $(MAKE) $(SOLMASTER))
- ($(MAKE) binaries $(SOLMASTER))
-- ($(MAKE) install)
-
- sun3:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -278,7 +254,6 @@
- ($(MAKE) genlibs $(SUN3MASTER))
- (cd src/lib/lwp; $(MAKE) $(SUN3MASTER))
- ($(MAKE) binaries $(SUN3MASTER))
-- ($(MAKE) install)
-
- sun4:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -286,7 +261,6 @@
- ($(MAKE) genlibs $(SUN4MASTER))
- (cd src/lib/lwp; $(MAKE) $(SUN4MASTER))
- ($(MAKE) binaries $(SUN4MASTER))
-- ($(MAKE) install)
-
- sun4.opt:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -294,7 +268,6 @@
- ($(MAKE) genlibs $(SUN4OPTMASTER))
- (cd src/lib/lwp; $(MAKE) $(SUN4OPTMASTER))
- ($(MAKE) binaries $(SUN4OPTMASTER))
-- ($(MAKE) install)
-
- sun4.debug:
- @echo 'building a $(WORLDX) by $(WORLDY) server...'
-@@ -302,7 +275,6 @@
- ($(MAKE) genlibs $(SUN4DBGMASTER))
- (cd src/lib/lwp; $(MAKE) $(SUN4DBGMASTER))
- ($(MAKE) binaries $(SUN4DBGMASTER))
-- ($(MAKE) install)
-
- #
- # Generic stuff that is called from the architecture specific stuff.
-@@ -542,6 +514,22 @@
- -(mv $(EMPDIR)/data/econfig $(EMPDIR)/data/econfig.bak)
- ($(EMPDIR)/bin/pconfig > $(EMPDIR)/data/econfig)
- -(mv $(EMPDIR)/data/econfig.bak $(EMPDIR)/data/econfig)
-+ echo "# Wolfpack, 1996-2000" >$(EMPDIR)/data/auth
-+ echo "#" >>$(EMPDIR)/data/auth
-+ echo "# Empire Authorization File - Users listed will be allowed to log in as deities." >>$(EMPDIR)/data/auth
-+ echo "#" >>$(EMPDIR)/data/auth
-+ echo "# Format is:" >>$(EMPDIR)/data/auth
-+ echo "# hostname that authorized user uses on a line" >>$(EMPDIR)/data/auth
-+ echo "# username that authorized user uses on a line" >>$(EMPDIR)/data/auth
-+ echo "#" >>$(EMPDIR)/data/auth
-+ echo "# REMEMBER TO USE PAIRS OF LINES!" >>$(EMPDIR)/data/auth
-+ echo "#" >>$(EMPDIR)/data/auth
-+ echo "# Example:" >>$(EMPDIR)/data/auth
-+ echo "#" >>$(EMPDIR)/data/auth
-+ echo "localhost" >>$(EMPDIR)/data/auth
-+ echo "$(USERNAME)" >>$(EMPDIR)/data/auth
-+ echo "$(IPADDR)" >>$(EMPDIR)/data/auth
-+ echo "$(USERNAME)" >>$(EMPDIR)/data/auth
-
- ntinstall:
- -(mkdir bin)
diff --git a/games/wolfpack/files/patch-ah b/games/wolfpack/files/patch-src::doconfig::Makefile
index ea4eae8db8a8..ea4eae8db8a8 100644
--- a/games/wolfpack/files/patch-ah
+++ b/games/wolfpack/files/patch-src::doconfig::Makefile
diff --git a/games/wolfpack/files/patch-src::doconfig::doconfig.c b/games/wolfpack/files/patch-src::doconfig::doconfig.c
new file mode 100644
index 000000000000..0040f7027d8c
--- /dev/null
+++ b/games/wolfpack/files/patch-src::doconfig::doconfig.c
@@ -0,0 +1,61 @@
+--- src/doconfig/doconfig.c.orig Tue Sep 7 23:52:37 2004
++++ src/doconfig/doconfig.c Sun Oct 10 11:31:04 2004
+@@ -80,12 +80,17 @@
+ #endif
+
+ int
+-main(void)
++main(int argc, char **argv)
+ {
+ char buf[256];
+ char *cp;
+ char *pathname;
+
++ if (argc != 2) {
++ printf("Bad usage");
++ exit(-1);
++ }
++
+ if ((pathname = safe_getcwd()) == NULL) {
+ printf("Can't get current path!\n");
+ exit(-1);
+@@ -101,30 +106,16 @@
+ cp = strrchr(pathname, '\\');
+ *cp = '\0';
+ #endif
+- printf("Configuring...\n");
+- wrmakesrc(pathname);
+- sprintf(buf, "%s/include/gamesdef.h", pathname);
+- wrgamesdef(buf);
+- sprintf(buf, "%s/src/client/ipglob.c", pathname);
+- wripglob(buf);
+-
+- if (access(EP, 0)) {
+- printf("making directory %s\n", EP);
+- if (mkdir(EP, 0755)) {
+- printf("mkdir failed on %s, exiting.\n", EP);
+- exit(-1);
+- }
+- }
+- sprintf(buf, "%s/data", EP);
+- if (access(buf, 0)) {
+- printf("making directory %s\n", buf);
+- if (mkdir(buf, 0755)) {
+- printf("mkdir failed on %s, exiting.\n", buf);
+- exit(-1);
+- }
++ if (!strcasecmp(argv[1], "config")) {
++ printf("Configuring...\n");
++ wrmakesrc(pathname);
++ sprintf(buf, "%s/include/gamesdef.h", pathname);
++ wrgamesdef(buf);
++ sprintf(buf, "%s/src/client/ipglob.c", pathname);
++ wripglob(buf);
++ sprintf(buf, "%s/data/auth", pathname);
++ wrauth(buf);
+ }
+- sprintf(buf, "%s/data/auth", EP);
+- wrauth(buf);
+ exit(0);
+ }
+
diff --git a/games/wolfpack/files/patch-src::server::main.c b/games/wolfpack/files/patch-src::server::main.c
new file mode 100644
index 000000000000..2c8569506655
--- /dev/null
+++ b/games/wolfpack/files/patch-src::server::main.c
@@ -0,0 +1,127 @@
+--- src/server/main.c.orig Tue Sep 7 23:52:39 2004
++++ src/server/main.c Sun Oct 10 23:09:23 2004
+@@ -78,6 +78,7 @@
+
+ #if !defined(_WIN32)
+ static int mainpid = 0;
++static char *pidfile = NULL;
+ #endif
+
+ /*
+@@ -93,9 +94,10 @@
+ time_t now;
+ int flags = 0;
+ int op;
+- char *config_file = NULL;
++ char *config_file = NULL, pbuf[256];
+ extern char *optarg;
+ s_char tbuf[256];
++ FILE *pidf;
+ #ifdef POSIXSIGNALS
+ struct sigaction act;
+ #endif /* POSIXSIGNALS */
+@@ -105,11 +107,14 @@
+ #if !defined(_WIN32)
+ mainpid = getpid();
+
+- while ((op = getopt(argc, argv, "D:de:psh")) != EOF) {
++ while ((op = getopt(argc, argv, "D:P:de:psh")) != EOF) {
+ switch (op) {
+ case 'D':
+ datadir = optarg;
+ break;
++ case 'P':
++ pidfile = optarg;
++ break;
+ case 'd':
+ debug++;
+ break;
+@@ -124,7 +129,15 @@
+ break;
+ case 'h':
+ default:
+- printf("Usage: %s -d -p -s\n", argv[0]);
++ fprintf(stderr, "Usage: %s -D <datadir> -d -e <configfile> -p -s\n"
++ " -D Use the specified data dir\n"
++ " -P Write out the PID to the specified file\n"
++ " -d Increase debugging\n"
++ " -e Use the specified config file\n"
++ " -p Print thread debugging information\n"
++ " -s Print thread info, and do stack checks\n",
++ argv[0]);
++
+ return 0;
+ }
+ }
+@@ -134,13 +147,6 @@
+ config_file = tbuf;
+ }
+
+- logerror("------------------------------------------------------");
+-#if !defined(_WIN32)
+- logerror("Empire server (pid %d) started", getpid());
+-#else
+- logerror("Empire server started");
+-#endif /* _WIN32 */
+-
+ #if defined(_WIN32)
+ loc_NTInit();
+ #endif
+@@ -193,6 +199,32 @@
+ signal(SIGPIPE, SIG_IGN);
+ #endif /* POSIXSIGNALS */
+ #endif /* _WIN32 */
++
++#if !defined(_WIN32)
++ if (pidfile != NULL) {
++ if ((pidf = fopen(pidfile, "a")) == NULL) {
++ logerror("Unable to open PID file %s - %s", pidfile, strerror(errno));
++ exit(1);
++ } else {
++ op = snprintf(pbuf, sizeof(pbuf), "%d\n", getpid());
++ if (fwrite(pbuf, 1, op, pidf) != op) {
++ unlink(pidfile);
++ logerror("Unable to write PID file %s - %s", pidfile, strerror(errno));
++ exit(1);
++ }
++ fclose(pidf);
++
++ }
++ }
++#endif
++
++ logerror("------------------------------------------------------");
++#if !defined(_WIN32)
++ logerror("Empire server (pid %d) started", getpid());
++#else
++ logerror("Empire server started");
++#endif /* _WIN32 */
++
+ empth_init((char **)&player, flags);
+ time(&now);
+ #if !defined(_WIN32)
+@@ -312,9 +344,13 @@
+ signal(SIGFPE, SIG_DFL);
+ #endif /* POSIXSIGNALS */
+ #endif /* _WIN32 */
+- logerror("server received fatal signal %d", sig);
++logerror("server received fatal signal %d", sig);
+ log_last_commands();
+ close_files();
++
++ if (pidfile != NULL)
++ unlink(pidfile);
++
+ _exit(0);
+ }
+
+@@ -381,6 +417,9 @@
+ else
+ logerror("Server shutting down at Deity's request");
+ close_files();
++ if (pidfile != NULL)
++ unlink(pidfile);
++
+ _exit(0);
+ }
+
diff --git a/games/wolfpack/files/wolfpack.sh b/games/wolfpack/files/wolfpack.sh
new file mode 100644
index 000000000000..718c56209812
--- /dev/null
+++ b/games/wolfpack/files/wolfpack.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# Add the following line to /etc/rc.conf to enable wolfpack:
+#
+# wolfpack_enable="YES"
+#
+
+. %%RC_SUBR%%
+
+name=wolfpack
+rcvar=`set_rcvar`
+
+wolfdir="%%PREFIX%%/wolfpack"
+
+command="$wolfdir/bin/emp_server"
+pidfile="$wolfdir/data/wolfpack.pid"
+
+wolfpack_enable=${wolfpack_enable:-"NO"}
+wolfpack_user=${wolfpack_user:-"wolfpack"}
+wolfpack_flags=${wolfpack_flags:-"-P $pidfile"}
+
+load_rc_config $name
+
+run_rc_command "$1"
+