Is the database design alright? And I’m quite lost with the admin entity here

A quick description of my system would be: there are 2 users: users and admin.

User registers on the website. Upon registration, the system will generate a QR code for the user. The user then goes to be vaccinated, and upon vaccination, someone will be able to scan his/ her QR code and the status of the user will be updated as vaccinated with the 1st dose of the vaccine. Additional information will also include, the date for the 2nd dose of vaccination, the doctor who was responsible for the vaccination, date and time of the vaccination. The user can also give his feedback for the side effects per dosage.

On the admin’s side:

  • able to log in
  • they will have a report in the graph for each of the vaccines and the percentage of how many were vaccinated with these types of vaccines.
  • graph of side effects per dosage of each of the vaccines
  • add, edit, and delete a doctor
  • add, edit, delete a vaccine
  • it will also include Analytics for the frequency of the users
  • list of those users

This is the database design I have come up so far and I’m needing help if this is correct and I’m a little lost with the admin entity here.

enter image description here

Database connection lost whenever SQL query string is too long

I recently switched from running my Rails app on a single VM to running the database — MariaDB 10.3 — on a separate (Debian Buster) VM. Now that the database is on a separate server, Rails immediately throws Mysql2::Error::ConnectionError: MySQL server has gone away whenever it tries to make a query where the SQL itself is very long. (They query itself isn’t necessarily one that would put significant load on the system.)

An example query that causes the problem looks like this:

SELECT `articles`.`id` FROM `articles` WHERE `articles`.`namespace` = 0 AND `articles`.`wiki_id` = 1 AND `articles`.`title` IN ('Abortion', 'American_Civil_Liberties_Union', 'Auschwitz_concentration_camp', 'Agent_Orange', 'Ahimsa') 

… except the array of titles is about 5000 items long, and the full query string is ~158kB.

On the database side, this corresponds to warnings like this:

2021-03-25 15:47:13 10 [Warning] Aborted connection 10 to db: 'dashboard' user: 'outreachdashboard' host: 'programs-and-events-dashboard.globaleducation.eqiad1.wikimed' (Got an error reading communication packets)

The problem seems to be with the network layer, but I can’t get to the bottom of it. I’ve tried adjusting many MariaDB config variables (max_allowed_packet, innodb_log_buffer_size, innodb_log_file_size, innodb_buffer_pool_size) but none of those made a difference. The problem seems to be that the connection is aborted while it is attempting to transmit the long SQL query string from the app server to the database server. (There’s no corresponding problem with receiving large query results from the database.)

I’ve tried adjusting several timeout-related settings as well, although that seems unlikely to be the problem because I can replicate the connection error without any significant wait, just by issuing one of the long-SQL-string queries from a Rails console.

I’ve tried using tcpdump to see what’s coming in, but didn’t pick up any additional clues from that.

Is Lost Mines of Phandelver’s Young Green Dragon too much for a group of level 3 characters?

My group of 8 level 3 players are about to run through the Thundertree Ruins and will probably have a hand at fighting the dragon. My question stems from the fact that a single poison breath attack from the dragon will outright kill all but 1 player assuming they fail their saving throws.

I understand this encounter is supposed to be ridiculously deadly, but I don’t want to be punishing my players for testing the lengths at which they can fight stuff. A fight should be challenging and they should be able to try and run away, but instant obliteration seems a bit much.

All PCs are level 3 (HP in parenthesis):

  • Wood elf moon druid (27)
  • dwarven frenzy barbarian (44)
  • fire genasi archer ranger (37) (pseudodragon companion (12))
  • wood elf assassin rogue (27)
  • human wild magic sorcerer (22)
  • dragonborn fighter (29)
  • human monk (24)
  • human fighter (32)

What to roll when attacked in KULT: Divinity Lost?

I got a bit confused with the Avoid Harm and Endure Injury moves and when to trigger any of them.

While it is very clear that Engage in Combat is the right move when the PC attacks someone who is aware of the attack, what happens when the PC is attacked?

For example, during a scene, an opponent decides to reveal a knife and attack a PC. Does the player rolls for Avoid Harm or go straight to Endure Injury?

Also, several ocassions (combat or not) may require to roll for Avoid Harm, and in case of failure, the description says the PC could sustein Harm. Does that mean the player annotates the Harm directly or should she roll for Endure Injury before that?

Finaly, failing to Avoid Harm mentions that the PC suffers the full a ammount of Harm, but also the GM makes a Move. Since some of the GMs moves refer to harm/damage (Exchange Harm for Harm and Deals Damage) I want to make clear if harming the PCs is always a GM decision or an automatic effect from a failure.

What is the lowest level character that can unfailingly beat the Lost Mine of Phandelver starting encounter?

This question uses the first encounter of LMOP as (what I thought was) a fun framing device for an optimization question. Four downvotes in one minute makes me question that decision.

Tone is hard to convey in text, so I’ll make it explicit: this is just a fun optimization problem, not an attempt to ruin anyone’s game.


For a lot of players, Lost Mine of Phandelver from the D&D Starter Set was their first 5e adventure. The first encounter from that adventure is rather swingy, like many level 1 combats. PCs may end up victorious without a scratch, or unconscious without getting a turn.

Bad luck

What if you were really unlucky, though? Really, really unlucky. Can a single character unfailingly beat the encounter, despite all the dice being against them? What is the lowest level that you could pull this off?

Whatever can go wrong for the PC, will go wrong. In general, this means that they will roll a 1 on all dice rolls (attacks, saving throws, ability checks, damage, etc.) If a low roll is beneficial to them (Divine Intervention, for example), then that roll may be a higher roll.

Whatever can go right for the enemies, will go right. In general, this means that they will roll the maximum value on all dice rolls. If a high roll is harmful to them, then that roll may be a lower roll.

Encounter specifics

  • The PC will face:
  • When combat begins, the enemies are exactly 30 feet away from the PC. Any PC-controlled creatures start as close to the PC as possible. All participants start on the ground.
  • Two of the enemies (one melee and one ranged) are on each side of the road.
  • The enemies have a chance to gain surprise. There is sufficient cover to try to hide on both sides of the road.
  • The two melee enemies will close in. If it becomes clear that they can’t get into range, they may use an Action to doff their shields and switch to bows.
  • Ranged enemies will try to stay within 80 feet (the normal range of their weapons).
  • The PC has beat the encounter if they are alive when combat ends and all of the enemies are dead.

Character specifics

  • LMOP takes place in the Forgotten Realms, so I’m going to limit sources to FR-specific and setting-agnostic official hardcover books: Player’s Handbook, Monster Manual, Dungeon Master’s Guide, Sword Coast Adventurer’s Guide, Volo’s Guide to Monsters, Xanathar’s Guide to Everything, and Mordenkainen’s Tome of Foes.
  • Customizing ability scores, variant human, multiclassing, feats, and playing on a grid are allowed. All other variant rules are not.
  • No magic items or magic item-like things granted by the DM (boons, blessings, charms, etc.)
  • Spells/abilities you use before combat may only target you or creatures you control. Only spells/abilities whose effects last 8 hours or longer will still be active when combat starts. You do not get a rest between using any spells/abilities and combat starting.

What does it mean to become lost?

The DMG (p111-112) suggests that the party’s navigator make a Survival check to avoid becoming lost:

If the Wisdom (Survival) check succeeds, the party travels in the desired direction without becoming lost. If the check fails, the party inadvertently travels in the wrong direction and becomes “lost.” The party’s navigator can repeat the check after the party spends 1d6 hours trying to get back on course.

(emphasis mine, to clarify to those who are confused that going “in the wrong direction” and becoming “lost” are independent of one another)

So, as this reads, three distinctive things happen if you fail the check:

  1. You travel in a random direction.
  2. You become lost.
  3. You can make a new Survival check every 1d6 hours to stop being lost.

I completely understand points 1 and 3, but it doesn’t mean anything without understanding point 2. For example, let’s say I’m using the UA Ranger. I’m not able to become lost by nonmagical means, but since there doesn’t seem to be a RAW definition, that might mean any (or all) of the following:

  • You don’t travel in a random direction when you fail the check.
  • You don’t have to wait 1d6 hours to get back on track.
  • You have traveled in the right direction, but you don’t know where you are geographically.
  • You know exactly how to get from point A to point B, even if you don’t have a map and/or you’ve never been there.
  • You can’t trigger random Terrain Encounters (as in Chapter 2 of Out of the Abyss) because they suggest that you don’t know where you’re going.
  • Thick fog, rain, darkness, and other nonmagical elements can’t keep you from finding the path.
  • You don’t make a check at all, and you benefit from all of the above.
  • Maybe something else that I haven’t thought of.

Which of these options are true? Why? I will accept an answer that confirms and/or denies all of the assumptions listed above.

Can the people who live in this maze get lost in their own maze in Tomb of Annihilation?

I hope the title isn’t so ambiguous such that it doesn’t actually resemble what I’m asking, but I’m trying to keep the title spoiler free.

So, in the Tomb of Annihilation adventure for D&D 5e, there is a location in Chult called Dungrunglung (pp. 49-52). This location includes a maze.

So, the moment the party step into the maze (which surrounds the grung settlement of Dungrunglung), the grungs "greet" them immediately and escort them to the centre, which of course means they are going through the maze with the party. On page 49, it has this to say about the maze itself, and what one may expect whilst trying to navigate it:

The maze’s passages are open to the sky and magically change configuration every minute or so, turning passageways into dead ends, and vice versa. Whichever character is leading the way through the maze must make six successful DC 15 Wisdom (Survival) checks to find the entrance to the settlement (area 2). Each successful or failed check represents 1 minute of searching the maze.

This, to me, implies that the grungs themselves can get lost in their own maze (and after apparently having just travelled through it already to greet the party). Is this true?

Is there anything that I’ve missed that might imply that, while being guided through the maze by the grungs, the (escorted) party and grungs do not get lost? Or do the party or the grungs still need to make Survival checks, potentially getting lost?

Does the DICOM file header gets lost when transferred over the network?

I am currently investigating the PEDICOM vulnerability CVE-2019-11687 where I am trying to reassemble the P-DATA DICOM fragments from a PCAP. Since the vulnerability takes advantage of writing bytes onto the header, I want to investigate this. When sniffing the network and trying to capture and reassemble the file, when sent over the network using the DICOM protocol does it loose its header and the only information is sent are the different data elements?