It's surprising that using a non-standard listening port will cause peers to actively avoid connecting to you, is it sensible to add this to the help message and the warnings on startup if people have changed the default? I can't find this behavior mentioned anywhere except for the comments in net.cpp. 

```
// do not allow non-default ports, unless after 50 invalid addresses selected already
if (addr.GetPort() != Params().GetDefaultPort() && nTries < 50)
continue;
```

https://github.com/bitcoin/bitcoin/blob/master/src/net.cpp#L1369

if (args.IsArgSet("-dustrelayfee")) {
        CAmount n = 0;
        if (!ParseMoney(args.GetArg("-dustrelayfee", ""), n))
            return InitError(AmountErrMsg("dustrelayfee", args.GetArg("-dustrelayfee", "")));
        dustRelayFee = CFeeRate(n);
    }
    fRequireStandard = !args.GetBoolArg("-acceptnonstdtxn", !chainparams.RequireStandard());
    if (!chainparams.IsTestChain() && !fRequireStandard) {
        return InitError(strprintf(Untranslated("acceptnonstdtxn is not currently supported for %s chain"), chainparams.NetworkIDString()));
    }
    nBytesPerSigOp = args.GetArg("-bytespersigop", nBytesPerSigOp);
    if (!g_wallet_init_interface.ParameterInteraction()) return false;
    fIsBareMultisigStd = args.GetBoolArg("-permitbaremultisig", DEFAULT_PERMIT_BAREMULTISIG);
    fAcceptDatacarrier = args.GetBoolArg("-datacarrier", DEFAULT_ACCEPT_DATACARRIER);
    nMaxDatacarrierBytes = args.GetArg("-datacarriersize", nMaxDatacarrierBytes);
    
    SetMockTime(args.GetArg("-mocktime", 0)); 
    if (args.GetBoolArg("-peerbloomfilters", DEFAULT_PEERBLOOMFILTERS))
        nLocalServices = ServiceFlags(nLocalServices | NODE_BLOOM);
    if (args.GetArg("-rpcserialversion", DEFAULT_RPC_SERIALIZE_VERSION) < 0)
        return InitError(Untranslated("rpcserialversion must be non-negative."));
    if (args.GetArg("-rpcserialversion", DEFAULT_RPC_SERIALIZE_VERSION) > 1)
        return InitError(Untranslated("Unknown rpcserialversion requested."));
    nMaxTipAge = args.GetArg("-maxtipage", DEFAULT_MAX_TIP_AGE);
    if (args.IsArgSet("-proxy") && args.GetArg("-proxy", "").empty()) {
        return InitError(_("No proxy server specified. Use -proxy=<ip> or -proxy=<ip:port>."));
    }
    return true;
}
static bool LockDataDirectory(bool probeOnly)