Vanilla Netrek Server Development Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[VANILLA-L:1161] Server problem
I apologize if this is a well known problem, but I was unable to
find an answer in any archive.
The real problem is that we have a perfectly running vanilla 2.7
server that we downloaded as a linux binary, but we wanted to
change the galaxy map a bit. We hacked up setgalaxy.c and
recompiled, but the new executable refuses to talk to the server
(shmget complains of an invalid parameter in openmem). If you
can suggest how to solve this problem (get shmget working or give
me another way to edit the map) that would be good.
The solution I tried was to recompile the server (both 2.7pl7 and
2.8pl0 under RedHat 5.2). I get a server that seems to run fine
and I can do the setgalaxy hack, BUT when a player dies and
restarts they immediately stop getting updates. Eventually the
player is ghostbusted. This happened even if we haven't used the
hacked setgalaxy.. so it's not that.
This happens with connections to every client we've tried
including: COW 2.02pl3 that we compiled ourselves for Irix, the
blessed COW 3.00pl0 for linux, and v2.1 of the Smith and Silvey
robots under Irix. It's absolutely repeatable. Given all that,
it seems likely that it's a server problem. Obviously the
vanilla server works very well elsewhere, so maybe it's a subtle
bug in configure wrt RedHat 5.2? Solving this problem would be
somewhat better in case we run up against another instance where
we'd like to modify the server.
I'm attaching my (largely unmodified) sysdef and my config.h.
Thanks in advance for any help!
Chris
/* config.h. Generated automatically by configure. */ /*
Netrek Configuration file - by Kurt Siegl
*/
#ifndef __CONFIG_H
#define __CONFIG_H
/*
################################################################################
Type of code (select in configure.in)
################################################################################
*/
/* #undef COW */
#define SERVER 1
/*
################################################################################
All The fun defines
################################################################################
*/
/*
Defines
Some possible values:
NOTE: Only NON-system specific defines belong here
*/
/*
------------------------------------------------------------
Common defines
------------------------------------------------------------
*/
/* RSA - New RSA reserved packets stuff */
/* #define RSA - Defined in the Makefile */
#define RCD /* RCD - Support Reciever variable
distresses */
/* PING - Ping statistics */
#define PING
/* SHORT_PACKETS - Reduce Network load */
#define SHORT_PACKETS
/* SPEEDUP - Misc improvements to make
the code faster */
#define SPEEDUP
/* FEATURE_PACKETS - feature packets */
#define FEATURE_PACKETS
/* DEBUG - Various useful debugging
stuff. No signal trap */
/* #undef DEBUG */
/*
------------------------------------------------------------
COW only defines
------------------------------------------------------------
*/
#ifdef COW
/* NBT - Nick trown's macro code */
#define NBT
/* MAXPLAYER - Maximal number of players + observers */
#define MAXPLAYER 36
/* CORRUPTED_PACKETS - prevents some seg faults but verbose output */
#define CORRUPTED_PACKETS
/* EXPIRE=# - number of days this version will work for */
#define EXPIRE 365
/* ARMY_SLIDER - some sort of funky status window thing */
#define ARMY_SLIDER
/* META - show active servers via metaserver - NBT */
#define META
/* PACKET_LOG - log packets to stdout (for bandwith measurement) */
#define PACKET_LOG
/* NEWMACRO - newmacro language */
#define NEWMACRO
/* SMARTMACRO - macro extension (needs NEWMACRO) */
#define SMARTMACRO
/* MULTILINE_MACROS - enables multiline macros */
#define MULTILINE_MACROS
/* XTREKRC_HELP - Hadley's xtrekrc window (stolden by KP) */
#define XTREKRC_HELP
/* TOOLS - Various tools, like shell escape, ... */
#define TOOLS
/* SOUND - support of external sound players */
#define SOUND
/* HOCKEY_LINES - allow showing of hockey lines */
#define HOCKEY_LINES
/* SMALL_SCREEN - for 800x600 resolution screens */
/* #define SMALL_SCREEN */
/* BEEPLITE - player and planets highlighting */
#define BEEPLITE
/* VSHIELD_BITMAPS - damage dependent shields (hull) */
#define VSHIELD_BITMAPS
#define VARY_HULL
/* WARP_DEAD - Use death detection
*/
/* #undef WARP_DEAD */
/* RCM - Receiver configurable Server messages */
#define RCM
/* RACE_COLORS - additional bitplane for race colors */
#define RACE_COLORS
#define PLIST1
#define PLIST
#define CONTROL_KEY
#define BRMH
#define DOC_WIN
#define RABBIT_EARS
#define ROTATERACE
/* client options */
#define IGNORE_SIGNALS_SEGV_BUS
#define NEW_DASHBOARD_2
#define MOUSE_AS_SHIFT
#define SHIFTED_MOUSE
#define TNG_FED_BITMAPS
#define MOTION_MOUSE
#define DIST_KEY_NAME
#endif /* COW */
/*
------------------------------------------------------------
SERVER only defines
------------------------------------------------------------
*/
#ifdef SERVER
/* AUTOMOTD - Updates your MOTD every
12 hours */
/* #undef AUTOMOTD */
/* CHAIN_REACTION - Don't give credit for
chain reactions */
#define CHAIN_REACTION
/* CHECKMESG - Check for god messages
and/or log all messages */
#define CHECKMESG
/* ERIKPLAGUE - Define for Erik's
Plagueing */
#define ERIKPLAGUE
/* FEATURES - Server/client
communication */
#define FEATURES
/* FULL_HOSTNAMES - Show entire player
location (domain) */
#define FULL_HOSTNAMES
/* INL_RESOURCES - Use INL resources */
#define INL_RESOURCES
/* INL_POP - Use INL style planet
popping scheme */
#define INL_POP
/* NO_PLANET_PLAGUE -Define for plagueing
(Don't use with
ERIKPLAGUE) */
/* #undef NO_PLANET_PLAGUE */
/* NO_UNWARRING_BOMBING -No 3rd space bombing */
#define NO_UNWARRING_BOMBING
/* SHOW_RSA - Display the client type
at login */
#define SHOW_RSA
/* RESETGALAXY - Reset the galaxy after
each conquer */
#define RESETGALAXY
/* RESTRICT_BOMB - No bombing out of t-mode */
#define RESTRICT_BOMB
/* SELF_RESET - Galaxy will reset if the
daemon dies */
#define SELF_RESET
/* SHORT_THRESHOLD - For Short Packets */
#define SHORT_THRESHOLD
/* SURRENDER_SHORT - Cut surrender time in
half */
/* #undef SURRENDER_SHORT */
/* TWO_RACE - Conquer only a 1/4 of the
galaxy for reset */
#define TWO_RACE
/* SENDFLAGS - Print flags set in MOTD */
/* #undef SENDFLAGS */
/* SENDPATCHLEVEL - Print release and
patch level in MOTD */
#define SENDPATCHLEVEL
/* CHECK_ENV - Check environment variable NTSERV_PATH for location
of system files */
/* #undef CHECK_ENV */
/* GPPRINT - Print which path is being
used to find the system
files */
/* #undef GPPRINT */
/* ONCHECK - support for trekon player
check */
#define ONCHECK
/* NBR - Leave in for server. It
tells programs like xsg
that it is this code. */
#define NBR
/* NEED_EXIT - For systems that need exit defined */
#define NEED_EXIT
/* SB_TRANSWARP - starbase transwarp */
#define SB_TRANSWARP
/* FLAT_BONUS - 3x bonus for killing last
army on a planet */
/* #undef FLAT_BONUS */
/* BASEPRACTICE - trainingserver support */
#define BASEPRACTICE
/* NEW_CREDIT - give 1 planet for
destroying, two planets
for taking. Be sure to
scale your player
database's planet counts
by a factor of three -
running newscores as
compiled with a -DCONVERT
_once_ will do this
scaling for you */
/* #undef NEW_CREDIT */
/* FASTER_SB_MAXUPDATES - allow 10 ups/sec for
SB's */
#define FASTER_SB_MAXUPDATES
/* SBFUEL_FIX - fix starbase re-fueling */
#define SBFUEL_FIX
/* NEW_ETEMP - Wreck's etemp fix */
/* #undef NEW_ETEMP */
/* DOGFIGHT - .sysdef interface
for dogfight robot */
/* CLUE2 - include harder clue
questions */
/* #undef CLUE2 */
#define DOGFIGHT
/* OBSERVERS - allow players to watch */
#define OBSERVERS
/* VOTING - allow voting mode */
#define VOTING
/* ALLOW_EJECT - define to allow players to
eject others */
/* VICIOUS_EJECT - free's the players slot
after ejection */
#ifdef VOTING
/* #undef ALLOW_EJECT */
#ifdef ALLOW_EJECT
#define VICIOUS_EJECT
#endif
#endif
/* NO_BRUTALITY - disallow fighting between
waiting players in the
dogfighting mode */
#ifdef DOGFIGHT
#define NO_BRUTALITY
#endif
/* AS_CLOAK - gives cloaked AS's more
randomness in their
apparent positions */
/* #undef AS_CLOAK */
/* GENO_COUNT - keep track of a player's
winning genocides, see
tools/conq_vert.c for a
description of how to use
this define. */
/* #undef GENO_COUNT */
#ifdef VOTING
/* AUTO_INL - starts up INL robot
by majority vote */
#define AUTO_INL
/* AUTO_PRACTICE - starts up PRACTICE robot
by majority vote */
#ifdef BASEPRACTICE
#define AUTO_PRACTICE
#endif
/* AUTO_HOCKEY - starts up HOCKEY robot
by majority vote */
#define AUTO_HOCKEY
/* AUTO_DOGFIGHT - starts up DOGFIGHT robot
by majority vote */
/* DOG_RANDOM - somewhat random player
placement in arena */
#ifdef DOGFIGHT
#define AUTO_DOGFIGHT
/* #define DOG_RANDOM */
#endif
/* TRIPLE_PLANET_MAYHEM - enable voting
for the three planet cool server idea
by felix@coop.com */
#define TRIPLE_PLANET_MAYHEM
/* Balance vote weightings; how important each
t-mode stat is for calculating a player value */
#define BALANCE_BOMBING 100
#define BALANCE_PLANET 100
#define BALANCE_DEFENSE 0
#define BALANCE_OFFENSE 100
#endif
/* MESSAGES_ALL_TIME - allow messaging during
freezes like twarp, refit, and war decl. */
/* #undef MESSAGES_ALL_TIME */
/* RANDOM_PRACTICE_ROBOT - Gives the practice
robot (Hoser) the option of comming out in
a random ship type. */
/* #undef RANDOM_PRACTICE_ROBOT */
/* Rolling statistics - makes the player stats
reflect the immediate playing history of each
player, for office games using BALANCE. Set
slots to 20 and mask to 32767 for 18 hours. */
/* #undef ROLLING_STATS */
/* #undef ROLLING_STATS_SLOTS */
/* #undef ROLLING_STATS_MASK */
#endif /* SERVER */
/*
##############################################################################
All system dependencies should be defined here
##############################################################################
*/
#define NEED_EXIT
/* Automatic generated system dependend defines */
/* #undef _ALL_SOURCES */
#define BSD_SIGNALS 1
/* #undef SYSV_SIGNALS */
/* #undef POSIX_SIGNALS */
/* #undef RESTARTABLE_SYSCALLS */
/* #undef NEED_MEMORY_H */
#define STDC_HEADERS 1 /* 13/01/94 omit hosed index [007] */
#define HAVE_WAIT3 1
/* #undef NEED_SYS_SELECT_H */
/* #undef NO_FD_SET */ /* Guess we suck badly if that happens :( */
#define HAVE_UNISTD_H 1
#define HAVE_SYS_TIMEB_H 1
/* #undef TM_IN_SYS_TIME */
/* #undef TIME_WITH_SYS_TIME */
#define NEED_SYS_TIME_H 1
/* #undef HAVE_SYS_PTYIO_H */
#define HAVE_SYS_FCNTL_H 1
#define HAVE_FCNTL_H 1
#define HAVE_CTYPE_H 1
/* #undef HAVE_MACHINE_ENDIAN_H */
#define HAVE_SYS_RESOURCE_H 1
#define HAVE_SYS_WAIT_H 1
#define HAVE_NETINET_IN_H 1
/* #undef NO_U_INT */
#define SIZEOF_LONG 4
#define HAVE_USLEEP 1
#define HAVE_SETSTATE 1
#define HAVE_RANDOM 1
#define HAVE_FTIME 1
/* #undef STRFTIME */
/* #undef HAVE_NINT */
/* #undef NEED_RINT_DEC */
#define RETSIGTYPE void
/* #undef pid_t */
/* #undef uid_t */
/* #undef gid_t */
/* #undef size_t */
/* #undef vfork */
#if (defined(sparc) && defined(sun))
#define vfork fork
#endif
/* #undef NO_PATH_MAX */
/* #undef inline */
#ifdef SERVER
#define LIBDIR "/usr/local/games/netrek"
/* System dependend programs */
#define UPTIME "/usr/bin/uptime"
#define NETSTAT "nice -20 /bin/netstat -a"
/* UDP connection timeout fix for SYSV machines */
#ifdef HAVE_UNISTD_H
#define UDP_FIX
#endif
#endif
/* System dependend macros */
/* SYSV signal handling */
#ifdef SYSV_SIGNALS
#include <signal.h>
#define SIGNAL(x,y) sigset(x,y)
#define PAUSE(x) sigpause(x)
#define SIGSETMASK(x) { }
#else
#define SIGNAL(x,y) signal(x,y)
#define PAUSE(x) pause()
#define SIGSETMASK(x) sigsetmask(x)
#endif
#ifdef POSIX_SIGNALS
#define HANDLE_SIG(s,h) signal(s,h)
#define setjmp(x) sigsetjmp(x,1)
#define longjmp(x,y) siglongjmp(x,y)
#else
#define HANDLE_SIG(s,h) {}
#endif
#ifdef STDC_HEADERS
#define INC_STRINGS <string.h>
#else
#define INC_STRINGS <strings.h>
#endif
#ifdef STDC_HEADERS
#define MCMP(x,y,z) memcmp(x,y,z)
#define MCOPY(b1,b2,l) memcpy(b2,b1,l)
#define MZERO(b1,l) memset(b1,0,l)
#define INDEX(s,c) strchr(s,c)
#define RINDEX(s,c) strrchr(s,c)
#else
#define INDEX(s,c) index(s,c)
#define RINDEX(s,c) rindex(s,c)
#define MCMP(x,y,z) bcmp(x,y,z)
#define MCOPY(b1,b2,l) bcopy(b1,b2,l)
#define MZERO(b1,l) bzero(b1,l)
#endif
#ifdef SPEEDUP /* strncpy is terrible slow */
#ifdef NEED_MEMORY_H
#include <memory.h>
#else
#include <string.h>
#endif
/* #define STRNCPY(x,y,z) memcpy(x,y,z) */
#define STRNCPY(x,y,z) memccpy(x,y,'\0',z)
#else
#define STRNCPY(x,y,z) strncpy(x,y,z)
#endif
#ifndef HAVE_WAIT3
#define WAIT3(x,y,z) waitpid(-1, x, y )
#else
#define WAIT3(x,y,z) wait3(x, y, z)
#endif
#if (defined(HAVE_RANDOM) && defined(HAVE_SETSTATE)) || !defined(HAVE_RANDOM)
#define RANDOM() random()
#define SRANDOM(x) srandom(x)
#else
#define RANDOM() rrandom()
#define SRANDOM(x) ssrandom(x)
extern void ssrandom ();
extern long rrandom ();
#endif
#if !defined(HAVE_RANDOM)
extern void srandom ();
extern long random ();
#endif
#if (SIZEOF_LONG == 8)
#define _64BIT
#define LONG int
#define U_LONG u_int
#else
#define LONG long
#define U_LONG u_long
#endif
/* Some Server specific programs */
#ifdef SERVER
#include <sys/types.h>
/* SYSV Types */
#ifdef NO_U_INT
#define u_char unchar
#define u_int uint
#define u_long ulong
#define u_short ushort
#endif
#ifdef HAVE_UNISTD_H
#if defined (hpux) || defined(__osf__)
#define SETPGRP() setsid()
#else
#if defined (linux) || defined(sgi) || (defined(sparc) && defined(sun))
#define SETPGRP() setpgrp()
#else
#define SETPGRP() setpgrp (0, 0)
#endif
#endif
#else
#define SETPGRP() setpgrp (0, getpid())
#endif
#ifdef _SEQUENT_
#define PERMS O_RDWR | O_NOCTTY
#else
#define PERMS O_RDWR
#endif
#if defined(HAVE_UNISTD_H) && defined(TIOCTTY)
#define IOCTL(i) \
int zero = 0; \
(void) ioctl (i, TIOCTTY, &zero);
#else
#if defined(TIOCNOTTY)
#define IOCTL(i) \
(void) ioctl (i, TIOCNOTTY, (char *) 0);
#else
#define IOCTL(i)
#endif
#endif
#define DETACH {\
int i; \
if ((i = open("/dev/tty", PERMS, 0)) >=0) { \
IOCTL(i) \
(void) close (i); \
} \
SETPGRP(); \
}
#ifdef HAVE_USLEEP
#define USLEEP(x) usleep(x)
#else
#define USLEEP(x) microsleep(x) /* from util.c */
#endif
#if defined (SunOS) /* this core dumps with SIGSEGV on a sparc-10 */
#define LONGJMP(x,y) return;
#else
#define LONGJMP(x,y) longjmp(x,y);
#endif
#if defined (hpux)
#define PCLOSE(x) fclose(x)
#else
#define PCLOSE(x) pclose(x)
#endif
#if defined (__sequent__)
#define WAIT_TYPE union wait
#define WSTOPSIG(foo) 0
#else
#define WAIT_TYPE int
#endif
#endif /* SERVER programs */
/* System dependend Include files */
#ifdef SERVER
#define NULLFILE "../null"
#else
#define NULLFILE "null"
#endif
#ifdef NEED_SYS_SELECT_H
#define INC_SYS_SELECT <sys/select.h>
#ifdef SERVER
/* fd_set is used in data.h of the server */
#include <sys/select.h>
#endif
#else
#define INC_SYS_SELECT NULLFILE
#endif
#ifdef HAVE_UNISTD_H
#define INC_UNISTD <unistd.h>
#else
#define INC_UNISTD NULLFILE
#endif
#ifdef HAVE_SYS_FCNTL_H
#define INC_SYS_FCNTL <sys/fcntl.h>
#else
#define INC_SYS_FCNTL NULLFILE
#endif
#ifndef VMS
#ifdef HAVE_FCNTL_H
#define INC_FCNTL <fcntl.h>
#else
#define INC_FCNTL NULLFILE
#endif
#else
#define INC_FCNTL <file.h>
#endif
/* Some systems don't include <sys/time.h> in <time.h> */
#if defined(TM_IN_SYS_TIME) || defined(NEED_SYS_TIME_H)
#define INC_SYS_TIME <sys/time.h>
#else
#define INC_SYS_TIME NULLFILE
#endif
#ifdef HAVE_SYS_PTYIO_H
#define INC_SYS_PTYIO <sys/ptyio.h>
#else
#define INC_SYS_PTYIO NULLFILE
#endif
#ifdef HAVE_CTYPE_H
#define INC_CTYPE <ctype.h>
#else
#define INC_CTYPE NULLFILE
#endif
#ifdef HAVE_MACHINE_ENDIAN_H
#define INC_MACHINE_ENDIAN <machine/endian.h>
#else
#define INC_MACHINE_ENDIAN NULLFILE
#endif
#ifdef HAVE_SYS_RESOURCE_H
#define INC_SYS_RESOURCE <sys/resource.h>
#else
#define INC_SYS_RESOURCE NULLFILE
#endif
#ifdef HAVE_SYS_WAIT_H
#define INC_SYS_WAIT <sys/wait.h>
#else
#define INC_SYS_WAIT NULLFILE
#endif
#if HAVE_NETINET_IN_H
#define INC_NETINET_IN <netinet/in.h>
#else
#define INC_NETINET_IN NULLFILE
#endif
/* Replace outdated ftime with gettimeofday */
#if defined(HAVE_SYS_TIMEB_H) && defined(HAVE_FTIME)
#define INC_SYS_TIMEB <sys/timeb.h>
#else
#define NOTIMEB
#define INC_SYS_TIMEB <sys/time.h>
#endif
#ifdef NO_PATH_MAX
#define PATH_MAX 255
#define INC_LIMITS NULLFILE
#else
#define INC_LIMITS <limits.h>
#endif
/* Unchecked machine dependencies */
#ifdef linux
/* #define SIGBUS SIGUNUSED Not required anymore */
#define SIGSYS SIGUSR2
#endif
#ifdef linux
#define SHMFLAG sizeof(struct memory)
#else
#define SHMFLAG 0
#endif
#ifdef sun3
#define INC_STDLIB NULLFILE
#else
#define INC_STDLIB <stdlib.h>
#endif
#ifndef sun4
#ifdef HAVE_NINT
#define INC_MATH <math.h>
#else
#ifdef NEED_RINT_DEC
extern double rint(double);
#define INC_MATH NULLFILE
#else
#define INC_MATH <math.h>
#endif
#define nint(x) ((int) rint(x))
#endif
#endif
#ifdef VMS
#define R_OK 04
typedef unsigned short int ushort;
#define Sin sinetable
#define Cos cosinetable
#define strncasecmp strncmp
#include <socket.h> /* for struct timeval */
#include "vmsutils.h" /* for typedef fd_set & FD_ macros */
#endif
/*
Some systems, most notably SunOS 4.1.3, don't include function definitions
in the libraries. This results in some warning we don't want.
This header defines the type for all these functions.
*/
#ifdef sun4
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
int close(int);
int connect(int, struct sockaddr *, int);
int fprintf(FILE *, const char *, ...);
int fputs(char *, FILE *);
char *memccpy(char *, char *, int, int);
int perror(char *);
int socket(int, int, int);
int sscanf(char *, char *, ...);
char *strdup(char *arg);
char _filbuf(FILE *);
int _flsbuf(unsigned char, FILE *);
#endif /* defined sun4 */
#endif /* __CONFIG_H */
# A Sample sysdef file
#
# Do clue checks (0 = no, 1 = yes)
CLUE=0
#
# Do not cluecheck this rank or higher
CLUERANK=4
#
# Send in iggy (ie hunterkillers) (0 = no, 1 = yes)
HUNTERKILLER=0
#
# Reset galaxy if everyone leaves... (0 = no, 1 = yes)?
RESETGALAXY=0
#
# Log all messages (0 = no, 1 = yes)
LOGALL=0
#
# Log messages to god (0 = no, 1 = yes)
LOGGOD=1
#
# Check messages for configuration... (0 = no, 1 = yes)?
CHECKMESG=1
#
# Log all warnings as messages (0 = no, 1 = yes)
EVENTLOG=0
#
# Auto-Doosh messages (0 = no, 1 = yes)
DOOSHER=0
#
# Show why dead messages (0 = no, 1 = yes)?
WHYMESS=1
#
# Show sysdef on galaxy map upon startup (0 = no, 1 = yes)
SHOWSYSDEF=1
#
# make planets move around (0 = no, 1 = yes)
PLANET_MOVE=0
#
# number of players per team for t-mode
TOURN=2
#
# Which ship types are allowed
SHIPS=SC,BB,DD,AS,CA,SB
#
# Which additional weapon systems are allowed
WEAPONS=PLASMA,TRACTOR
#
# Number of kills for plasma torpedos
PLKILLS=2
#
# Rank needed to take out starbase (3 = Commander)
SBRANK=3
#
# Use Chaos mode (0 = no, 1 = yes)
CHAOS=0
#
# Use "wrap around" style galaxy (0 = no, 1 = yes)
WRAP_GALAXY=0
#
# Use "Ping-Pong" plasma mode (0 = no, 1 = yes)
PINGPONG_PLASMA=0
#
# Maximum number of Starbases allowed in Chaos mode
MAX_CHAOS_BASES=2
#
# Use topgun mode (0 = no, 1 = yes)
TOPGUN=0
#
# Use new turn mods (0 = no, 1 = yes)
NEWTURN=0
#
# Use vector torps (0 = no, 1 = yes)
VECTOR=0
#
# Don't show far players in t-mode (0 = no, 1 = yes)
HIDDEN=1
#
# Check system load every 10 mins.
LOADCHECK=0
#
# If load gets above this shut down server (Not sure if this still works)
MAXLOAD=100.0
#
# The numbers of the home planets
PLANETS=00,10,20,30
#
# Use binary confirmation (0 = no, 1 = RSA, 2 = RSA and reserved.c)
CONFIRM=0
#
# For use with config.h's NEWMASK define. restrict diagnol games.
NODIAG=1
#
# Have the server check for t-mode scummers.
CHECKSCUM=1
#
# Allow UDP connections (0 = no, 1 = yes)
UDP=1
#
# Number of planets to start surrender counter
SURRSTART=1
#
# Frequency of pings in seconds
PING_FREQ=2
#
# Allow ghostbusting based on ping stats
PING_GHOSTBUST=1
#
# How many pings before we ghostbust the client
PING_GHOSTBUST_INTERVAL=60
#
# Set the max. # of armies a planet can have out of t-mode.
MAX_POP=70
#
# The amount of error messages the server will send to ERROR file. (1-3)
ERROR_LEVEL=2
#
# The amount of armies the planets will be created with.
START_ARMIES=30
#
# Turn on transwarp capabilities. (1 = on, 0 = off)
TRANSWARP=0
#
# How fast transwarp is.
WARPSPEED=60
#
# Special Motd for Robots
#MOTD=.motd_basep
#
# Basepractice Server
BASEPRACTICE=0
#
#ROBOTHOST=myrtle
#
# Hockey Server
HOCKEY=0
#
#########################################
INL=0
#
#########################################
DOGFIGHT=0
#
# Dog-fighter: Number of the contestants needed before starting
CONTESTSIZE=4
#
# Dog-Fighter: Number of matches per contest
NUMMATCH=10
#
# Dog-Fighter: Save the player stats? (not implemented yet..)
SAVE_DOG_STAT=1
#
#########################################
# BigBang Ships: Make SHIP=1 if you want bigbang style ships.
#
SHIP=0
DD PLASMADAMAGE 85
DD MAXFUEL 7500
BB TORPCOST 320
BB PHASERCOST 945
! Warpcost should ONLY be defined with SB_TRANSWARP define && TRANSWARP
SB WARPCOST 20
! Recharge should ONLY be defined with SB_TRANSWARP define && TRANSWARP
SB RECHARGE 45
! MaxWpnTemp should ONLY be defined when non-chaos mode.
SB MAXWPNTEMP 1500
END
#
#########################################
# NewShip Ships: Make SHIP=1 if you want NEWSHIP ships.
#
SHIP=0
BB PHASERCOST 945
AS TORPCOST 210
! MaxWpnTemp should ONLY be defined when non-chaos mode.
SB MAXWPNTEMP 1500
END
#########################################
# Hockey Ships: Make SHIP=1 if you want hockey ships.
#
SHIP=0
SC TRACTSTR 1000
SC TRACTRNG .56
DD TRACTSTR 1250
DD TRACTRNG .72
BB TRACTSTR 1850
BB TRACTRNG .96
AS TRACTSTR 1850
AS TRACTRNG .96
SB TRACTSTR 4000
SB TRACTRNG 1.2
CA TRACTSTR 1500
CA TRACTRNG .8
?? TRACTSTR 16383
GA TRACTSTR 1500
GA TRACTRNG .8
END
# End of hockey ships section.