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
- Source
- Releases
- Issues
- Websites that Host EPCC
- epcc.neosynth.net
- epcc.onrender.com (Mirror, has delayed startup on inactivity)
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 inmain)ghcr.io/neonspectra/epcc:latest- Latest stable release versionghcr.io/neonspectra/epcc:sha-XXXX- Pin a nightly based off its SHA commit hashghcr.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}}' epccLocal Development and Testing
You will need:
- php 8.4 or greater
- node 24 LTS
- composer 2.x
- Either: mySql 14.14 or greater
- Or: sqlite3 (Recommended)
Database Setup
SQLite:
- Create a sqlite3 database
sed 's/\\n/ /g' database.sql > tmp.sql sqlite3 --init tmp.sql database.sqlite
- Copy
standalone.envto.env.
MySql
- 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;
- Import the database
mysql -h localhost -u epcc_www -p'$DATABASE_PASSWORD' EclipsePhaseData < database/database.sql - Configure database access in your custom
.envfile.
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
- Set up the database.
- From a command prompt in the top level of this project run
php artisan serve - Browse to http://localhost:8080
Running the test suite (PHPUnit)
composer install vendor/bin/phpunit