#	ShipWars Server Configuration File
#
#	Master configuration information for SWServ, the ShipWars Universe
#	Server.
#
#	Each "universe" should have its own configuration file which
#	specifies all the parameters unique to that universe. When
#	running SWserv, this configuration file should be specified in
#	the command line as follows:
#
#	# swserv default.ini
#
#	Where default.init is this configuration file.
#
#	You may run multiple processes of swserv, but only one process
#	per universe.
#

#   Port number:
#
#	Standard port(s) for players connecting to this universe. Make
#	sure this port number does not conflict with other servers
#	(including other processes of swserv) that are using the port
#	number(s).
#
#	You may specify more than one port number, each one you specify
#	will create a new listening port for standard incoming connections.
#
#ListeningPort = 8472
ListeningPort = 1701


#   AUX Stats Port number:
#
#       AUX stats monitoring port number for monitoring clients that want
#	to get stats about this universe.
#
#	If you do not want any AUX monitoring ports, then do not
#	specify any ports here. Only players with proper security
#	levels may get additional AUX stats information (such as log
#	messages). Guests may only get whatever you allow Guests to
#	have (more Guest configuration parameters farther below).
#
#	You may specify more than one port.
#
#AUXStatsListeningPort = 8473
AUXStatsListeningPort = 1702



# #######################################################################
#
#                           Directories
#

#   Server Toplevel Directory:
#
#	This is the main toplevel directory for the ShipWars server.
#
ToplevelDir = /home/learfox


#   Binaries Directory:
#
#	SWServ itself and related utility programs go here.
#
BinDir = bin


#   Database Directory:
#
#	Universe files, object create script files, and object parameter
#	model files go here.
#
DBDir = db  


#   Etc Directory:
#
#	SWServ configuration files go here.
#
EtcDir = etc


#   Logs Directory:
#
#	Logs files are written here.
#
#LogsDir = /var/log
LogsDir = logs


#   Plugins Directory:
#
#	Plugins go here.
#
PluginsDir = plugins


#   Public HTML Directory:
#
#	Universe statistic export files are written to here for
#	web based viewing. They include events and scores files.
#
PublicHTMLDir = public_html


#   Tempory Files Directory:
#
#	Tempory files will be written here.
#
#TmpDir = /tmp
TmpDir = tmp



# ####################################################################### 
#
#                                 Files
#

#   Monitor
#
#	Uncomment this if you want the monitor to be automatically
#	runned at start up of swserv.
#
#	The monitor program is located in the ServerBinDir directory.
#
#Monitor = monitor

#   Universe files:
#
#	These files `are' this universe, they contain all the objects
#	and their values which make this universe.
#
#	UnvIn is the input universe file, it is read upon startup
#	and on explicit manual reloading of the universe (see server
#	command `memory' for more info on this feature).
#
#	UnvOut is the output universe file, it is saved periodically
#	at an interval specified in IntervalUnvSave.
#
#	These files must be in the ServerDBDir directory and the parameter
#	specifing these values must come after ServerDBDir.
#
UnvIn = mtrek.unv
UnvOut = mtrek_out.unv


#   Object Parameters Models File:
#
#	These files must be in the ServerDBDir directory and the parameter
#       specifing these values must come after ServerDBDir.
#
OPMFile = swtrek.opm


#   Object Create Scripts File:
#
#	This file contains the create scripts for various objects.
#	OPMs are refferanced in this file and must exist in OPMFile.
#
OCSFile = default.ocs


#   Log File:
#
LogFile = server.log


#   Process ID File:
#
PIDFile = server.pid


#   Connections List HTML export file:
#
#	Players currently connected are periodically written to this
#	file. This file is written at an interval specified in
#	IntervalStatisticsExport.
#
#	This file is not in HTML format, it is in plain text. It is
#	intended for CGI scripts (that you write or get from a third
#	party) to parse and display them.
#
#	Comment out this line if you don't want it exported.
#
ConListExportFile = server.conlist


#   Scores HTML export file:
#
#	Each player's scores are periodically written to this
#	file. This file is written at an interval specified in
#	IntervalStatisticsExport.
#
#	This file is not in HTML format, it is in plain text. It is
#	intended for CGI scripts (that you write or get from a third
#	party) to parse and display them.
#
#	Comment out this line if you don't want it exported.
#
ScoresExportFile = server.scores


#   Events HTML export file:
#
#	A list of recent events are logged to this file.
#
#	This file is not in HTML format, it is in plain text. It is
#	intended for CGI scripts (that you write or get from a third
#	party) to parse and display them.
#
#	Comment out this line if you don't want it exported.
#
EventsExportFile = s.events



# #######################################################################
#
#                          System Parameters
#

#   CPU Priority:
#
#	Set this depending on what type of CPU you have, in most cases
#	you can set it to highest even on an old i486.
#
#	highest - usleep(0)
#	high	- usleep(1000)
#	medium	- usleep(8000)
#	low	- usleep(16000)
#
CPUPriority = highest

#   Object Values Update Interval:
#
#	Interval for sending standard object values (not positions)
#	to all connections.
#
#	Units are in milliseconds.
#
IntervalObjectValues = 4000

#   Weapon Values Update Interval:
#
#	Interval for sending values of weapons (on vessels, not
#	weapon objects) to all connections.
#
#	Units are in milliseconds.
#
IntervalWeaponValues = 10000


#   AUX Stats Update Interval:
#
#	Interval for sending AUX stats to monitoring connections
#	on port number specified in AUXStatsListeningPort.
#
#	AUX stats are sent to monitoring clients, the stats include
#	how many players and guests connected, the number of objects
#	in the universe, and various other messages depending on
#	the security level of each monitoring connection.
#
#	Units are in milliseconds.
#
IntervalAUXStats = 5000


#   OS Stats Fetching Interval:
#
#	Interval for fetching stats from the OS (such as disk space
#	left and free memory).
#
#	Units are in seconds.
#
IntervalOSStats = 600

#   Database Automatic Save Interval:
#
#	Interval for automatic saving of the universe database
#	to the file specified in DBOut.
#
#	Units are in seconds.
#
IntervalUnvSave = 3600

#   Stats Export To File Interval:
#
#	Interval for exporting universe statisitics to file, such
#	as scores and connections.
#
#	Do not confuse this with IntervalAUXStats which
#	specifies the interval for sending stats to monitoring
#	connections.
#
#	Units are in seconds.
#
IntervalStatsExportFile = 600


#   Welcome message:
#
#	This message is sent right after a successful login.  The
#	following tokens can be used in the message:
#
#	Token		Replace by
#
#	%name		Connection's object name.
#	%title		Universe's name.
#
MessageWelcome = Welcome to %title, %name.


#   Leave message:
#
#	This message is sent when the connection disconnects. The
#	following tokens can be used in the message:
#
#	Token           Replace by
#
#	%name		Connection's object name (if available)
#	%title		Universe's name.
#
#	Note: if connection did not log in, %name will be
#	"*unknown*".
#
MessageLeave = Disconnected from %title.


#   Maximum connections:
#
#       Maximum number of connections that are logged in
#	(includes guest and registered user connections).
#
MaxConnections = 40


#   Allow guests to login?:
#
AllowGuestLogins = yes


#   Allow guests to signup?:
#
AllowGuestSignup = yes


#   No guests allowed message:
#
#	This message is sent when a connection attempts to login
#	as a guest but AllowGuestLogins is set to no. The following
#	tokens can be used in the message:
#
#	Token           Replace by
#
#	%name           Connection's object name.
#	%title          Universe's name.
#
MessageNoGuests = %name connections are not permitted in %title.


#   Guest login name:
#
#	Login name for guest connections.
#
GuestLoginName = Guest


#   Maximum guest connections:
#
#	You probably will want to increase this value if your
#	running a server with a high bandwidth and expect lots
#	of guest logins. A low default value is set to keep
#	servers running through modem connections safe from too
#	many guest connections.
#
MaxGuests = 5


#   Maximum AUX stats connections:
#
#	Set this to 0 if you do not want to allow AUX Stats.
#
#	Do NOT comment out this line, commenting out this line will
#	set it to its default value!
#
MaxAUXStatsConnections = 3


#   Maximum Recycled Objects:
#
#	Set this to 0 if you do not want recycled objects to be saved
#	and be recoverable.
#
RecycledObjectsMax = 30


#   Connect notify:
#
#	Notify all connections of a connect or disconnect
#	(if successfully logged in) and who it was.
#
ConnectNotify = yes


#   Login timeout:
#
#	Login expires after this many seconds from the moment the
#	new connection is accept()ed.
#
LoginTimeout = 45


#   Maximum failed logins:
#
#	Connection is disconnected after this many failed
#	login attempts. Normally you want to set this to 1 since
#	clients often retry logins with the same name/password
#	and manual logins are almost unheard of.
#
MaxFailedLogins = 1

#   Incorrent login response message:
#
MessageWrongLogin = Either that player does not exist, or has a different password.


#   Force one connection per object:
#
#	This prevents multiple connections per object, which is
#	a violation of most universe rules. You almost always will
#	want to set this to yes.
#
SingleConnection = yes


#   Send Star Chart:
#
#	If set to yes, then sends complete Star Chart to client on
#	initial connect and on refreshes.
#
SendStarChart = yes


#   Cease fire:
#
#	Prevents everyone from firing/using weapons.
#
CeaseFire = no

#   Hide disconneted players at a home objects:
#
#	Normally you would want this set to yes to hide player objects
#	not connected at HOME objects which harbour many player objects,
#	thus reducing cpu and network load.
#
HidePlayersHome = yes

#   Homes destroyable:
#
#	Allows objects of type HOME to be destroyable. You probably
#	do not want this in a general sense since HOME objects do
#	take quite some time to rebuilt if they are destroyed.
#
#	You probably would only want to set this to yes if you are
#	setting up a universe for a repeated mission or campaign in
#	which the goal is to destroy a HOME object.
#
HomesDestroyable = no

#   Killer gets credits of destroyed object:
#
#	Set this to yes if you want to owner of the weapon object
#	that destroyed another object to get all the credits of
#	that object. This is good for help keeping a closed economy
#	where when an object is destroyed, the credits that it has
#	is never lost.
#
KillerGetsCredits = yes

#   Report weapon objects that get destroyed:
#
#	Set this to yes if you want to notify when a weapon object
#	gets destroyed (by another weapon object). Useful for
#	universes that involve intercepting long range cruise
#	weapons but annoying in close range battles.
#
ReportDestroyedWeapons = no

#   Respawn players:
#
#	Respawn players instead of recycling them when they are
#	destroyed.
#
RespawnPlayers = yes


#   Hit player object bonus coefficient:
#
#	When you give damage to a player object, the unit damage given
#	is multiplied by this value and then given to yourself as
#	credits. For example: if this value is set to 0.25, then
#	inflicting 100 units of damage on a player object will give
#	yourself 25 credits.
#
#	If you have a closed economy system, then you definatly will
#	want to set this value to 0.
#
HitPlayerBonus = 0.25


#   Movement Limit Tolorance coefficient:
#
#	1.0 is no tolorance, 2.0 is double the tolorance. 
#
#MovementLimitTolorance = 2.0

#   Use Server AI:
#
#	Use the server's default AI simulation routine.
#
#	If you are using plugins to simulate AI behavior or want to
#	temporarly make AIs inactive then set this to no.
#
UseServerAI = Yes


# #######################################################################
#
#                               Logging
#

#   Log general messages:
#
#	Generalized messages (not errors).
#
LogGeneral = yes

#   Log events:
#
#	Events include weapons fires, trading, and other things that
#	happen from objects doing stuff.
#
LogEvents = yes

#   Log net events:
#
#	Things related to network data exchanging.
#
LogNet = yes

#   Log errors:
#
#	Errors of all types.
#
LogErrors = no


# #######################################################################
#
#                              Plugins
#
#	Plugins are not available on all platforms.
#	
#	If you want plugin loading errors to be logged, then make sure
#	that LogErrors is set to yes.
#
#	If value for Path is not specified as an absolute path then
#	the plugin will be searched for in the PluginsDir directory.

#BeginPlugin
#    Path = myplugin
#    Flags = None
#    Arguments = -autostart
#EndPlugin



# #######################################################################
#
#                            Banned Sites
#
#	New connections of any type will be rejected if their
#	address matches one specified here.
# 

BeginSiteBan
    Address = 216.55.4.95
    Restrict = 0
EndSiteBan
BeginSiteBan
    Address = 129.15.2.121
    Restrict = 0
EndSiteBan
BeginSiteBan
    Address = 208.166.75.251
    Restrict = 0
EndSiteBan
BeginSiteBan
    Address = 208.166.75.252
    Restrict = 0
EndSiteBan
BeginSiteBan
    Address = 194.25.241.50
    Restrict = 0
EndSiteBan
BeginSiteBan
    Address = 60.211.40.133
    Restrict = 0
EndSiteBan
BeginSiteBan
    Address = 160.158.36.52
    Restrict = 0
EndSiteBan
BeginSiteBan
    Address = 194.25.241.40
    Restrict = 0
EndSiteBan
BeginSiteBan
    Address = 209.224.112.200
    Restrict = 0
EndSiteBan

