Work out argon2 parameters instantly with clear inputs, formula shown and shareable results.
Argon2id is memory-hard, so its defence comes from the memory cost rather than iteration count: an attacker must provide that much memory per parallel guess, which is what breaks cheap GPU and ASIC parallelism. The constraint on your side is that concurrent logins multiply the memory requirement, so 64 MiB with 20 simultaneous logins reserves 1.25 GiB.
Argon2 resource use
peak memory = memory cost x concurrent logins; time ~ memory x passes x hardware factor; threads = lanes x concurrent logins
Argon2id. It combines Argon2i's side-channel resistance in the first pass with Argon2d's stronger resistance to time-memory trade-offs afterwards.
Up to your server's limit. Trade memory against passes: OWASP notes that 19 MiB with two passes and 46 MiB with one pass offer comparable resistance.