This project is a system for role-playing game story/campaign/epic management.
The project's main license is GNU General Public License v3.0
- see the LICENSE.md
file for the text. The yii2
framework is BSD 3-Clause "New" or "Revised" License
; particular libraries can have their own licenses, see
attribution section of this file for details.
Role-playing games are a very wide category, ranging from very simplistic systems to extremely complex mechanical solutions. What they do have in common, though, is the story - you can play a game without mechanics, but even a primitive dungeon crawl is going to have some story. Managing this story, its cast, threads, and - if present - mechanical components - is the role of this project.
composer install
--no-dev
option to avoid adding unnecessary libraries.env.example
to .env
and fill it with configuration data
console/migrations/data.sql
file with SQL inserts that should be
loaded into the database; this is intended for development/test work on larger data sets and is not needed for
normal, initial deployment of a fresh project./init --env=Development --overwrite=All
./init --env=Production --overwrite=All
./yii migrate/up
; data.sql
will be automatically loaded if present./yii rbac/init
; this will set up the access rights for the roles./yii install/add-administrator
to add the administrator userscripts/
backend/web
for the content management pagefrontend/web
for the presentation pagemaster
branch, but its content is not guaranteed to work at all
times; to be safe, use the latest releasecomposer install
.env
file is up to date, based on .env.example
./yii migrate/up
./yii rbac/v*
sequentially to get up to a proper version
As partially mentioned at the setup instructions, the project is composed of several modules:
frontend
- the presentation and the only part the players should be accessingbackend
- the content management system, intended for Game Masters' useconsole
- purely administrative tools that should not be commonly used except for setup or by cron
callscommon
- components used by other three modulesThe hub allows handling of the following:
Epic
- the basic campaign, containing virtually everything else that is not an userStory
- an adventure, plot, etc. - in other words, a time-limited element of the Epic
Recap
- a description of events, intended to keep the players up to date
Game
- a discrete gaming session, often associated with a Recap
Character
- a character (either a Player Character or an NPC) present in the story, most often described from the
perspective of the playersCharacterSheet
- a detailed set of data on Character
, usually in a form of numbers and traits
Character
Group
- a group of Character
s - a party, an organization, or anything that justifies putting a few Character
s
together; can have other Groups
as members as wellScenario
- a plan for events for a Story
Article
- miscellaneous textsPointInTime
- auxiliary information, used to put in-story date/time on descriptionsUser
- as the name suggests, this is the user, i.e. person accessing the hub; no further explanation should be
neededOther components serve only auxiliary roles and are not directly editable.
Use of most components is optional; for example, an Epic
can be conceivably run with use of Recap
s and Game
s only
or just with Character
gallery. There are, of course, limits to that - for example,Group
functionality is limited
without any Character
s. Still, most elements can be used entirely independently of each other.
What follows is a list of libraries used in the project; only those included directly are listed.
All the following libraries are licensed under BSD-3-Clause license
or a derivative, unless stated otherwise.