How can I quickly get a player back into a session after their character dies?

As a GM, what kind of techniques could I use to help a player re-join the gaming session after their character dies? I want to avoid any major interruptions to the flow of the adventure. I would also like to avoid having to end the session immediately or making them sit on the side-lines for the rest of the session.

Rolling back transaction with trx_mysql_thread_id of 0 create deadlocks on update

I’m using MySQL 5.6.41 on AWS RDS.

I have seen, recently, lot of transactions ending as deadlocks.

Using SELECT * FROM information_schema.innodb_trx;

I found that a transaction was always there.

+--------------+--------------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+------------------+----------------------------+ |    trx_id    |  trx_state   |     trx_started     | trx_requested_lock_id | trx_wait_started | trx_weight | trx_mysql_thread_id | trx_query | trx_operation_state | trx_tables_in_use | trx_tables_locked | trx_lock_structs | trx_lock_memory_bytes | trx_rows_locked | trx_rows_modified | trx_concurrency_tickets | trx_isolation_level | trx_unique_checks | trx_foreign_key_checks | trx_last_foreign_key_error | trx_adaptive_hash_latched | trx_adaptive_hash_timeout | trx_is_read_only | trx_autocommit_non_locking | +--------------+--------------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+------------------+----------------------------+ | 294492387379 | ROLLING BACK | 2020-09-10 09:03:09 |                       |                  |   60603568 |                   0 |           |                     |                 0 |                 0 |             1911 |                194088 |            1676 |          60601657 |                       0 | REPEATABLE READ     |                 1 |                      1 |                            |                         0 |                     10000 |                0 |                          0 | +--------------+--------------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+------------------+----------------------------+ 

I have found a ROLLING BACK transaction with a trx_mysql_thread_id of 0. This transaction was the one blocking others.

To be sure, I ran this: SELECT * FROM information_schema.innodb_lock_waits;

+-------------------+-----------------------------+-----------------+-----------------------------+ | requesting_trx_id |      requested_lock_id      | blocking_trx_id |      blocking_lock_id       | +-------------------+-----------------------------+-----------------+-----------------------------+ |      294906405784 | 294906405784:426:27705081:4 |    294492387379 | 294492387379:426:27705081:4 | |      294906405563 | 294906405563:426:16826188:4 |    294492387379 | 294492387379:426:16826188:4 | +-------------------+-----------------------------+-----------------+-----------------------------+  

This command XA RECOVER; gives no results.

Is there a way to terminate the blocking transaction? Or find what is causing this?

Writing a plugin to track user purchase and post back that using API? [closed]

I am writing a plugin to track user purchase and post back that using API.

First the user visit a third party listing site and logs in. Then he clicks the listing and visits a wordpress store with this plugin.
I need to store that user info for 30 days. In that window period if he makes purchase i will pay commission to the third party listing site.

Can you suggest any code examples or free and paid plugins to look at.

Understanding the proof of “DFS of undirected graph $G$, yields either tree edge or back edge” better with graph for each statement in proof

I was going through the edge classification section by $ \text{DFS}$ algorithm on an undirected graph from the text Introduction to Algorithms by Cormen et. al. where I came across the following proof. I was having a little difficulty in understanding the steps of the proof and hence I made an attempt to understand it fully by accompanying each statement in the proof with a possible graph of the situation.

Theorem 22.10 : In a depth-first search of an un-directed graph $ G$ , every edge of $ G$ is either a tree edge or a back edge.


  1. Let $ (u , v)$ be an arbitrary edge of $ G$ , and suppose without loss of generality that $ d[u] < d[v]$ . Then, $ v$ must be discovered and finished before we finish $ u$ (while $ u$ is gray), since $ v$ is on $ u$ ‘s adjacency list.

  2. If the edge $ (u, v)$ is explored first in the direction from $ u$ to $ v$ , then $ v$ is undiscovered (white) until that time.

Figure 1

Figure 1 : Situation in point 2. DFS starts from ‘u’, ‘u’ is grayed and DFS then looks along the red arrow to ‘v’

  1. Otherwise we would have explored this edge already in the direction from $ v$ to $ u$ . Thus, $ (u, v)$ becomes a tree edge.

Figure 2

Figure 2 : Situation in point 3. DFS starts from ‘u’, ‘u’ is grayed, then discoveres ‘w’ and ‘w’ is grayed and then again discovers ‘v’ DFS then looks along the red arrow to ‘u’ , the green pointer explains the rest

  1. If $ (u, v)$ is explored first in the direction from $ v$ to $ u$ , then $ (u, v)$ is a back edge, since $ u$ is still gray at the time the edge is first explored.

Figure 3

Figure 3 : Situation in point 4. DFS starts from ‘u’, ‘u’ is grayed, then discoveres ‘w’ and ‘w’ is grayed and then again discovers ‘v’ DFS then looks along the red arrow to ‘u’ , ‘u’ is already grayed so the edge becomes a back edge, indicated by the green pointer

Could anyone confirm if I am on the right track or if not please rectify me.

[My question might seem similar to this or this but neither of them seemed to help me]

Does the Iron Flask let you Order the Creature Back in Without a Save?

So I have an Iron Flask in my current campaign, and we happened to find out that it contains Tiamat. We released her to have a conversation, where she threatened to eat me at the end of the hour. Since it didn’t directly lead to her death, I ordered her back in the Flask, but am not sure if that’s okay? If you order the creature in, do they still get to make the save?

Is there any way for a Mind Flayer to go back to their original human(oid) form?

According to 5e lore, the Mind Flayer / Illithid lore reproduces via ceremorphosis: a tiny illithid-creature eats its way into the (sentient) target’s brain, forcing transformation to occur some time later.

Under what conditions is this either preventable &/or entirely reversible (Regeneration or Mind Protection rings, restorative / regenerative spells, back-up clones, polymorphs… anything at all)? Is there, once again, nothing lower level than Wish to solve this?

This is valuable for DMing & story-construction: many transformed illithids might / would / could miss their previous existence (such as an Illithid Arcanist or Mind Witness might). If such a reversal is possible, it would be fine to know.

Diamond shaped map: converting tile number to coordinates and back

I have a diamond shaped map that is deserialized/represented as follows:

   j  0  1  2  3  4  5  6  7 i  0     *  *  *  0  1  *  *  * 1     *  *  2  3  4  5  *  * 2     *  6  7  8  9 10 11  * 3    12 13 14 15 16 17 18 19 4    20 21 22 23 24 25 26 27 5     * 28 29 30 31 32 33  * 6     *  * 34 35 36 37  *  * 7     *  *  * 38 39  *  *  *  

I want to convert the tile number, to its coordinates (i, j) and back. I have managed to convert a coordinate to its tile number like so:

Given a map width and height n: if(i< (n/2):     number = i*(i+1) + j else:     number = (2*((n/2)*((n/2)+1))) - ((n-i)*(n-i+1))) + j  So: (0, 3) -> 0; (6, 2) -> 34; 

However, I cannot figure out to go back to the coordinates from the tile numbers, because I have trouble with distilling the i parameter from the tile number.

I have tried googling with terms like "diamond shaped map tile numbers coordinates convert", but no luck.

Can someone point me in the right direction?

Email sent to 2 addresses with shared same organization domain and one bounced back. Was it successfully delivered to the other address?

It is my first time asking questions, so my apologies if there is any mistakes. I sent an email to 2 addresses (2 different departments in same organization with shared, one bounced back from due to ‘address not found’. I later found out it was a generated email address. Could someone please tell me if my email was successfully delivered to the other ‘good’ address (the other department)? Thank you very much for your great help in advance.