Part of the [[Server fixes]]. Meant to become an easy to use and everywhere accessible administration interface mostly for tasks like player management. (Currently in early development stage) == Current features == * Viewing the map of the game as much as visited by players. == Activation == The following conditions must be met for the webserver to become active: * ControlPanel must be enabled in serverconfig * The contents of [http://svn.illy.bz/7dtd/binary-improvements/webserver/] must be put in a folder named ''webserver'' directly in the game (engine) folder. Three ways to do so: * (recommended) Get the files with a [http://en.wikipedia.org/wiki/Apache_Subversion SVN] client. This way you can easily update the files later on by just using the SVN update command. E.g. with a console client: {{{ cd /path/to/7dtd/game/folder #default is /home/sdtd/engine svn co http://svn.illy.bz/7dtd/binary-improvements/webserver/ }}} * You can get that folder as a ''.tar.gz''-file [http://websvn.illy.bz/dl.php?repname=7dtd&path=%2Fbinary-improvements%2Fwebserver%2F&isdir=1 here] and extract it to your game folder. Make sure to rename the extract folder from ''webserver.r{number}'' to just ''webserver'' * Download the files individually from SVN If both are true the webserver will listen on the port defined as ControlPanelPort (from serverconfig) + 2. I.e. if you have set ControlPanelPort to 8080 (as it is by default) the webserver will listen on ''!http://:8082/'' If you want to enable basic '''authorization''' on the webserver create a file in the webserver folder called "protect". Username for login will be "admin", password is the same as for control panel. == Is it running? == To check if the webserver was started look at the output_log.txt. It should contain a line like: {{{ 1.234 Started Webserver on 8082 (authentication enabled) }}} If it does the server was started on the given port. If not one of the above mentioned conditions is not met. == apache and mod_proxy == If you already have a domain for your server and want a nice looking domain like 7dtd.example.com for your internal webserver instead of http://example.com:8082/ you can use apache and mod_proxy. We will use apache and ubuntu to provide an example but any other web server or os may be used in a similar way. We will use "example.com" as our domain, please replace it with your own domain or IP address. Install apache2 (we assume you are logged in as root during this example) using either [https://help.ubuntu.com/14.04/serverguide/httpd.html the official documentation] or any other tutorial you find on the net. Basically just run {{{ apt-get install apache2 a2enmod proxy a2enmod proxy_http service apache2 restart }}} create a new config {{{ nano /etc/apache2/sites-availible/7dtd.example.com.conf }}} and paste the following into it (assuming the ControlPanelPort is 8080) {{{ ServerName 7dtd.example.com ServerAdmin webmaster@example.com ProxyPass / http://localhost:8082/ ProxyPassReverse / http://localhost:8082/ ErrorLog ${APACHE_LOG_DIR}/7dtd.example.com.error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/7dtd.example.com.access.log combined }}} now active the new config and restart apache {{{ a2ensite 7dtd.example.com.conf service apache2 restart }}} You should now be able to visit 7dtd.example.com and see the map. '''Please note that this is _not_ a secure way to hide the ControlPanelPort from your users! Port scanning is always an option! == Planned stuff == * List of players (filter by online, banned, admin/mod, permission level ... anything else?) * Info: name, steamid, ip, playtime, last seen, online/offline, stats, last position ... * Kick/Ban, change permission level * show on map * show trail * show keystones as list and on map (with claimed area overlay) * Send PM * ... ? * List of command permissions * Chat log * Console log * ... ?