aboutsummaryrefslogtreecommitdiff
path: root/data/masterserver-config.pl
diff options
context:
space:
mode:
authorDarkelarious <darkelarious@333networks.com>2017-09-25 22:41:59 +0200
committerDarkelarious <darkelarious@333networks.com>2017-09-25 22:41:59 +0200
commit18fc4c931e75d8de804c601b46dc8c8b339db3d9 (patch)
tree58a78c8c7841f649fa2e98ddd94456a55951dfa7 /data/masterserver-config.pl
parentc06322da38b4cb76b2036af1a5448083adb8ff20 (diff)
downloadMasterServer-Perl-18fc4c931e75d8de804c601b46dc8c8b339db3d9.tar.gz
MasterServer-Perl-18fc4c931e75d8de804c601b46dc8c8b339db3d9.zip
game statistics for all servers, numerous small fixes
Diffstat (limited to 'data/masterserver-config.pl')
-rwxr-xr-xdata/masterserver-config.pl196
1 files changed, 78 insertions, 118 deletions
diff --git a/data/masterserver-config.pl b/data/masterserver-config.pl
index 19d166b..51306a6 100755
--- a/data/masterserver-config.pl
+++ b/data/masterserver-config.pl
@@ -1,41 +1,45 @@
package MasterServer;
-
-#
-# Last update: 22 Aug 2017
-#
-
our (%S, $ROOT);
-our %S = (
- # preserve root path
- root => $ROOT,
-
################################################################################
-# Masterserver HOST information #
+# Masterserver configuration #
+# #
+# Review the following settings and edit the values to fit your situation. #
# #
-# Please fill in your contact details here, for two-way synchronization and #
-# for your users to be able to contact you. #
+# Please fill in your contact details correctly, as this is shown publicly and #
+# on other masterservers. See README for more details. #
# #
# Values may not contain backslashes and quotes: no \ or \\, nor ' and ", #
# unless you know exactly what you're doing! #
# #
+# Supported Games. #
+# The masterserver requires ciphers and gamenames configured in the database #
+# to function. #
+require "$ROOT/data/supportedgames.pl"; #
+# Note that adding a game does not necessarily mean that suddenly the protocol #
+# will be supported. The above file only provides the necessary parameters. #
+# #
+# Last configuration update: 25 Sep 2017 #
+# #
################################################################################
- # our public display name (shows in "online masterservers" on 333networks.com)
- masterserver_hostname => "master.333networks.com (333networks MasterServer Template)",
+our %S = (
+ %S, root => $ROOT,
+
+# Masterserver HOST information
+# Please fill in your contact details correctly, as this is shown publicly
+# and on other masterservers.
+
+ # masterserver address (optional: nickname or clan)
+ masterserver_hostname => "master.example.com (My MasterServer Name)",
- # contact details (shows in TCP requests directly from master to master)
+ # contact details
masterserver_name => 'Your Name Here',
masterserver_contact => 'info@example.com',
- masterserver_address => 'master.example.com',
-################################################################################
-# Database Login Configuration #
-# #
-# Login credentials for the database that was created manually before. #
-# Yes, that means that you need to create the database and tables on your own. #
-# Use only one option: Postgresql, SQLite, MySQL (not tested with MySQL) #
-# #
-################################################################################
+
+# Database Login Configuration
+# Login credentials for the database that was created manually before.
+# Supported types: Postgresql, SQLite
# Postgresql
dblogin => ['dbi:Pg:dbname=masterserver', 'user', 'password'],
@@ -43,23 +47,17 @@ our %S = (
# SQLite
#dblogin => ["dbi:SQLite:dbname=$ROOT/data/masterserver.db",'',''],
- # MySQL
- #dblogin => ["dbi:mysql:database=masterserver;host=localhost;port=3306",'user','password'],
-
- # backup database dump
+ # Backup interval
# new backup for every period of time? options: daily, weekly, monthly, yearly, none
dump_db => "daily",
-
-################################################################################
-# Logging configuration #
-# #
-# All messages are printed to the log (and screen) by default. The following #
-# settings determine the file location and which messages are suppressed. #
-# #
-################################################################################
- # log file location (folder name!)
- log_dir => "$ROOT/log/",
+
+# Logging
+# All messages are printed to the log (and screen) by default. The following
+# settings determine the file location and which messages are suppressed.
+
+ # log file location (folder name)
+ log_dir => "$ROOT/log/",
# new log for every period of time? options: daily, weekly, monthly, yearly, none
log_rotate => "weekly",
@@ -68,12 +66,10 @@ our %S = (
printlog => 1,
# which messages do you NOT want to see in the logs (and screen)?
+
# show all entries
#suppress => "none",
- # show only important events
- suppress => "debug beacon uplink secure tcp add update delete",
-
# keywords that can be suppressed (from high to low severity):
# fatal fail error stop
# refused nodevice timeout
@@ -84,33 +80,28 @@ our %S = (
# stat kfnew
# info debug
-################################################################################
-# Network settings #
-# #
-# Beacon UDP port (beacons) and Browser TCP port (serverlist) #
-# #
-################################################################################
-
- # port settings
- listen_port => 28900, # default 28900
- beacon_port => 27900, # default 27900
-
- # Timeout time for connections. Some clients are on slow connections
- # or are queued for a relatively long time. Recommended: 5s
- timeout_time => 10,
+ # show only important events
+ suppress => "debug beacon uplink secure tcp add update delete",
+
+
+# Network settings
+# Port settings and timeouts
-################################################################################
-# Secure/Validate configuration #
-# #
-# Which servers have to validate? Which games may be ignored? #
-# #
-################################################################################
+ # TCP/client port, default 28900
+ listen_port => 28900,
+
+ # UDP/uplink port, default 27900
+ beacon_port => 27900,
- # disable checks, all games pass as validated (0=validate only, 1=don't check)
- debug_validate => 0,
+ # Timeout time for connections. Recommended: 5 (seconds)
+ timeout_time => 5,
+
- # accept only servers that pass the secure/validate challenge, takes longer
- # but prevents malicious servers from sending fake query data
+# Secure/Validate configuration
+# Which servers have to authenticate?
+
+ # accept only servers that can authenticate. takes longer before adding to the
+ # database, but prevents malicious servers from sending fake query data
require_secure_beacons => 1,
# ignore keys from games that use multiple keys or do not support keys at all
@@ -119,35 +110,17 @@ our %S = (
# some games do not even support the "secure" and "validate" values. Bypass.
secure_unsupported => "tribesv",
-
-################################################################################
-# Enable settings #
-# #
-# 0 = disabled #
-# #
-################################################################################
- # Query UCC-based applets
- master_applet_enabled => 1,
+
+# Synchronization settings
+# Send beacons to the following selected masterservers. This joins us in the
+# 333networks network and makes two-way synchronization possible for all games
+# or only selected games. Requires at least one entry to a live masterserver.
# Synchronization with other 333networks-based masterservers
sync_enabled => 1,
- # Beacon Checker
- # getting server status info from \all\ servers. executed every 15 minutes to
- # keep information up to date.
- # disabling breaks support for certain games [like tribesv].
- beacon_checker_enabled => 1,
-
-################################################################################
-# Synchronization settings #
-# #
-# Send beacons to the following selected masterservers. This joins us in the #
-# 333networks network and makes two-way synchronization possible for all games #
-# or only selected games. Requires at least one entry to a live masterserver. #
-################################################################################
-
- # default masterservers to uplink to
+ # default masterservers to uplink to and synchronize with
sync_masters => [
{ address => "master.333networks.com", port => 28900, beacon => 27900 },
{ address => "master.noccer.de", port => 28900, beacon => 27900 },
@@ -161,28 +134,26 @@ our %S = (
# other example: [1 + gamenames] = selected games only
#sync_games => [1, "ut unreal deusex"],
-
-################################################################################
-# Query UCC Applets #
-# #
-# Request the masterlist for single games from the remote UCC applet or #
-# equivalent. #
-# #
-# Arguments: domain/ip, tcp port, array of gamenames #
-################################################################################
+
+ # getting server status info from all servers. executed every 15 minutes to
+ # keep information up to date. disabling breaks support for certain games
+ # like tribesv.
+ beacon_checker_enabled => 1,
+
+# Query UCC-based Applets
+# Request the masterlist for single games from the remote UCC applet -- one way
+ master_applet_enabled => 1,
+
+ # default applets to query
master_applet => [
{address => "utmaster.epicgames.com", port => 28900, games => [qw|ut unreal|]},
{address => "master.hypercoop.tk", port => 28900, games => [qw|unreal|]},
- {address => "sof1master.megalag.org", port => 28900, games => [qw|sofretail|]},
- {address => "master.deusexnetwork.com", port => 28900, games => [qw|deusex|]},
],
-################################################################################
-# Killing Floor Statistics #
-# #
-# Read player statistics from the KFstats file in the UT2004 configuration. #
-# Applies to 333networks Killing Floor Server only! #
-################################################################################
+# Killing Floor Statistics
+# 333networks has a UT2004+KillingFloor server for which we maintain statistics.
+# not related to the masterserver, but we felt no need to remove it. Set to 0 if
+# you do not use it.
# Collect kfstats info
kfstats_enabled => 0,
@@ -190,17 +161,6 @@ our %S = (
# kfstats.ini file location
kfstats_file => "/UT2004/System/KFStats.ini",
-); #end configuration %S
-
-################################################################################
-# #
-# Supported Games. #
-# #
-# List of games that are supported by the 333networks masterserver. Note that #
-# adding a game does not necessarily mean that suddenly the protocol will #
-# be supported. It only needs the provided ciphers. #
-# #
-################################################################################
-require "$ROOT/data/supportedgames.pl";
+);
1;