Source code for LegacyWorlds Beta 5. I figured I'd put this here as well.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
admin
ircbot
manual/beta5/en
misc
planetgen
scripts
site
sql
AUTHORS
COPYING
COPYING.GPL
COPYING.MIT
README
TODO

README

Legacy Worlds Beta 5 source code
---------------------------------


1. Introduction

This file contains information regarding the source code release for Legacy
Worlds Beta 5 - how the source code is organised and how it may be used.

For licensing information, please read the COPYING file. For the list of
contributors, please read the AUTHORS file. For stuff that could be done
considering one had a lot of time to waste, please read the TODO file.

The official SVN repository for the LWB5 code can be found at:
* https://lwb5.svn.deepclone.co.uk (IPv6 users)
* https://secure.nocternity.net/deepclone.co.uk/svn/lwb5/ (IPv4 users)


2. Organisation of the source code

... admin/		Administration interface scripts
... ircbot/		IRC bot
... ircbot/modules/lw/	LWB5-specific code for the IRC bot
... manual/		Source code (as XML) of the LWB5 manual
... misc/		Various optional elements
... planetgen/		Planet generator source code
... scripts/		Scripts that implement most of the game
... scripts/game/	Back-end scripts
... scripts/lib/	Core library
... scripts/site/	Web front-end
... site/		Root directory of the public part of the site
... site/static/	Images, CSS and JavaScript elements
... sql/		Database creation scripts


3. Requirements

In order to run Legacy Worlds, you will need the following software:

* Apache + PHP 5.2
* (optional) a PHP opcode cache
* PostgreSQL 8.3 or higher
* the POVRay raytracer (used for planet generation)


4. Installing and running LWB5

These instructions may be erroneous on some points, as I didn't bother to try
and re-install it myself.

* Set the database users' passwords in sql/00-init.sql

* (optional) Modify sql/30-beta5.sql to select the games that will be created
on initialisation.

* Create the database by running sql/INSTALL.sql

* Create an administrative user in the main.account table

* Create some system users for the various parts of the LWB5 backend:
** user "lwbot"; when su'd to, this user should start the IRC bot,
** user "lwticks"; when su'd to, this user should start scripts/ticks.php
** user "lwproxy"; when su'd to, this user should start scripts/proxycheck.php

* In addition to the above users, the planet picture generator should run with
privileges allowing it to write to subdirectories of site/static/beta5/pics/pl/

* Modify scripts/config.inc and scripts/legacyworlds.xml
** Also modify ircbot/bot.conf to have the bot connect to a server

* Set up the web server:
** the main site should use the site/ directory,
** the administration interface should use the admin/ directory; it should be
protected using HTTP authentication.

Once the installation is complete, it is possible to start (most of) the game
by running scripts/control.pl with the --start command line argument. However,
the planet generator script has to be started manually.


5. The misc/ subdirectory

The misc/ subdirectory contains two things:
* the source code of the MacOS dashboard widget,
* the "forums branch" patch.

The forums branch patch has been created by doing a very quick and dirty merge
of an old development branch that was mostly abandoned; it contains some
improvements on the core library - notably a class to prepare database queries
and some other improvements in the DB query API. Of course, it also includes an
incomplete rewrite of the in-game forums.

Because I had to merge the branches to generate the patch, and because I didn't
bother with testing it, the patch is likely to break a lot of things. However
it may be a good starting point for improving the LWB5 code. See the TODO file
for more information.