-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kademlia #93
Comments
The network is decentralized. Here is an example from my servers.ini, but IPs change all the time.
boot_peers = [ |
Thank you for providing the list. I suppose I only have to open Kad UDP port and not individual ports of each IPs above. Am I right? Thanks |
I have the feeling that the Kad network is not working as it should. In my particular case it appears to be operational, with enough peers and a good list of boot servers and yet it doesn't seem to find anything on that network. I have made the test of installing an eMule in a virtual machine, put to download a file that in MLDonkey appears to me without sources and in eMule at the moment I found someone in the Kad network that had it. Then I made the verification of downloading a file from myself and in eMule my MLDonkey client appears as not connected to the Kad network. And as I said before, in the statistics section -> Kademilia it says: |
For me, MLDonkey shows this message even when I used the IPs given above.
Maybe MLDonkey is not setup correctly in my case. Does it work for anyone at all? @ygrek can you please confirm if Kad client in MLDonkey does work ? If it does, I will appreciate if you could provide some guidelines to set it up properly. Thanks @ogarcia I wonder if you have tried to investigate the issue by enabling debug ? At least in your case Kad client can connect to the peers. Can you share your config ? I will investigate it as well. Thanks |
FWIW, did you just read the messge? "there maybe a problem with incoming udp packets". Are you getting any incoming UDP packets? Firewall / NAT settings etc. |
@yolanjoy The truth is that there is nothing strange about my configuration:
The port is open in the firewall and the NAT rule is correctly configured in the router. Full donkey.ini port = 14860
max_connected_servers = 3
reliable_sources = true
ban_identity_thieves = true
server_black_list = []
force_high_id = false
force_client_high_id = false
update_server_list_server = false
update_server_list_server_met = true
update_server_list_client = false
max_sources_per_file = 5000
client_md4 = 4608B2DBF75A72383EB74BB6BCC20B7B
client_private_key = "a key"
enable_sui = true
min_users_on_server = 0
max_published_files = 200
login = ""
old_files = []
Overnet = {
protocol_connectreply_version = 44
protocol_connect_version = 1044
update_nodes = true
md4 = "4608B2DBF75A72383EB74BB6BCC20B7B"
republish = 10800.
search_keyword = true
store_size = 2000
port = 12540
}
Kademlia = {
update_nodes = true
md4 = "4608B2DBF75A72383EB74BB6BCC20B7B"
republish = 10800.
search_keyword = true
store_size = 2000
port = 14868
}
max_xs_packets = 30
check_client_connections_delay = 180.
client_timeout = 40.
keep_best_server = true
connect_only_preferred_server = false
max_walker_servers = 1
walker_server_lifetime = 300
log_clients_on_console = false
propagate_sources = false
keep_sources = true
black_list = true
port_black_list = []
queued_timeout = 1800.
upload_timeout = 600.
upload_lifetime = 90
upload_full_chunks = true
upload_complete_chunks = false
dynamic_upload_lifetime = false
dynamic_upload_threshold = 10
connected_server_timeout = 1800.
upload_power = 5
max_server_age = 2
remove_old_servers_delay = 900.
min_left_servers = 20
servers_walking_period = 6
keep_cancelled_in_old_files = false
keep_downloaded_in_old_files = false
send_warning_messages = false
ban_queue_jumpers = true
use_server_ip = true
ban_period = 1
good_client_rank = 500
options_version = 4 NOTE: All MD4s are invented (not real) |
"incoming udp packets". You need to set up port forwarding at the router if you are behind NAT. Many consumer grade routers don't even give you the option to set up port forwarding at NAT'ed routers. (It is more a hosting feature for hosting for virtual server farms, which many consumer network explicitly disallows in their service agreement) . If you don't comprehend any of this, you probably have not set up your router correctly, or your router is of limited functionality and does not provide this option. Also, your ISP might block "incoming" UDP packets of a certain kind at their discretion. (To test that you'll basically need to move your computer to a different network...). Anyway, too much already. |
I've port forwarding setup on the router. I Installed eMule v070a and have kad is working within it. I think Mldonkey is much more flexible and have more features but many of them have not been documented ( at least I couldn't find ) . |
I just installed mldonkey 3.2.1 compiled from sources, it seems that I cannot get responses from the Kademlia network. If I execute the kad_stats I get the Kademlia Connectivity: NOT enough online peers ,there maybe a problem with incoming udp packets response. I executed a kad_load nodes.dat using a nodes.dat file copied from a well running aMule installation: I can see the outgoing UDP packets, but none of the hosts respond to me (the mldonkey host is a GNU/Linux machine with public IP address and the UDP port is open). I also tried a kad_boot [ip] [port] using the IP address and port of the running aMule host; I can see the UDP packet arriving to the aMule host, but aMule does not respond either. May be the outgoing UDP packets are not well formed? |
I can confirm, that Kadmlia doesn't work. Neither if nodes.dat file provided, nor if kad_boot command is given manually. MLNet 3.2.1 compiled from github sources. |
I have found, that no network activity (no outgoing packet to given ip/port) after givin kad_boot command. So, this is not a firewall problem. |
I am not right. After enabling kademlia and restarting it tries to communicate with remote hosts, after giving command
After this, communication with specified ip/port stopped. Results of
After this, mlnet tries to communicate with a few hosts by sending 27 bytes, but receives no reply. And after some time |
After trying another IP:PORT pair with |
Looks like Kademlia search doesn't work at all. It prints non-zero numbers in statistics, but search results completely depend on server responses only, as I think. How to test the search function? |
(ftr I never used edk network and have no idea how it works so cannot give much help here, if there are well-identified code bugs I will try to fix what I can) |
Hi,
I coouldn't find a reference to get Kademlia working with mldonkey. I've enabled it but I see this message
Kademlia is enabled | Kademlia Connectivity: NOT enough online peers ,there maybe a problem with incoming udp packets
I understand it needs boot peers and there is an option to put a list of IP addresses in servers.ini. I don't know where it get those.
Looking online , nodes.dat exist but I don't know how to use/load it in mldonkey.
Please advise,
Thanks
The text was updated successfully, but these errors were encountered: