DrDubWiki

Printable version | Disclaimers | Privacy policy

Poisson Magique/Design

From DrDubWiki

Contents

Commands

CAMPAIGN_REGISTER

GM sends an email to the system asking for a new adventure be created

start@...

  • Campaign name
  • Language (EN/ES/etc)

PLAYER_REGISTER

The GM registers the players and welcome message

register@...

  • Email address
  • Character name

PLAYER_AGREES

The players join the game by agreeing with the server policies and the adventure starts

register@...

BLOCK

An email address wishes to never be contacted by the server

unsubscribe@...

abuse@...

DEFINE

The GM defines NPCs

define@...

  • The NPC name
  • The NPC email
  • (Optional) attached resources related to the NPC (character sheet / photo)

COMMUNICATE

The players send emails to the GM and other characters

Character.Name@...

gm@...

  • Implicit

REPLY

The GM assembles the replies and sends them back

  • IDs of source messages contained in this reply
  • Note: Semi-implicit (in regular 1-on-1 messages it is clear, when multiple PCs are in the conversation requires more work)


REQUEST_ROLL

The GM might ask the players to roll dice

  • The player
  • The roll

ROLL

The players roll dice and the server keeps track of result of the roll

  • Implicit

UPDATE

The GM might update the character page

update@...

  • The resource ID (or the player in the case of a character sheet)

CONSULT

The players might consult their character page or any other information

consult@...

  • Returns all the info to the player, their character sheet, their game time and location

END_PLAYER

The GM or the player itself indicates a player is no longer playing

endplayer@...

leave@...

  • Player email

END_CAMPAIGN

The GM determines the game has finished and all the emails are shared among the players

endcampaign@...

end@...

HELP

Returns a help message

help@...

ayuda@...

UPLOAD

Uploading files

upload@...

  • The file (attached)
  • Returns: File URL

might not be necessary as the GM can just make an email with the links

SHARE

The GM shares files with the players

  • The resource ID

might not be necessary as the GM can just make an email with the links

LIST

List all the resources (files) in the server

  • Returns URLs with the resources (files)

Classes

  • Campaign
  • Character
  • Human (Human is Player or GM)
  • Message
  • Note (Message relates to Note)
  • Link
  • File (for attachments)
  • DiceRoll
  • MessageID -> MailDir Key

later:

  • Player (Player controls Character)
  • GM (GM controls Character)
  • Fragment (Message has Fragment)
  • State (Campaign has State)

Flow

  1. email
  2. full log queue + messageid
  3. gm/player router (no? error log)
    • send email to GM
  4. db upload, off-line queue

Subsystems

Dice Subsystem

The dice rolling is a separate django app. It contains the following classes:

  • Roll
    • Time
    • Campaign
    • Human
    • Description (3D6 + 5)
    • Text
    • Characteristic (future)
    • Hash
  • RollOutcome
    • Roll
    • Outcome text
    • Outcome value (future)
    • is successful (future)

The rolls are transformed into dice/roll/<num> URLS which redirect to the


Development

South

PYTHONPATH=$PWD python webapp/manage.py schemamigration webapp.dice --initial
PYTHONPATH=$PWD python webapp/manage.py schemamigration webapp.dice --auto
PYTHONPATH=$PWD python webapp/manage.py migrate webapp.dice


TODO

  • inter-character emails

Deployment

/usr/sbin/exim_tidydb -t 1m /var/spool/exim4 wait-remote_smtp


Find

Browse
Main page
Recent changes
Edit
View source
Editing help
This page
Discuss this page
New section
Printable version
Context
Page history
What links here
Related changes
My pages
Log in / create account
Special pages
New pages
File list
Statistics
More...