Solution Strategy

1. Modularization

Every distinct aspect is modelled into a single vertical. The current verticals are:

dcis-users

Account Management for users of the system.

dcis-arbitration

Petitions and Arbitration for all users, gaming and Torg Asset data.

dcis-operatives

Handling of Player Characters

dcis-gaming

Table and Campaign management

dcis-threats

Monsters and Adversaries

torg-codex

Tables of Torg. A reference guide to Torg Items, perks, cosms, …​

dcis-libraries

Java Libraries for common utilities, asynchronous data transfer and local data storage for data managed by other SCSes.

dcis-commons

Web asset SCS for all SCS in the system.

dcis-discord

Discord Bot for the whole system.

Core Earth News

A nice in game version of a news outlet to provide access to campaign data and missions.

2. Single Sign On

The system holds no authentication data. It will be connected via OpenIDConnect to external identity providers (like keycloak). The users are specified via their external user. Internally they get an UUID which maps to the (Issuer, User) tuple of the external provider.

3. Frontend and backend integration

The systems use frontend integration methods for the UI.

Needed communication between the backends (data synchronization, event distribution) are handled via a messaging infrastructure. The broker [ADR-003] used will be a rabbitMQ handling AMQP queues and topics.

We heavily rely on self-contained systems [SCS] as promoted by INNOQ.

The asynchronous data replication is addressed in section Handling asynchronously transfered data. This decision is documented in [ADR-005].