Yes you may patch the limewire.props file to force you to the UltraPeer mode. But this won't even work if you can't accept incoming connections: LimeWire tests this by sending a connection callback request, and as long as the callback is not answered by an incoming TCP connection, the UltraPeer mode will not work!
Accepting incoming UDP is also a bonus but it is not required for now (but highly recommanded to speed up your own searches and also help firewalled leaf nodes connected to you to get faster results with less queries).
Before sending lots of UDP queries, LimeWire also sends a secured UDP callback request to see if this will work (else these UDP callback requests would be a nuisance and could constitute an open door for possible DDoS attack against some web sites).
It is absolutely necessary to test UDP support with a very tiny test message before attempting any large Gnutella request to any host on the Internet, and if your host cannot receive UDP packets through an unconfigured router, LimeWire will perform all its queries through TCP connections and will not receive any UDP query hit or browse host results.
This restriction does not apply to LANs where LimeWire tests for the support of IP Multicast to perform efficient searches on all hosts of a LAN through UDP on Multicast. |