aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 5e8023ae8293c5829d8de807d01a00894b121006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
## Web Interface for MasterServer-Qt5
Web interface in Perl for MasterServer-Qt5.

## DESCRIPTION
This repository contains software for a web interface to display information obtained by the 333networks MasterServer for the support of various legacy games. 

## AUTHOR
* Darkelarious
* darkelarious@333networks.com

## REQUIREMENTS
* MasterServer-Qt5 (code.333networks.com)
* Apache/httpd
* Perl 5.10 or above
* The following CPAN modules:
    * DBI
    * DBD::SQLite
    * TUWF (http://dev.yorhel.nl/tuwf)

## INSTALL
This repository consists of Perl modules and is run by a http deamon. First, the MasterServer-Qt5 repository should be installed and configured in order to run this web interface. This web interface requires access to the database generated and updated by MasterServer-Qt5.

## CONFIGURATION
The 333networks masterserver interface comes with options. These options are found in configuration file `data/settings.pl`. First provide the site name and URL. These are used for the title bar and links.
```
  # site (for sharing options)
  site_url  => "http://master.333networks.com",
  site_name => "333networks",
  email     => 'master@333networks.com',
```

Configure the path to the database that the masterserver uses. The location of this database is found in the documentation of `MasterServer-Qt5`.
```
  # database connection
  db_login  => ["dbi:SQLite:dbname=/server/masterserver/qt5/data/masterserver.db",'',''],
```

When more than one website style exists, it can be selected in the following option. If no additional style files are (manually) installed, do not alter this option.
```
  # display
  style     => "classic2",
```

By default, only servers that have updated in the last half hour are shown. To show servers for a shorter or longer period of time after the last update increase or decrease the value of the option `window_time`. This value is provided in seconds (3600 seconds is 1 hour).
```
  # do not display servers older than [seconds]
  window_time => 1800,
```

## Apache settings
```
LoadModule rewrite_module modules/mod_rewrite.so
AddHandler cgi-script .cgi .pl
```

Update the vhost configuration for the Web Interface to match your repository folder path:

```
#
# Master Web Interface
#
<VirtualHost *:80>
ServerAdmin master@yourdomain.com
ServerName  master.yourdomain.com

DocumentRoot "/path/to/WebInterface-Perl-MS-Qt5/s"
AddHandler cgi-script .pl

RewriteEngine On
RewriteCond "%{DOCUMENT_ROOT}/%{REQUEST_URI}" !-s
RewriteRule ^/ /masterinterface.pl

ErrorLog  /path/to/WebInterface-Perl-MS-Qt5/log/Error.log
CustomLog /path/to/WebInterface-Perl-MS-Qt5/log/Access.log combined

<Directory "/path/to/WebInterface-Perl-MS-Qt5/s">
    Options +FollowSymLinks +ExecCGI
    AllowOverride None
    Require all granted
</Directory>
</VirtualHost>
```

## KNOWN ISSUES
There are a few known issues that will be resolved in future versions. The following issues are listed and do not need to be reported.
* No additional styling available for third parties. Will come when the rest of the website is stable.
* Country name/flag is always "Earth". There is a third party script that updates these in the database, which may or may not be released in the future.

## COPYING
See COPYING file