Set up the shoe and draw. Cards are dealt server-side without replacement — a dealt card is gone until you reset, exactly like a physical shoe.
A real shoe, honestly shuffled
Cards are drawn without replacement: once dealt, a card is gone, so a duplicate can only appear when more than one deck is in the shoe. That is the same dependency card counters exploit — and the reason online blackjack reshuffles every hand.
The named-card odds use the hypergeometric distribution — the probability that at least one copy of a specific card lands in your draw given the shoe size and the number of copies it holds.
Methodology
Each draw removes a uniformly random card from the remaining shoe via PHP's random_int (CSPRNG). The named-card probability is hypergeometric: 1 − C(pool−copies, n) / C(pool, n), where copies equals the number of decks.