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.
- Source
- Releases
- Issues
- Websites that Host EPCC
- epcc.neosynth.net
- epcc.onrender.com (Mirror, has delayed startup on inactivity)
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
You can read the full license description here.
See here for a list of everyone who has contributed to this project.
The current version is 2.01 (Argonaut)! See the Changelog.
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.
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.
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 .If you don't want to build your own docker image, you can pull it from this repo's GitHub Container Registry here.
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.
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 epccIf 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.
For troubleshooting, you can run a health check:
sudo docker inspect --format='{{json .State.Health}}' epccYou will need:
- php 8.4 or greater
- node 24 LTS
- composer 2.x
- Either: mySql 14.14 or greater
- Or: sqlite3 (Recommended)
- Create a sqlite3 database
sed 's/\\n/ /g' database.sql > tmp.sql sqlite3 --init tmp.sql database.sqlite
- Copy
standalone.envto.env.
- 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.
To save changes made to the Sqlite database run:
echo -e ".once database.sql\n.dump"|sqlite3 database.sqliteWARNING: If you use this feature, skip the sed step when creating the database.
- Set up the database.
- From a command prompt in the top level of this project run
php artisan serve - Browse to http://localhost:8080
composer install
vendor/bin/phpunit