Skip to content

A fork of the web-based character creator application for the Eclipse Phase role-playing game (first edition).

License

Notifications You must be signed in to change notification settings

neonspectra/epcc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EPCC – Eclipse Phase 1E Character Creator

This repo is a fork of the original web-based character creator application for the Eclipse Phase First Edition (1E) role-playing game, because I prefer Eclipse Phase 1E over the newer Second Edition.

While I think that Posthuman Studios are a great team (support them and buy their stuff!), Eclipse Phase has always had a problem of not really knowing what it wants to be. Although the second edition is more streamlined, I think Eclipse Phase 2E really lost sight of its roots as a simulationist game system focused on accurately and consistently depicting the minutiae of how its hard-scifi setting works.

The original upstream EPCC repo is no longer maintained, so I forked it to bring it up to date (so that it can be built automatically with modern CI), make tweaks to improve it, and preserve it for those of us still playing Eclipse Phase 1E.


Contents

License

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

You can read the full license description here.

Authors

See here for a list of everyone who has contributed to this project.

Version

The current version is 2.01 (Argonaut)! See the Changelog.

EPCC Configuration

There is a single configuration file for EPCC: src/php/config.ini. You will need to maintain a separate version of that file outside of this repository for your production environment.

The rest of the information (Eclipse Phase content) is stored in the database. There is a full SQL dump of the database in database/database.sql.

Running via Docker

Docker is the recommended, and only officially supported method or running this app. While the setup steps below can be used for development, it is highly recommended that deployment be done via Docker.

Building from Source

The following command builds an image of the applciation that is ready to be deployed. If your user is not in the docker group, you may need sudo.

docker image build --tag epcc .

Obtaining from ghcr.io

If you don't want to build your own docker image, you can pull it from this repo's GitHub Container Registry here.

Tags we support:

  • ghcr.io/neonspectra/epcc:nightly - Latest nightly (built off the latest change in main)
  • ghcr.io/neonspectra/epcc:latest - Latest stable release version
  • ghcr.io/neonspectra/epcc:sha-XXXX - Pin a nightly based off its SHA commit hash
  • ghcr.io/neonspectra/epcc:vXXXXX - Pin a specific stable release version with its version tag.
    • Note that we don't have any pre-fork builds of the image. Please visit the original project if you want an older image.

Running

In most cases the following command will allow you to test the build image locally. It exposes a webserver on port 8080 that you can access to view the container. You can test access locally by navigating to http://localhost:8080.

sudo docker run --rm -it -p 8080:80 --name epcc epcc

If deploying to the internet, you may want to consider using your own '.env' file. Doing so allows you to change things like the error reporting location, or almost any other configuration. Simply add --env-file custom.env to the run command above.

Optional health check

For troubleshooting, you can run a health check:

sudo docker inspect --format='{{json .State.Health}}' epcc

Local Development and Testing

You will need:

Database Setup

SQLite:

  1. Create a sqlite3 database
    sed 's/\\n/ /g' database.sql > tmp.sql
    sqlite3 --init tmp.sql database.sqlite
  2. Copy standalone.env to .env.

MySql

  1. create a MySql database
    CREATE USER 'epcc_www'@'localhost' IDENTIFIED BY '$DATABASE_PASSWORD';
    GRANT ALL PRIVILEGES ON EclipsePhaseData.* TO 'epcc_www'@'localhost' WITH GRANT OPTION;
    CREATE DATABASE EclipsePhaseData;
    USE EclipsePhaseData;
  2. Import the database
    mysql -h localhost -u epcc_www -p'$DATABASE_PASSWORD' EclipsePhaseData < database/database.sql
    
  3. Configure database access in your custom .env file.
    See here for how to do that.

Saving database changes

SQLite:

To save changes made to the Sqlite database run:

echo -e ".once database.sql\n.dump"|sqlite3 database.sqlite

WARNING: If you use this feature, skip the sed step when creating the database.

Using the built in php web server

  1. Set up the database.
  2. From a command prompt in the top level of this project run php artisan serve
  3. Browse to http://localhost:8080

Running the test suite (PHPUnit)

composer install
vendor/bin/phpunit

About

A fork of the web-based character creator application for the Eclipse Phase role-playing game (first edition).

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • PHP 86.5%
  • Vue 7.1%
  • Blade 6.0%
  • Other 0.4%