An old remake of a friend's PBBG (persistent browser-based game), created as a junior developer and university student

Krzysztof Sikorski Krzysztof Sikorski added installation instructions b639f8c @ 2010-11-24 01:32:04
lib bazaar re-init 2010-11-18 23:01:29
public bazaar re-init 2010-11-18 23:01:29
tpl bazaar re-init 2010-11-18 23:01:29
.bzrignore bazaar re-init 2010-11-18 23:01:29
README.txt added installation instructions 2010-11-24 01:32:04
cron.php bazaar re-init 2010-11-18 23:01:29
daemon.sql added installation instructions 2010-11-24 01:32:04
php.ini added installation instructions 2010-11-24 01:32:04

INTRODUCTION: The game was never planned to be released in public, so it's designed for the LAMP stack it was originally hosted on. Basically the code assumes some software versions and settings, and will propably break on different configuration.

REQUIRED SOFTWARE: Apache 2.x, with enabled mod_rewrite and .htaccess files. PHP 5.2.x with settings like in attached php.ini file. MySQL 5.1, may also work on other 5.x versions. PHPTAL 1.2.1 - newer releases are propably also safe. The hosting MUST also offer crontab or other similar services.


  1. Prepare database tables using attached SQL file.

  2. Configure PHP using attached INI file.

  3. Upload game code into server.

  4. Download PHPTAL library and upload it into lib subdirectory, you should now have "lib/PHPTAL.php", "lib/PHPTAL/Context.php" etc.

  5. Enter your hosting's configuration panel and set the public subdir as a domain root, so other files won't be accessible from the Net.

  6. Configure crontab: set the "cron.php" file to be executed every day.

  7. And now the tricky part: create a config file (or files) and upload it into cfg subdirectory. It's a long and weird topic, details below.


The game configuration is handled by the Daemon_Config class (lib/daemon/config.php file), which uses it to overwrite its public properties. Consult the class' constructor for details.

The file's content is simple, it should do nothing more than to return an associative array of settings. Here's an example of minimal config: