UPnP and it must be supported by the router, which not all routers actually support. Some support it but disable the feature by default, so the router still needs to be configured. And of course, UPnP support is only in betas, which the user may or may not have. I won't recommend any features that are in a beta version of mIRC- when a final release is out, the solution might change. Until then, configuring the router is a better idea. In either case, it's irrelevant whether UPnP or manual port forwarding is used.

Passive DCC reverses how the connection is made. The sender usually receives the connection-- with passive DCC on, the receiver receives the connection. Therefore it's not just "one" person who has to have the port open, it has to be the right person. Automatic versus manual mapping is irrelevant, the point is that the receiver has to have the port open with passive on, the sender must have it otherwise. This means a passive DCC SEND will not work when the user sends to someone who does not have DCC configured.

- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"