A headless server for making API calls to the Vennt database.
API documentation can be found in API.md.
py -3 venntserver.py vennt.db --nocert
Or py -3 venntserver.py --help
for more information on running the server securely.
venntDB.db is organized in this way:
accounts
: a map of usernames to accounts
characters
: a map of character IDs to character dictionariesname
, id
, and many attributes (see Data Types
in API documentation)items
; each item has:
name
: item namebulk
: item bulk (numeric)desc
: item descriptioncampaign_invites
: a list of campaign invitesfrom
: username of senderid
: campaign IDcampaigns
: a list of campaign IDs joined by the usercampaigns
: a map of campaign IDs to campaign dictionaries
members
: a map of usernames to rolesentities
: a map of character / enemy IDs to information that everyone in the campaign should be able to seeowner
: The entity's ownername
: The entity's name - copied from the characters
mapgm_only
: If true, this entity can only be seen by GMs. Useful for adding enemies to a campaign without alerting playersactions
: When in combat, the number of actions this entity has. If the character has actions, they can be spent regardless of whose turn it isreactions
: When in combat, the number of reactions this entity hashealth
: string description of health - this is just used for display. We don't want to provide actual numbers to anyone except the entity's ownerinit
: a list of maps containing initiative information regarding entities in the campaign.roll
: The entity's initiative rollbonus
: The entity's initiative attribute valueentity_id
: The entity IDin_combat
: True when we are using initiativeinit_index
: Points to the index of the current turn in the init
list.init_round
: The round of combatweapons
: a dictionary of standard weapons read in from weapons.json
abilities
: a dictionary of abilities read in from abilities.json
which is scraped using scrapePaths.py
ability_cache
: a storage of ability objects cached on queryability_cache_index
: the index of the oldest used cache slot in ability_cache
python3 venntserver.py --nocert
to run the server locallypython3 example.py --verify --nocert
to run examples locallypython3 dump.py vennt.db
Whenever a new function is added to the DB that is not in venntdb.py, it must also be imported at the top of the class