ServiceGo

From HerzbubeWiki
Jump to navigation Jump to search

Dragon Go Server

Download

Download sources and images from

http://www.dragongoserver.net/snapshot.php

I am currently using the snapshot from January 7th 2007


Installation

Installation according to the INSTALL file inside the "Sources" snapshot.

mkdir /var/www/dragongoserver
tar xfvz /var/archive/dragongoserver/DragonGoServer.tar.gz
mv DragonGoServer/* .
rm -r DragonGoServer
tar xfvz /var/archive/dragongoserver/images.tar.gz
find . -type d -name CVS -exec rm -r {} \;
chown -R www-data:www-data .
chmod 640 include/config.php
chmod 775 translations

MySQL

Create MySQL database and user

dragongoserver

Create database tables:

mysql -D dragongoserver -u dragongoserver -p<password> <init.mysql

Add "admin" user (a "guest" user is already present):

insert into Players set Handle='admin', Name='Administrator', Password=PASSWORD('<passwd'), Adminlevel=-1;


Web server integration

Add the following block to the Apache configuration:

Alias /dragongoserver/ /var/www/dragongoserver/
<Directory /var/www/dragongoserver/>
  Require all granted
  <IfModule mod_php5.c>
    php_admin_flag engine on
  </IfModule>
</Directory>


PHP script modifications

Add MySQL details to

include/config.php

Comment that part of the code that prints out the "Hosted by" footer line (i.e. the entire table) in

include/std_functions.php


nngs

Download

mlrate (1.2 at the time of writing):

http://www.pem.nu/mlrate/

nngs (1.1.20 at the time of writing):

http://nngs.sourceforge.net/


Build the software

Create a base directory:

mkdir nngs


Extract both tar balls inside the base directory.


The mlrate package needs to be located inside the nngs tree, otherwise nngs will not be able to find it at link time later on.

mv mlrate nngs-1.1.20
cd nngs-1.1.20/mlrate
mkdir src
mv * src


Some files need to be changed, otherwise the external variable opterr will not be recognized by the compiler. These files are affected:

  • src/mlrate.c
  • src/rhistory.c
  • src/t2res.c

The following line needs to be added to each of the files:

#include <getopt.h>