MLdonkeyOptionsExplained

From MLDonkey
Jump to: navigation, search

MLDonkey behavior can be altered by many user definable settings, or "options". All options are stored in .ini files located in MLdonkey startup folder. Those files also contain some comments for the options they contain.

GUIs usually provide a mean to edit a subset of the options, but as a last resort, you can use the set internal command, or even edit the options files (while the core isn't running). In the later case inputs aren't immediately validated, so be careful. Notice that options files syntax also do not always match the command interpreter syntax, especially for non-scalar values. See EnteringMultipleValues.

Modifying the value of an option can sometime trigger an action. That's often used to check that the new value is acceptable, and revert it to something allowed if not; But in few cases more creative actions are triggered.

A lot of people have problems to configure mldonkey the right way, because there are so many options you can set. This page should help to understand all the different options, what their meaning is and what is a good value for them. Remark: default values are usually reasonable ones. Modifying options can decrease performance just as much as they can increase it. Double check what you're doing, and when in doubt, keep track of what you're doing so you can revert it later.

Let's have a look:

Contents

Not yet classified

o Allow or disallow MLdonkey to emulate sparse files on the filesystems that don't have their native support

emulate_sparsefiles = false

o The md4-hash of this client:

client_md4 = "275EB15A200E020DC0ED6FF0D1B96F40"

o no description available:

retry_delay = 3600.000000

o The number of UDP packets you send every check_client_connections_delay:

max_udp_sends = 10

o This option defines a set of date at which some commands have to be executed:

calendar = []

o Use the IP specified by 'client_ip' instead of trying to determine it ourself. Don't set this option to true if you have dynamic IP.

force_client_ip = false

o The last IP address used for this client:

client_ip = "192.168.0.2"

o Allow or disallow automatic discovery of the IP address on startup by connecting to http://ip.discoveryvip.com/ip.asp

discover_ip = true

o Name of program used for preview (first arg is local filename, second arg is name of file as searched on eDonkey:

previewer = mldonkey_previewer

o small name of client:

client_name = <your_nick>

Bandwidth

o Maximal number of opened connections:

max_opened_connections = 156

o The size of the header of a TCP/IP packet on your connection (ppp adds 14 bytes sometimes, so modify to take that into account):

tcpip_packet_size = 40

o The size of the MTU of a TCP/IP packet on your connection

mtu_packet_size = 1500

o The size of the minimal packet you want mldonkey to send when data is available on the connection

minimal_packet_size = 600

o How many samples go into an estimate of transfer rates:

download_sample_size = 10

o The delay between one glance at a file and another:

download_sample_rate = 1.000000

Upload

o Directories where files will be shared:

shared_directories = []

o A list of extensions of files that should be shared. Files with extensions not in the list will not be shared (except if the list is empty :):

shared_extensions = []

o Allow others to browse our share list (0 = none , 1 = friends only, 2=everyone)

allow_browse_share = 2

o The maximal upload rate you can tolerate on your link in kB/s (0 = no limit). The limit will apply on all your connections (clients and servers) and both control and data messages.:

max_hard_upload_rate = 0

o How many slots can be used for upload:

max_upload_slots = 10

o How many percent of upload slots can be used for downloading files tagged as release

max_release_slots = 20

o Set this to true if you want to have dynamic upload slot allocation (experimental)

dynamic_slots = false

o The weight of upload on a donkey connection compared to upload on other peer-to-peer networks. Setting it to 5 for example means that a donkey connection will be allowed to send 5 times more information per second than an Open Napster connection. This is done to favorise donkey connections over other networks, where upload is less efficient, without preventing upload from these networks.:

upload_power = 5

o How long can a silent client stay in the upload queue:

upload_timeout = 1800.000000

o How long a downloading client can stay in my upload queue (in minutes >5)

upload_lifetime = 90

o Each client upload lifetime depends on download-upload ratio

dynamic_upload_lifetime = false

o Uploaded zones (1 zone = 180 kBytes) needed to enable the dynamic upload lifetime

dynamic_upload_threshold = 10

o Set aside a single reserved slot to upload to friends

friends_upload_slot = true

o Maximum file size to benefit from the reserved slot for small files

small_files_slot_limit = 10240

Download

o The maximal download rate you can tolerate on your link in kB/s (0 = no limit). The limit will apply on all your connections (clients and servers) and both control and data messages.:

max_hard_download_rate = 0

o The maximal number of files in Downloading state (other ones are Queued)

max_concurrent_downloads = 60

o Maximal number of incoming connections at any moment (default 10000 = unlimited :)

max_indirect_connections = 10000

o The directory where temporary files should be put:

temp_directory = "/home/share/mldonkey/temp"

o The subdirectory of temp/ where files should be moved to:

commit_in_subdir = ""

o How many sources to use to download each chunk:

sources_per_chunk = 1

o Should we try to download chunks in random order (false = linearly) ?:

random_order_download = false

o Should mldonkey try to detect sources responsible for corruption and ban them

reliable_sources = false

o Are the cancelled files added to the old files list to prevent re-download ?:

keep_cancelled_in_old_files = false

o Set to true if you want all new downloads be paused immediatly, will be set to false on core start.

pause_new_downloads = false

Completed Files

o Set to false if you don't want mldonkey to automatically put completed files in incoming directory

auto_commit = true

o A command that is called when a file is completely downloaded. Arguments are: <file_name on disk> <md4-hash> <size>:

(At least in newer releases (2.04+) the order for the args is: <hash> <size> <name>)
file_completed_cmd = ""

o Your e-mail if you want to receive mails when downloads are completed:

mail = ""

o Does your mail-server need <...> around addresses

add_mail_brackets = false

o The port to use on the mail server (default 25):

smtp_port = 25

o The mail server you want to use (must be SMTP). Use hostname or IP address:

smtp_server = "127.0.0.1"

o Send filename in mail subject

filename_in_subject = true

o The files that were downloaded:

old_files = []

Servers

o Set to true if you also want mldonkey to run as a server (experimental):

enable_server = false

o Set this option to false if you don't want auto update of servers list:

update_server_list = true

o Minimal number of servers remaining after remove_old_servers:

min_left_servers = 200

o The minimal number of users for a server to be admitted as one of the 5 master servers:

master_server_min_users = 0

o The minimal number of users for a server to be stayed connected:

min_users_on_server = 0

o A list of lines to download on the WEB: each line has the format: (kind, period, url), where kind is either 'server.met' (for a server.met file), or 'comments.met' for a file of comments, and period is the period between updates (in hours), and url is the url of the file to download. IMPORTANT: Put the URL and the kind between quotes.

EXAMPLE:
 web_infos = [('server.met', 1, 'http://www.primusnet.ch/users/komintern/ed2k/min/server.met')]
web_infos = [
("server.met", 1, "http://ocbmaurice.dyns.net/pl/slist.pl?download");
(ocl, 1, "http://members.lycos.co.uk/appbyhp2/~FlockHelpApp/contact-files/contact.ocl")]

o How often should we check all servers (minimum 4 hours, 0 to disable):

servers_walking_period = 6

o Number of servers that can be used to walk between servers:

max_walker_servers = 1

o Set this option to false if you don't want mldonkey to change the master servers it is connected to:

keep_best_server = true

o max number of days after which an unconnected server is removed:

max_server_age = 2

o How long can a silent server stay connected:

connected_server_timeout = 1800.000000

o The number of servers you want to stay connected to:

max_connected_servers = 1

o no description available:

black_list = true

o A list of server IP to remove from server list. Servers on this list can't be added, and will eventually be removed:

server_black_list = []

o A list of ports that specify servers to remove from server list. Servers with ports on this list can't be added, and will eventually be removed:

port_black_list = []

o immediately close connection to ed2k-servers that don't grant a High ID:

ED2K-force_high_id = false

o The version of the protocol that should be sent to servers (need restart) :

protocol_version = 61 (now hardcoded)

o The delay between server connection rounds:

check_connections_delay = 5.000000

o timeout when connecting to a server:

server_connection_timeout = 5.000000

o Initial delay after sending the first localisation queries to a server, before sending other localisation queries.:

files_queries_initial_delay = 20

o Maximal number of localisation queries that can be sent to one server per minute. Some servers kick clients when this value is greater than 1:

files_queries_per_minute = 1

o Initial score for a new server:

initial_score = 5

o Set to true if you want mldonkey client to connect to edonkey servers (enable_donkey must be true).:

enable_servers = true

GUI

o Name of GUI to start:

mldonkey_gui = "/home/share/mldonkey/mldonkey_gui"

o Automatically Start the GUI:

start_gui = false

o Ask for GUI start:

ask_for_gui = true

o Delay between updates to the GUI:

update_gui_delay = 1.000000

o The size of the buffer between the client and its GUI. Can be useful to increase when the connection between them has a small bandwith:

interface_buffer = 1000000


Web & Telnet UI

o The size long names will be shortened to in the interface:

max_name_len = 50

o The size long client names will be shortened to in the interface:

max_client_name_len = 25

o Is the default terminal an ANSI terminal (escape sequences can be used)

term_ansi = true

o URL where mldonkey can download update information on the network:

network_update_url = "http://savannah.nongnu.org/download/mldonkey/network/"

(Important note: the above URL is totally bogus (non-existent)! Does anyone know what the proper setting for this option should be? -- conrads)

o The height of the command frame in pixel (depends on your screen and browser sizes):

commands_frame_height = 140

o This option controls whether the WEB interface should use frames or not:

use_html_frames = true

o Whether to use checkboxes in the WEB interface:

html_checkbox_file_list = true

o The delay between reloads of the vd output in the WEB interface:

vd_reload_delay = 120

o The prefix which is appended to options names when they are used in the telnet/WEB interfaces:

options_prefix = ""

o Message printed at startup (automatically downloaded from network_update_url:

motd_html = "Welcome to MLdonkey"

Banning

o Set the number of hours you want client to remain banned:

ban_period = 1

o true if you want your client to ban clients that try queue jumping (3 reconnections faster than 9 minutes):

ban_queue_jumpers = true

o true if you want your mldonkey to lose some upload bandwidth sending messages to clients which are banned :):

send_warning_messages = false

o [Regexp] of messages to filter out, example: string1\||string2\||string3:

messages_filter = "Your client is connecting too fast"

o IP blocking list filename (peerguardian format), can also be in gz/bz2/zip format

Zip files must contain either a file named guarding.p2p or guarding_full.p2p.
ip_blocking = ""

o Keep IP blocking ranges descriptions in memory

ip_blocking_descriptions = false

o Space-seperated List of countries to block connections from/to (requires Geoip). Names are in ISO 3166 format, see http://www.maxmind.com/app/iso3166 You can also at your own risk use "Unknown", for IPs Geoip won't recognize.

ip_blocking_countries = ""

o Switch to use ip_blocking_countries as block list (false) or as white list (true)

ip_blocking_countries_block = false

Sources

o Minimal number of sources for a file:

min_left_sources = 100

o Maximal number of sources for each file:

max_sources_per_file = 500

o clients that give ranks higher than good_client_rank fall is a scheduling queue with lower priority, so if you have lots of sources, connecting to those clients will be delayed (or not done altogether)

 good client rank = 500

o Sources that have not been connected for this number of days are removed:

max_source_age = 3

o Allow mldonkey to propagate your sources to other donkey clients:

propagate_sources = true

o The minimal delay between two connections to the same client (in seconds):

min_reask_delay = 600

o The maximal delay between two connections to the same client:

max_reask_delay = 3600

o Maximal number of connections to sources per second:

max_clients_per_second = 5

o Delay used to request file sources:

check_client_connections_delay = 180.000000

o Timeout on client connections when not queued:

client_timeout = 120.000000

o How long should we wait in the queue of another client:

queued_timeout = 1800.000000

Search

o Maximal number of results displayed for a search:

max_displayed_results = 1000

o Whether to display results already downloaded:

display_downloaded_results = true

o Max number of UDP packets per round for eXtended Search:

max_xs_packets = 30

o Minimal number of results for filter form to appear:

filter_table_threshold = 50

o filters on replies (replies will be kept).:

filters = ""

Chat

o Max number of messages of Chat remembered:

max_dialog_history = 30

o use the chat to indicate when a file has been downloaded:

chat_warning_for_downloaded = true

o the id to use for communicating with the core console through chat interface:

chat_console_id = "donkey console"

o port used by the external chat application to use the core as a proxy:

chat_port = 4002

o hostname of the external chat application:

chat_app_host = localhost

o port of the external chat application:

chat_app_port = 5036

p2p Protocols

o Set to true if you also want mldonkey to run as a donkey client:

enable_donkey = true

o Set to true if you also want mldonkey to run as a overnet client:

enable_overnet = true

o Set to true if you also want mldonkey to run as a kad client (since 2.5-23):

enable_kademlia = true

o Set to true if you also want mldonkey to run as a bittorrent client:

enable_bittorrent = true

o Set to true if you also want mldonkey to run as a FileTP client:

enable_filetp = true

o Set to true if you also want mldonkey to run as a OpenFT sub node (experimental):

enable_openft = false

o Set to true if you also want mldonkey to run as a direct-connect node (experimental):

enable_directconnect = false

o Set to true if you also want mldonkey to run as a gnutella sub node (experimental):

enable_gnutella = false

o Set to true if you also want mldonkey to run as a gnutella2 sub node (experimental):

enable_gnutella2 = false

o Set to true if you also want mldonkey to run as an audiogalaxy satellite (experimental):

enable_audiogalaxy = false

o Set to true if you also want mldonkey to run as a soulseek client (experimental):

enable_soulseek = false

o Set to true if you also want mldonkey to run as a napster client (experimental):

enable_opennap = false

eDonkey

o Allow or disallow eDonkey module to collect statistics on eMule client flavors

emule_mods_count = false

o Allow or disallow MLDonkey to send exactly only one chunk every upload session, independently if it is empty or partial

ED2K-upload_complete_chunks = false

o Allow or disallow MLDonkey to send one chunk of data every upload session

ED2K-upload_full_chunks = true

o Switch the eDonkey protocol into firewalled mode. When in firewalled mode, the eDonkey cannot be reached directly. Turning this option on changes the handshake a bit when mldonkey connects to a client by identifying with the ID instead of the IP address. You should only turn this on when your client has a so called "low ID".

firewalled_mode = true

Overnet

o Max number of hits in a search on Overnet:

overnet_max_search_hits = 200

o Period between two queries in the overnet tree (should not be set under 5):

overnet_query_peer_period = 5.000000

o How long should a search on Overnet wait for the last answer before terminating:

overnet_search_timeout = 140

o allow extended search to search on overnet:

overnet_search_keyword = false

o maximal number of peers to keep overnet connected (should be >2048):

overnet_max_known_peers = 8192

o port for overnet:

overnet_port = 6517

o Size of the filename storage used to answer queries:

overnet_store_size = 2000

o Should overnet be verbose ?:

verbose_overnet = false

Bittorrent

o Ask the tracker for new sources only if you have fewer than that number of sources:

BT-ask_tracker_threshold = 20

o The port to bind the client to

BT-client_port = 6881

o Timeout on client connections

BT-client_timeout = 90.

o The UID of this client

BT-client_uid = REGUYAAAG4XDKLIOWV7Z4SHW6W51C4JC

o Let you define a default comment for creating torrents

BT-default_comment = ""

o Let you define a default tracker for creating torrents (leave empty for mlnet tracker)

BT-default_tracker = ""

o Maximum number of uploaders for bittorrent

BT-max_bt_uploaders = 5

o The maximal number of tracked files (to prevend saturation attack)

BT-max_tracked_files = 100

o Maximum number of HTTP redirects before reaching the tracker - maximum 10, 0 to disable

BT-max_tracker_redirect = 1

o The maximal number of peers returned by the tracker

BT-max_tracker_reply = 20

o Maximum number of uploaders for one torrent

BT-max_uploaders_per_torrent = 5

o Minimum time in seconds to wait between asking the tracker for sources

BT-min_tracker_reask_interval = 300

o Number of peers to request from tracker (Negative # = let tracker decide)

BT-numwant = -1

o (internal option)

BT-options_version = 0

o Send client key to trackers

BT-send_key = true

o The tracker will check the torrent file is available if an announce request is received

BT-tracker_force_local_torrents = true

o The port to bind the tracker to

BT-tracker_port = 6881

o The tracker will check the client key to update ip if changed

BT-tracker_use_key = true

o User agent string (default = "default")

BT-user_agent = "default"

Security

o list of IP address allowed to control the client via telnet/GUI/WEB:

allowed_ips = [
 "127.0.0.1"]

o The users that are defined on this core. The default user is called 'admin', and uses an empty password. To create new users, login as admin in mldonkey, and use the 'add_user' command.

users = [
 (admin, "31D6CFE0D16AE931B73C59D7E0C089C0");]

o The password to access your client from the GUI (setting it disables the command-line client):

password = ""

o Your login when using a WEB browser:

http_password http_login = ""

o Your password when using a WEB browser:

http_password = ""

o The realm shown when connecting with a WEB browser:

http_password http_realm = MLdonkey

o The login of the user you want mldonkey to run as, after the ports have been bound (can be use not to run with root priviledges when a port < 1024 is needed):

run_as_user = ""

o The login of the user you want mldonkey to run as, after the ports have been bound (can be use not to run with root priviledges when a port < 1024 is needed):

run_as_useruid = ""

Ports and IP binding addresses

o The port used for connection by other donkey clients.:

port = 4662

o port for user interaction:

telnet_port = 4000

o The port used to connect to your client with a WEB browser:

http_port = 4080

o port for user interaction:

gui_port = 4001

o port for GIFT GUI interaction:

gift_port = 1213

o The IP address used to bind the donkey client:

donkey_bind_addr = "0.0.0.0"

o The IP address used to bind the chat server:

chat_bind_addr = "0.0.0.0"

o The IP address used to bind the telnet server:

telnet_bind_addr = "0.0.0.0"

o The IP address used to bind the gui server:

gui_bind_addr = "0.0.0.0"

o The IP address used to bind the http server:

http_bind_addr = "0.0.0.0"

Internal Options

o (internal option):

options_version = 1

o The percentage of free memory before a compaction is triggered:

compaction_overhead = 25

o Force compaction every <n> hours (in 1..24):

compaction_delay = 2

o The delay between two saves of the 'downloads.ini' file (default is 4 minutes):

save_options_delay = 900.000000

o Maximal size of the buffers of a client:

client_buffer_size = 500000

o Mininum free space in MB on core directory, minimum 20

hdd_coredir_minfree = 50

o If true core shuts down when free space on core dir is below hdd_coredir_minfree, otherwise all downloads are paused and a warning email is sent.

hdd_coredir_stop_core = true

o Send a warning mail each <interval> hours for each directory, 0 to deactivate mail warnings.

hdd_send_warning_interval = 1

o Mininum free space in MB on temp_directory, minimum 50

hdd_temp_minfree = 50

o If true core shuts down when free space on temp dir is below hdd_temp_minfree, otherwise all downloads are paused and a warning email is sent.

hdd_temp_stop_core = false

o Size of the minor heap in kB:

minor_heap_size = 32

o Directory where mldonkey binaries are installed:

mldonkey_bin = "/home/share/mldonkey"

Shell

o List of shell commands that are allowed to be called from the interface.

allowed_commands = [
 (df, df);
 (ls, "ls incoming");]

o Override the restrictions set by allowed_commands (this is a major security risk!):

allow_any_command = false

Debug

o The file in which you want mldonkey to log its debug messages. If you set this option, mldonkey will log this info in the file until you use the 'close_log' command. The log file may become very large. You can also enable logging in a file after startup using the 'log_file' command.

log_file = ""

o size of log in number of records

log_size = 300

o no description available:

log_clients_on_console = true

o A space-separated list of keywords. Each keyword triggers printing information on the corresponding messages:

verbosity = ""


LanguagesEnglish

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox