Difference between revisions of "FAQ aMule"

From AMule Project FAQ
Jump to: navigation, search
(Update of "What is a hash?")
m (Reverted edits by Argh (Talk); changed back to last version by Wuischke)
 
(175 intermediate revisions by 50 users not shown)
Line 1: Line 1:
<center><h2><u><h4>F.A.Q. on aMule</h4></u></h2>
+
<center>
<h2>by <i>Jacobo221</i></h2></center>
+
'''English''' |
 +
[[FAQ_aMule-de|Deutsch]] |
 +
[[FAQ_aMule-es|Espa&ntilde;ol]] |
 +
[[FAQ_aMule-fr|Fran&ccedil;ais]] |
 +
[[FAQ_aMule-it|Italiano]] |
 +
[[FAQ_aMule-pt_BR|Português]] |
 +
[[FAQ_aMule-nl|Nederlands]] |
 +
[[FAQ_aMule-ru|Russian]]
 +
</center>
  
 +
== What is [[aMule]]? ==
 +
'''''[[aMule]] is a multi-platform client for the [[FAQ_eD2k-Kademlia|ED2K file sharing network]] and based on the windows client [[eMule]].''''' aMule started in August 2003, as a fork of [[xMule]], which is a fork of [[lMule]].
  
== What is aMule? ==
+
aMule currently supports [http://www.kernel.org Linux], [http://www.freebsd.org FreeBSD], [http://www.openbsd.org OpenBSD], [http://www.microsoft.com Windows], [http://www.apple.com/macosx MacOS X] and [http://www.microsoft.com/xbox X-Box] on both [http://en.wikipedia.org/wiki/64-bit#32_vs_64_bit 32 and 64 bit] computers.  
'''''aMule is a multiplatform client for the ED2K file sharing network based on the windows client [[eMule]].'''''<br>
+
aMule started in August 2003 as a fork of [[xMule]], which is a fork of [[lMule]].
+
  
It currently supports Linux, FreeBSD, OpenBSD, Windows, MacOS X and X-Box on both 32 bits and 64 bits computers. It should be noted that the MacOS X and Windows ports ain't ready for general usage yet.
+
[[aMule]] is intended to be as user friendly and feature rich as [[eMule]] and to remain faithful to the look and feel of [[eMule]] so users familiar with either [[aMule]] or [[eMule]] will be able switch between the two easily.
  
[[aMule]] is intended to be as user-friendly and feature-plenty as [[eMule]] and to remain faithful to the look of [[eMule]], so users familiar with either [[aMule]] or [[eMule]] will be able switch between the two easily.
+
Since [[aMule]] is based upon the [[eMule]] codebase, new features in [[eMule]] tend to find their way into [[aMule]] soon after their inclusion into [[eMule]] so users of [[aMule]] can expect to ride the cutting-edge of [[FAQ_eD2k-Kademlia|ED2k]] clients.
  
Since [[aMule]] is based upon the [[eMule]] codebase, new features in [[eMule]] tend to find their way to [[aMule]] soon after their inclusion in [[eMule]], so users of [[aMule]] can expect to ride the cutting-edge of ED2k clients.
+
The best part is that it's developed by a great team whom are probably even more user friendly than [[aMule]] itself. Join us in #amule on irc.freenode.net or visit the [http://forum.amule.org aMule forums] if you have any suggestions, questions, problems, bugs, patches or anything else that you might think of.
  
The best part is, that it's developped by a great team which is even more user-friendly than aMule itself (if possible), so please join #amule on irc.freenode.net or visit the [http://www.amule.org/amule forums], if you have any suggestions, questions, problems, bugs, patches or what else you might think of.
+
If you are interested in joining the development team, please contact us via the [http://forum.amule.org aMule forums] or in the IRC channel.
  
If you are interested in joining the development team, please contact us either through the [http://www.amule.org/amule forums] or in the IRC channel.
+
== How do I view a client's credits? ==
 +
You can see any client's credits (the credits you owe the client) by right clicking on the client's nickname and selecting ''Show Details''. There is no specific value shown so you can either view the total amount of data that client has sent you or the ''Credits Modifier'' (which is called DL/UL Modifier). In the same dialog window, if that client is in your upload queue, you'll be able to view the client's rate and score on you.
  
 +
== What do those colors in the progress bar mean? ==
 +
<u>In the downloading transfers list:</u>
 +
*'''Red''' chunks have no sources on the current session.
 +
*'''Blue''' chunks have at least one source availble; the darker the blue, the more sources are available.
 +
*'''Yellow''' chunks are being downloaded at this very moment.
 +
*'''Black''' chunks have already been downloaded and verified.
 +
*'''Green'''  progress bars have been completely downloaded and successfully verified (and so will be in your 'incoming folder').
  
== What is ED2K? ==
+
<u>In the expanded transfers list (can be viewed by double-clicking a transfer):</u>
ED2K is a protocol originally used by the P2P (Peer-to-Peer) client [[eDonkey2000]], which is where the name comes from. It is a server-client based protocol, with the ability to exchange sources between clients.  
+
*'''Black''' chunks are those a client has and you don't.
 +
*'''White''' chunks are those that client doesn't have.
 +
*'''Green''' chunks are those both you and that client have.
 +
*'''Yellow''' chunks are those that client is currently uploading to you.
  
The ED2K network is server based unlike P2P networks such as [[Kazaa]], which means that the first thing you do when you run [[aMule]] is to connect to a server (either manually or automatically).  
+
<u>In the uploading transfers list:</u>
 +
*'''Black''' chunks are those that client has completed and verified.
 +
*'''Grey''' chunks are those that client doesn't have.
  
Once successfully connected to a server, the client can search, either locally (the connected server) or globally (all servers), for any file and the servers asked will provide the client will all the files which match search parameters.  
+
Not all clients support telling other clients what parts they have already completed when uploading, so some clients might have no bar at all.
  
If the user starts a download, the client will then ask the server for sources, which the server will return in the form of IP addresses for the clients that have told the server that they have the specific file.  
+
<u>In the shared-files window:</u>
 +
*'''Red''' chunks are those that have been found in any source apart from you.
 +
*'''Blue''' chunks—the darker the blue, the more spread that chunk is.<br><br>
  
If both users have HighID (see [[FAQ_aMule|What is LowID and HighID?]]) the transfer will be done directly from client to client (Peer-to-Peer), but if one of the clients have LowID, the connection will be established through the server, since LowID cannot accept incomming connections. As a result, two LowID clients '''cannot''' connect to each other.
+
<u>On the search windows:</u>
 +
*'''Black''' files have only one client.
 +
*'''Blue''' files have two or more clients have; the darker the blue, the more clients have have it.
 +
*'''Red''' files are already in the downloading queue.
 +
*'''Green''' files are those which you are already sharing (i.e., you have completely downloaded it).
  
 +
== What are all these icons? ==
 +
See section "Icons and what they signify" in the [[Getting_Started#Icons_and_What_They_Signify|Getting Started]] guide.
  
== What is Kademlia? ==
+
== What do those numbers in brackets in the sources column of the searches window mean? ==
Kademlia is a natural evolution of the ED2K network. Kademlia is the future. See [[FAQ_aMule|Are there any limitations on the ED2K network?]] for more information on why Kademlia is necessary.
+
Those are the clients who are known to have the complete file. Even if the number in brackets is 0, it doesn't mean that no one has the complete file, it juts means that no client has marked the shared file as "completed" (lots of clients don't do so). It's a way to have an idea of how many people have the complete file but not the definitive way.
  
Since Kademlia is a decentralized network, it removes the bottleneck that was previously caused by the need for servers (though [[Lugdunum]] has done great work in reducing this bottleneck). Now, instead of connecting to a server, you just connect to a client (with a known IP-address and port), which supports the network [[Kademlia]]. This is called the Boot Strapping.
+
== What do all those numbers in the sources column in the transfers window mean? ==
 +
The sources format is XX/YY + ZZ (WW) where
 +
*'''XX''' stands for the number of sources available (the number of sources found that you can download from)
 +
*'''YY''' stands for the number of sources found (the total number of sources found)
 +
*'''ZZ''' stands for the number of "Asked for another file" sources
 +
*'''WW''' stands for the number of sources from whom you are currently downloading some chunk of that file.
  
Once connected, depending on your ability to accept incoming connections, you are given either "open" or "firewalled" status, which is similar to the HighID and LowID of the ED2K network. Then you are given an ID.  
+
== What do all those numbers in the priority column in the extended transfers window mean? ==
 +
That's the queue position you have on that client for that specific file. Not all clients provide such information, so in some cases, nothing is displayed.
  
At the moment, "firewalled" users aren’t supported by the Kademlia network, and therefore won’t be given an ID and will be unable to connect. Firewalled support will be added later.
+
The number in brackets is the amount of positions you have "moved" through that client's upload queue. '''Negative''' numbers stand for positions you have '''won''' in the queue since you were added while '''positive''' numbers mean positions you've '''lost''' since you were added. Notice that when that number is negative, it is displayed blue, while when it's positive, it's displayed red.
  
When searching, each client acts as a small server and is given responsibility for certain keywords or sources. This adds to the complexity of finding sources, as you no longer have a central server to ask, but instead will have to propagate the query through the network.
+
== Why are there two transfer rates in the uploading transfer list? ==
 +
When you are uploading some file to some client, the uploading transfer list will show the transfer rate (speed in KBps) in which you are uploading to that client. If, at the same time, that client is uploading to you some file (or files), then the transfer rate's format will change to XX/YY where XX stands for the speed at which you are uploading to that client and YY will stand for the speed at which that client is uploading to you. If you search in the downloading transfers list you'll find that client.
  
Currently, Kademlia isn't supported by aMule, but it will be soon.
+
This is useful if you are trying to get a rare file, since you can see which file that client is uploading to you and, if it's the rare file, you can set him a friend slot so that you upload to that client faster and gain more credits on that client (and consequently, download faster from the client).
  
 +
== What is A4AF? ==
 +
A4AF stands for ''Asked For Another File''. It is a way to optimize the resources on a specific download.
  
== What is a chunk? ==
+
When you try to download a file, aMule gets a list of clients who are sharing that file. Some of these clients might also share some other file which you are also trying to download and, so, you might have that client in two separate download queues.
In the ED2K protocol, to avoid sharing corrupt files, each file is divided into various parts, which are known as <i>chunks</i> and then each chunk is hashed /read below to know what a hash is). Each chunk is 9.28MB in size, so a 15MB file will be divided into two chunks (9.28MB + 5.72MB), a 315KB file will be a single chunk and a 100MB file will be divided into 11 chunks (10x9.28MB + 7.2MB).<br>
+
  
 +
A4AF tries to avoid this situations. Why? Because you can't download two chunks at the same time from the same client. So, by setting A4AF in a specific download, you are telling aMule to search for any client in that file's download queue who is also in some other file's download queue and remove it from that other download queue. This way, you'll get more sources on that file.
  
== What is a hash? ==
+
You can also set a specific download to apply A4AF in the opposite way, that is, to give sources to the other downloads. This should be done on downloads which are not to be downloaded with too much hurry or which should be downloaded after some other similar file has been downloaded (in a series of files, for example). This also can be seen as a way of establishing preferences in downloads.
Dividing each file in chunks (see [[FAQ_aMule|What is a chunk?]]) will avoid the problem of downloading a whole corrupted file since only the corrupted chunk will have to be downloaded again, but a method to identify corrupted chunks is needed. This is done by using MD4 hashes.
+
  
A [[MD4 hash]] is a unique value each chunk is given and is the result of a mathematical operation on every single bit on the chunk. This means that modifying a single bit in a chunk would result in a completely different hash. That means that it is novel to verify the integrity of each part of a file as it is downloaded.  
+
When the request swapping is done, the Queue Rank will be maintained.
  
Not only are the chunks hashed but also the whole file as well (all chunks together), so that each file on the ED2K network has a unique identifier.
+
'''NOTE:''' A source with a QR lower than 50 in the download with the higher priority will never be swapped. This is done this way to ensure it starts downloading from it.
  
In reality, you need both the hash of a file and its size. These pieces of information is embedded in the ED2k URLs found in many places.
+
If a file has XX+ZZ sources, the ZZ sources might include some which have no needed parts. aMule will exclude those if you tell it to swap to the file.
  
Take this for example: <br>
+
== What do the "QR: xxxx" numbers mean that I see when I look at my sources? ==
ed2k://|file|eMule0.42f-Sources.zip|2407949|CC8C3B104AD58678F69858F1F9B736E9|/
+
QR stands for "Queue Rank" and it is your current position in this source's queue.
  
The interesting parts are the fifth part, "2407949", which is the size of the file in bytes and the last part, "CC8C3B104AD58678F69858F1F9B736E9", which is the hash itself, stored as hex-decimals, 32 letters long.
+
Obviously, a lower value is better. If the source is an eMule client and there is no QR number, it's likely that it's queue is full and cannot accept more clients.
  
The filename itself is irrelevant in the process of identifying the file.
 
  
 +
== What is the difference between Transfered and Completed in the Transfers window? ==
 +
Transfered shows the amount of data you have received concerning that file. This data is downloaded in a compressed format. Once the data gets to your machine, aMule processes it and decompresses it. The total useful data that can be taken from that received data (that is, the parts of that data which are actually real parts of the file you are trying to download and not headers or such stuff) is the amount that can be viewed in the Completed column.
  
== Why after searching, some files which are the same appear as a different file in the results, although they even have the same name? ==
+
== What is the difference between pausing and stopping a transfer? ==
If you understood "What is a hash" you will understand this quickly. When a search is started, the server tells the ED2K client the filename of the found file and the hash of the complete file for each file which matches tthe search. If two files, although being the same, have some difference in their content, no matter if it's big or small, the hash is different, so they are considered as a different file. That's also the reason why two file with different file name appear as the same file: on the ED2K network, the filename isn't important, the hash is.
+
When a transfer is paused, all connections related to the paused transfer are broken with the other clients so that no data is transfered, but sources aren't dropped, so that when the transfer is resumed, [[aMule]] will try to connect to those sources.
  
 +
Instead, when a transfer is stopped, all sources are dropped so, when it's resumed, [[aMule]] will start searching for clients who are sharing that file.
  
== What is LowID and HighID? ==
+
== What are all those files [[aMule]] creates the first time it is run? ==
Each client is assigned an identifying number, an ID, which will be uniqueand will distinguish him from any other client on the server. If this ID is below 16777216 (16 million) then you have a LowID. If it's over, then you have a HighID. To be given a high or low ID will only depend on having TCP port 4662 (or the one set up in Preferences) opened. If you understood "What is ED2K" you might understand that chances are that clients on LowID may be unable to connect to many other clients (all those on LowID) so will have a lower transfer rate. That's why having port 4662 TCP (or the one set in Preferences) is so important. Also, some bug servers refuse clietns on LowID to connect to them since LowID clients have data transfered through the server and so, those big servers could be overcharged.<br>
+
Most them are the same as [[eMule|eMule]]'s.
For HighID clients, their ID is the result of a mathematical operation with their IP which corresponds to A + 256*B + 256*256*C + 256*256*256*D, where the IP is A.B.C.D. Also have in mind that this ID has identification purposes, nothing else, so apart from having and ID over or under the 16777216 number, it does not matter if the ID is bigger or smaller. This means a client with an ID like 50000000 isn't better than a client with an ID like 49999999.<br>
+
There's still an exception. Sometimes badly configured or very busy servers give LowID to some clients allthough the 4662 TCP port is opened. This are rare exceptions, but it might happen sometime.
+
  
 +
Detailed information about each and a list of all of [[aMule]]'s files can be found [[aMule files|here]].
  
== Which ports do I have to configure in a firewall or router to run aMule? ==
+
== Can I use [[eMule|eMule]]'s files and settings and vice-versa? ==
No specific ports need to be opened for aMule to work, but yes to have HighID. As mentioned above, to be given a HighID, port 4662 TCP (or the one set in Preferences) must be listening.<br>
+
Most of them yes. The only ones you can't share between [[aMule]] and [[eMule]] are the program configuration (that is, preferences.ini in [[eMule]] and ''~/.aMule/amule.conf'' in [[aMule]]). All the [[FAQ_eD2k-Kademlia|ED2K network]] related files can be successfully shared between the two applications with no more effort than copying the files in ''~/.aMule'' to the [[eMule]]'s directory and vice-versa. But have in mind that some files in ''~/.aMule'' are [[aMule]] specific, such as ''amulesig.dat'' or ''aMule.tmpl'', so it's better to only move those files that are in both the [[aMule]] and the [[eMule]] directory.
Apart from that port, to have an optim ED2K experience, two more ports should be enabled too. First, the UDP port 4672 (which can be configured to any other number in Preferences too) and secondly, the secondary UDP port which can't be set in Preferences. This UDP port is your TCP port + 3 (i.e.: TCP=4662 then UDP=4665).
+
  
 +
Moving half downloaded files is easy: just move them from your [[eMule]] temp directory (by default ''C:\Program files\eMule\Temp'') into ''~/.aMule/Temp'' or whatever your temp directory is in your [[aMule]] configuration.
  
== What does each port do? ==
+
== What is all that stuff in amulesig.dat and onlinesig.dat? ==
Well, since most ports can be configured to be set to any other number, the defaults will be listed:
+
I guess you already read what [[amulesig.dat_file|''amulesig.dat'']] and [[onlinesig.dat_file|''onlinesig.dat'']] are for [[FAQ_aMule#What_are_all_those_files_aMule_creates_the_first_time_it_is_run?|above]].
  
; 4662 TCP: Client to client transfers.
+
So, this files contain the current [[signature]] (the current [[aMule]] status, if enabled, of course).
; 4672 UDP: Extended eMule protocol, Queue Rating, File Reask Ping
+
; 4661 TCP: Opened on server. Allows connection to server.
+
; 4665 UDP: Opened on server. Allows asking for sources. It is always server TCP port + 3.
+
; 4711 TCP: WebServer listenning port.
+
; 4712 TCP: External Connection port. Used to communicate aMule with other applications such as aMule WebServer or aMuleCMD.
+
  
Although officially the seconday UDP port is server TCP port + 4, some (most?) implementations use it as client TCP + 3. Any way, this port is mostly not used (aMule doesn't use it, eMule doesn't have it).
+
Detailed information about each of these files can be found in the [[amulesig.dat_file|''amulesig.dat'' article]] and the [[onlinesig.dat_file|''onlinesig.dat'' article]].
  
== Are there any limitations on the ED2K network? ==
+
== I just installed [[aMule]] for the first time. How do I set it up? ==
Not much, but yes, there are: two natural limits and a "forced" limitation. The two natural limits have already been mentioned before. First, the issues on LowID users (their transfers involve data through the server and two LowID clietns can't share between them). The second, although ED2K is a p2p protocol, it needs servers to stablish the p2p connection. This latter one is solved in the Kademlia protocol.<br>
+
Setting up aMule properly is just a matter of tastes and depends on many factors. If you just wish a quick startup configuration, then continue reading.
About the "forced" limitation, it's only a limit to make sure that clients share so that the ED2K network will not disappear: clients which have an upload limit of X KBps, where X is between 0 and 3.99 (both included) can download at a maximum of X*3 KBps. Clients which have an upload limit of Y KBps, where Y is Between 4 and 9.99 (both included) can download at a maximum of Y*4 KBps. Clients with an upload limit of 10KBps or more have no downloading limitations. This restriction is set in the client application so it could be by-passed by hacking the code, but that would probably result in being banned from the servers you connect to.
+
  
 +
Open [[aMule]] and click on the Preferences button. Set a nickname and the language in which you wish to have [[aMule]]. Then switch to the Connection tab and input your Line Capacities. Then input the Bandwidth Limits according to the maximum amount of bandwidth you want [[aMule]] to use. Then switch to the Directories tab and set a directory for both the temporary files (where files will be stored until they are completely downloaded) and the completed files. Finally, select the directories which you want to share. It is not recommended to share too much files. Read below "What are the best settings I can set to have a nice download rate". To select recursively all directories inside a certain directory read [[aMule_problems#Is there any way to recursively select a whole directory and its contents?|Is there any way to recursively select a whole directory and its contents?]].
  
== In search window, what filter stands for which filetype? ==
+
== Will [[aMule]] handle my [[xMule]] and [[lMule]] files? What should I do? ==
Have in mind that the filters in the search window don't depend on the file type, but on the extensions of the filenames, in the following way:<br>
+
[[aMule]] automatically handles both [[lMule]] and [[xMule]]'s configuration files, but in different ways:
<b>Archive:</b> <i>.ace .arj .rar .tar.bz2 .tar.gz .zip .Z</i><br>
+
<b>Audio:</b> <i>.aac .ape .au .mp2 .mp3 .mp4 .mpc .ogg .wav .wma</i><br>
+
<b>CDImage:</b> <i>.bin .ccd .cue .img .iso .nrg .sub</i><br>
+
<b>Picture:</b> <i>.bmp .gif .jpeg .jpg .png .tif</i><br>
+
<b>Program:</b> <i>.com .exe</i><br>
+
<b>Video:</b> <i>.avi .divx .mov .mpeg .mpg .ogg .ram .rm .vivo .vob</i><br>
+
So, a movie which's filename is "Birthday.zip" will appear in the Archive filter, but not in the Video filter.
+
  
 +
[[lMule]] has been discontinued for several years now, so [[aMule]] understands that you are replacing [[lMule]] with [[aMule]], so it renames ~/.lMule folder to ~/.aMule. If you used ~/.lMule/Temp and ~/.lMule/Incoming as your temporary and downloading directories respectively, you should change the paths in Preferences to ~/.aMule/Temp and ~/.aMule/Incoming respectively.
  
== What is a source? ==
+
If a ~/.xMule directory is found, it will be kept unchanged and [[aMule]] will just copy the configuration files found in it. That means that the files you were downloading will remain in the ~/.xMule directory if they were downloading there, but since [[aMule]] has handled [[xMule]]'s configuration files, it will still use it. You can either live with that, or move directories ~/.xMule/Temp and ~/.xMule/Incoming into ~/.aMule and change directories in Preferences.
A source is a client which is sharing some chunk in some file you have in your downloadung queue which you still have not completed. Obviously, the more sources you can get for a given file, the more possiblities you have to download the file and the quicker you'll download it. Have in mind that there's a difference between "sources" and "available sources" if you're on LowID, since "sources"s stands for clients sharing a chunk or file you still haven't completed, while "available sources" stands for clients sharing a chunk or file you still haven't completed and from who you can download (that is, a sources who is on LowID).
+
  
 +
== How do I start my [[aMule]] experience? ==
 +
Just click on the Connect button. You should have some servers listed on the Servers window, though. If you have no servers listed, then click on the little button below the Connect button in the Servers window before clicking the Connect button. After some time, [[aMule]] will be connected to some server (you'll know because in the lower right corner the "Not connected" message will disappear). When connected, switch to the Search window and search for the file you want and once you find the file you want, double-click on it.
  
== What is all that credits, rate and score stuff about? ==
+
For general [[aMule]] usage, join [[aMule]] #amule in irc.freenode.net or ask in forums at [http://forum.amule.org http://forum.amule.org]
All three concepts have to do with the way in which the ED2K network stablishes the uploading queues preferences.<br>
+
The score is the most important value: the client with the higher score will be the next client which you'll provide a slot to. The way in the score walue is set is this: score = rate x time_waiting_in_seconds / 100
+
So, to understand this, we must known what rate is.<br>
+
Rate is can be understood as an objective preference. This is, the preference which a client is given without careing how much time it's been waiting. When a client is added to the uploading queue, it gets a rate of 100. This value is modified following according to this:<br>
+
According to the amount of credits, the rate will be multiplied by 1x to 10x.
+
Depending on the file priority, it will be multiplied by 0.2x to 1.8x (Release 1.8x, High 0.9x, Normal 0.7x, Low 0.6x, Very Low: 0.2x).<br>
+
Users on specific old clients which load too much the network traffic will get penalized by multiplying their rate by 0.5x.<br>
+
Banned clients will instatly get no rate (that is, their rate will by mutliplied by 0).<br>
+
This multiplying values are known as "modifiers". Clients whith a modifier value strictly bigger than 1 will be marked as yellow in the icon.<br>
+
So we only have credits left to known. Credits are a prize you get for uploading files to a specific used. Credits are exchanged between two specific clients, they are not global, so your own credits can't be viewed, although you can know the credits any other user has on you (that is, the credits you owe that client). Since credits are managed by the uploading client, you might be uploading to some client with no credits support, so you will gain no credits on him, although that client will actually get credits on you if it uploads to you, since you do have credits support. This credits are stored in cleints.met file.<br>
+
The credits modifier used by rate is the lower between this to: <br>(upload_total x 2)/download_total or sqrt(upload_total+2) where both upload_total and download_total are mesured in MBs.<br>
+
If the result is lower than 1, then it is set to 1 and if it is bigger than 10, it is set to 10. In addition, if the uploaded total is less than 1MB, the modifier is set to 1 and if the downloaded total is equal to 0, then the modifier is set to 10.<br>
+
  
== How do I view a client's credits? ==
+
== What are the best settings I can set to have a nice download rate? ==
You can see any client's credits (the credits you owe him) by right clicking on it's name and selecting Show Details. There is no specific value shown so you can either view the total amount of data that client has sent you or the Credits Modifier (which is called DL/UL Modifier). On that same dialog window, if that client is on your upload queue, you'll be able to view it's rate and score on you.
+
If you understood "Is there any limit on the [[FAQ_eD2k-Kademlia|ED2K]] network?" then you might have seen that, if your provider allows you, the best is to have the upload limit set to a minimum of 10 KBps. Also, if you understood "What is all that credits, rate and score stuff about?", you might also understand that the more you upload, the more you download, so take the upload limit up as much as you can. A good tip (thanks to kaouete) when you are trying to download some rare or "never completing" file, is, whenever you see someone uploading to you some chunk of that file, give that client a friend slot so that, if it tries to download something from you, it gets preference and you gain credits on that client.
  
== What do those colors in the progress bar mean? ==
+
== Is there a way to open a text file and load all the ed2k links from the file? ==
<u>On the downloading transfers list:</u><br>
+
Yes, there is. Just place all the ed2k links you want to download in a text file, each ed2k link in a separate line. Name that file ''ED2KLinks'' then place it in ''~/.aMule'' and aMule will automatically detect it, add all those ed2k links to download and remove the file.
<b>Red:</b> Chunks in read are chunks with no sources on current session found.<br>
+
<b>Blue:</b> Chunks in blue are chunks with at least one available source. The more solid blue it is, the more sources available have been found.<br>
+
<b>Yellow:</b> Chunks in yellow are chunks which are being downloaded at this very moment.<br>
+
<b>Black:</b> Chunks in black are chunks which have been already downloaded and verified.<br>
+
<b>Green:</b> When a file is in green it means that it's been completely downloaded and successfully verified (so, it'll be in the Incoming folder).<br>
+
<u>On the expanded transfers list (can be viewed by double-clicking a transfer):</u><br>
+
<b>Black:</b> Chunks which that client has and you don't have.<br>
+
<b>White:</b> Chunks which that client doesn't have.<br>
+
<b>Green:</b> Chunks which that client has and you have too.<br>
+
<b>Yellow:</b>Chunks which that client is currently uploading to you.<br>
+
<u>On the uploading transfers list:</u><br>
+
<b>Black:</b> That client has completed and verified that chunk.<br>
+
<b>Grey:</b> That client doesn't have that chunk.<br>
+
Have in mind that not al clients support telling other clients which parts they have already completed when uploading, so some clients might have no bar at all.<br>
+
<u>On the shared files window:</u><br>
+
<b>Red:</b> When there's no source found to have that same chunk (apart from you, of course).<br>
+
<b>Blue:</b> The more solid the blue is, the more spread that chunk is.<br>
+
<u>On the search windows:</u><br>
+
<b>Black:</b> Files in black are those which only a client has been found to have.<br>
+
<b>Blue:</b> Files in blue are those which two or more clients have been found to have. The more solid the blue is, the more clients have been found ot have it.<br>
+
<b>Red:</b> Files in red are those which are already in the downloading queue.<br>
+
<b>Green:</b> Files in green are those which you are already sharing (you completly downloaded it).
+
  
== What are all these icons? ==
+
You might want to read [[ED2KLinks_file|this]] to know more about this file.
[...]
+
  
 +
== Can I manage [[aMule]] remotely through telnet in the same way I do with [[eDonkey2000|eDonkey]]? ==
 +
Yes you can, but not exactly in the same way as you do with [[eDonkey2000|eDonkey]]. Just start a normal telnet (or ssh) session with the host computer (the one running [[aMule]]) and, once in, use amulecmd to take control over [[aMule]]. To start new downloads just use the [[ed2k_command|ed2k command]]. Remember [[aMuleCMD]] must be configured.
  
== What do all those numbers in the sources column in the transfers window mean? ==
+
Another aMule utility that might be of your interest is [[CAS]] (which's command is <code>cas</code>) which will show basic [[aMule]] statistics.
The sources format is XX/YY + ZZ (WW) where<br>
+
<b>XX</b> stands for the amount of avaliable sources (the amount of sources found you can download from).<br>
+
<b>YY</b> stands for the amount of found sources (the total amount of sources found)<br>
+
<b>ZZ</b> stands for the number of "Asked for another file" sources<br>
+
<b>WW</b> stands for the amount of sources from who you are currently downloading some chunk of that file.
+
  
 +
Also, [[AMuleWeb|aMule WebServer]] might be what you are looking for if you can and don't mind using a web browser on the client computer. Have in mind that aMule WebBrowser must also be configured.
  
== Why are there two transfer rates in the uploading transfer list? ==
+
== Is there any way to start [[aMule]] with no graphical interface? ==
When you are uploading some file to some client, the uploading transfer list will show the transfer rate (speed in KBps) in which you are uploading to that client. If, at the same time, that client is uploading to you some file (or files), then the transfer rate's format will change to XX/YY where XX stands for the speed inwhich you are uploading to that client and YY will stand for the speed in which that client is uploading to you. If you search in the downloading transfers list you'll find that client.<br>
+
Yes. Since aMule 2.0.0-rc6, you can use aMule Daemon, which can be executed on the command line by typing ''amuled''. To control it, use either aMuleWeb, aMuleCMD or any other such application for remotely controlling aMule.
This is useful if you are trying to get a rare file, since you can which file that client is uploading to you and, if it's the rare file, you can set him a friend slot so that you uoload to that client faster and gain more credits on that clients (an censequently, download faster from the client).
+
  
== What is the difference between Transfered and Completed in the Tranfers window? ==
+
Anyway, up to aMule 2.0.0-rc6, [[aMule]] was a monolithic application. This means that core and GUI were whole inseparable block.  
Transfered shows the amount of data you have recieved concerning that file. This data is downloaded in a compressed format. Once the data gets to your machine, aMule processes it and decompresses it. The total useful data that can be taken from that recieved data (that is, the parts of that data which are actually real parts of the file you are trying to download and not headers or such stuff) is the amount that can be viewed in the Completed column.
+
  
== What do are all those files aMule creates the first time it is run? ==
+
So, for those using an old aMule version or who refuse to use aMuled (aMule Daemon), there are still two walkarounds to run [[aMule]] on command line but they're not direct ways:
Most them are the same as eMule's. Here is a list and the meaning of each of them (have in mind that you might not have all of them on your hard disk):<br>
+
*Through ''[http://xfree.org/4.4.0/Xvfb.1.html Xvfb]''
<b>~/.eMule:</b> aMule's personal configuration (that is, things such as you nickname, your Temp and Incoming directories, your upload and download limits, and such...).<br>
+
*Through ''[http://www.realvnc.com VNC]''
<b>~/.aMule/addresses.dat:</b> Contains a list of serverlist URLs to check (if enabled in Preferences) for new servers on startup.<br>
+
<b>~/.aMule/amulesig.dat:</b> This is aMule's OnLineSignature file, which is the same as eMule's signature (see onlinesig.dat below) but with extended information (extended information includes nickname, session and total downloaded and uploaded bytes, aMule version, aMule uptime and number of shared files).<br>
+
<b>~/.aMule/aMule.tmpl:</b> This is the template file which aMule WebServer uses to create the web page.<br>
+
<b>~/.aMule/aMule-online-sign.png:</b> This file will only exist if CAS has been run sometime with the -o switch and ~/.aMule/casrc was successfully configured. It is an image containing details on aMule's status.<br>
+
<b>~/.aMule/casrc:</b> This file will only exist if CAS has been run sometime with the -o switch. It contains the settings for the CAS image creation.<br>
+
<b>~/.aMule/clients.met:</b> Contains the credits for the clients who have uploaded to you and the user hash of those clients.<br>
+
<b>~/.aMule/cryptkey.dat:</b>  It contains the unique 384 bit private RSA key of your client.<br>
+
<b>~/.aMule/emfriends.met:</b> Contains your friends list configuration<br>
+
<b>~/.aMule/ipfilter.dat:</b>  This file contains the IP ranges and access levels restrictions which will be passed to ipfilter.<br>
+
<b>~/.aMule/Incoming:</b> By default, the directory where aMule stores the completed downloads.<br>
+
<b>~/.aMule/known.met:</b> This file stores the hash and some details of your shared files like size, path, statics, etc...<br>
+
<b>~/.aMule/lastversion:</b> This is only for aMule to know if it's the first time you're starting aMule, if you had aMule installed before and which version you had instaled previously.<br>
+
<b>~/.aMule/logfile:</b> This file contains the log of the last aMule execution.<br>
+
<b>~/.aMule/muleconn:</b> This file is a socket for aMule comunications.<br>
+
<b>~/.aMule/onlinesig:</b> This is an eMule compatible OnLineSignature file. It's used by other applications to know basic information on aMule's stat (if it's online, which server it's connected to, upload and download rate, and clients in queue).<br>
+
<b>~/.aMule/preferences.dat:</b> Contains the user hash, which is a hash value the uniquely identifies you in the ED2K network and which is used to avoid cheatign with credits and with friends lists.<br>
+
<b>~/.aMule/server.met:</b> This is a list of all known servers and you're preferences on them (priority, name, ip, port and such).<br>
+
<b>~/.aMule/shareddir.dat:</b> Stores the paths to all shared directories.<br>
+
<b>~/.aMule/Temp:</b> By default, the directory where aMule stores the not completed downloads (temporary files).<br>
+
<b>~/.aMule/webserver:</b> This directory contains the necessary files for aMuel WebServer to display a nive Web page.<br>
+
Other files on ~/.aMule/ are most surely backups of some of the above files.<br>
+
Also, on the Temp directory (which is ~/.aMule/Temp by default but can be set to any other on Preferences), aMule will create, for each download three or four files):<br>
+
<b>*.part:</b> This file contains the downloaded parts (not chunks, since not completed chunks are also stored here) of the download. As aMule is able to download from more than one user at the same time, this file has the size of the complete file. The missing parts are filled with zeros.<br>
+
<b>*.part.met:</b> This file contains information on the downloaded parts of the download, the verified chunks, the hash values of the remaining chunks, etc...<br>
+
<b>*.part.met.bak:</b> This are backups of the *.part.met files. Every now and then aMule creates this backups since without the *.part.met file, a download has no meaning for aMule. If any *.part.met file "disappeared, you should rename the *.part.met.bak to *.part.met.<br>
+
<b>*.part.met.seeds:</b> This files only exist if you have enabled, in preferences, to store the some sources's IPs on rare files so that it can try to connect to those sources on next aMule exection. It contains exactly that, some sources to be able to connect later.
+
  
== Can I use eMule's files and settings and viceversa? ==
+
'''Through ''[http://xfree.org/4.4.0/Xvfb.1.html Xvfb]:'''<br>
Most of them yes. The only ones you can't share between aMule and eMule are the program configuration (that is, preferences.ini in eMule and ~/.eMule in aMule). All the ED2K network related files can be successfully shared between the two applications with no more efford than copying the files in ~/.aMule to the eMule's directory and viceversa. But have in mind that some files in ~/.aMule are aMule specific, such as amulesig.dat or aMule.tmpl, so it's better to only move those files that are in both the aMule and the eMule directory.
+
You should run <code>[http://xfree.org/4.4.0/Xvfb.1.html Xvfb]</code> and then run aMule in it. Afterwards you can take control over [[aMule]] using [[aMuleCMD]] and [[ed2k_command|ed2k]] in the same way as you would if you were accessing [[aMule]] remotely over telnet (see above).
  
 +
<u>Short example:</u>
 +
#Run [http://xfree.org/4.4.0/Xvfb.1.html Xvfb]: <code>Xvfb :1 -screen 0 640x480x16 &</code>
 +
#Set display to use for amule: <code>export DISPLAY=:1</code>
 +
#Then run [[aMule]]: <code>amule &</code>
  
== What is all that stuff in amulesig.dat and onlinesig.dat? ==
+
'''Note:''' After running <code>export DISPLAY=:1</code>, all graphical applications launched from that shell will be opened in [http://xfree.org/4.4.0/Xvfb.1.html Xvfb]'s display. To avoid this, you can run [[aMule]] with the following command, so that only [[aMule]] runs there: <code>DISPLAY=:1 amule &</code>
I guess you already read what amulesig.dat and onlinesig.dat are for above. So, this is the meaning of their contents (have in mind that if aMule crashes, the contents of both files will be the last written status):<br>
+
<u>onlinesig.dat</u><br>
+
It is composed of two lines. The first one, when aMule is offline, will contain a 0 (zero) and nothing else, but when aMule is online, it'll contain a 1 (number one) followed by | (the pipe character) then the name of there server it's currently connected to followed by the pipe character, then the IP of the server it's currently connected to followed by the pipe character and finally the port it is connected to on that server.<br>
+
The second line contains, in this order, the downloading rate, the uploading rate and the number of users on queue, with a pipe character between each of them and ended with an end of line character ('\n').<br>
+
When aMule is cleanly closed the second line contains the same strucutre but filled with zeros, while the first line will only contain a single zero.<br>
+
<u>amulesig.dat</u><br>
+
aMule's signature file is much more powerfull than eMule's and has as much lines as fields. It's structure is:<br>
+
The first line will contain a 0 (zero) if aMule is disconnected, connecting or has been cleanly closed, or a 1 (number 1) if it's online.<br>
+
The second third and forth line contain the name, IP and port of the server aMule is connected to (in this order) or a zero if it's offline or cleanly closed.<br>
+
The fifth line will contain an capital H or a capital L depending if aMule is connected on high or low ID. If aMule is disconnected or cleanly closed, this line will contain a zero.<br>
+
The sixth and seventh lines contain the speed in which aMule is downloading and uploading respectivly. Both lines contain "0.0" when aMule is cleanly closed.<br>
+
The eigth and nineth lines contain the number of clients on the upload queue and the amount of shared files respectivly. Both lines are aset to zero too when aMule is cleanly closed.<br>
+
The tenth line contains the nickname of the user.<br>
+
The eleventh and twelve lines contain the total amount of bytes downloaded and uploaded respectivly.<br>
+
The thirteenth line contains the aMule version.<br>
+
The fourteenth and fifteenth line contains the amount of bytes downloaded and uploaded in the current session respectivly.<br>
+
The sixteenth (and last) line contains the amount of tie aMule has been running. It will be followed by a space and "secs" "mins" or "hours" depending on the value.<br>
+
The last line must be followed by a new line character ('\n').
+
  
== I just installed aMule for the first time. How do I set it up? ==
+
'''INFO:''' See the [[Screen]] page to know more about the [[Screen]] command
Setting up aMule properly is just a matter of tastes and depends on many factors. If yuo just wish a quick startup configuration, then continue reading.<br>
+
Open aMule and click on the Preferences button. Set a nickname and the language in which you wish to have aMule. Then switch to the Connection tab and input your Line Capacities. Then input the Bandwidth Limits according to the maximum amount of bandwith you want aMule to use. Then swith to the Directories tab and set a directory for both the temporary files (where files will be stored until they are completely downloaded) and the completed files. Finally, select the directories which you want to share. It is not recommended to share too much files. Read bellow "What are the best settings I can set to have a nice download rate". To select recusively all directories inside a certain directory, hold CTRL while clicking over the directory.
+
  
 +
'''Through ''[http://www.realvnc.com VNC]:'''
  
== How do I start my aMule experience? ==
+
It's also possible to use ''vncserver'' instead of [http://xfree.org/4.4.0/Xvfb.1.html Xvfb] to achieve something similar. Just install ''vncserver'' and execute ''vncserver :0 -geometry 1024x768'' followed by ''export DISPLAY=:0''. This will create a hidden [http://xfree.org X] server, accessible only remotely using a [http://www.realvnc.com VNC] client. Once the [http://xfree.org X] server is running, you will need a window manager to manage [[aMule]] window (well, it's not really needed, but it's useful if you want to be able to close [[aMule]] without simply killing it), I recommend [http://fluxbox.sourceforge.net FluxBox] due to its low CPU and memory requirements. Just start it with ''fluxbox &'' and then run [[aMule]] with ''amule &''. Now you can connect to the [http://www.realvnc.com VNC] server and see the [[aMule]] window.
Just click on the Connect button. You should have some servers listed on the Servers window, though. If you have no servers listed, then click on the little button below the Connect button in the Servers window before clicking the Connect button. After some time, aMule will be connected to some server (you'll know because in the lower right corner the "Not connected" message will dissapear). When conencted, switch to the Search window and search for the file you want and once you find the file you want, double-click on it.<br>
+
For general aMule usage, join aMule #amule in irc.freenode.net or ask in forumas at http://www.amule.org/amule
+
  
 +
Keep in mind that if [[aMule]] shows any dialog that requires user input (like the one showed the first time [[aMule]] is executed), it will get stuck there until someone connects to the [http://www.realvnc.com VNC] server and clicks ok in the dialog. Usually, this should only need to be done once (and this connection may be used to update the serverlist and set the preferences), from then on [[aMule]] will start without user interaction, showing only some informational messages at startup.
  
== What are the best settings I can set to have a nice download rate? ==
+
If you need help on this issue, search [[aMule]]'s  [http://www.amule.org/amule forums] or join #amule [[IRC]] channel at irc.freenode.net and ask.
If you understood "Is there any limit on the ED2K network?" then you might have seen that, if your provider allows you, the best is to have hte upload limit set to a minimum of 10 KBps. Also, if you understood "What is all that credits, rate and score stuff about?", you might also understand that the more you upload, the more you donwload, so take the upload limit up as much as you can, share well known and popular files (don't share too much (not more than aproximatly 200 files) or you'll get banned from some servers for giving too much traffic) and try to share small-sized popular files since some ED2K clients give extra credits for providing them a whole small-sized files. A good tip (thanks to kaouete) when you are trying to download some rare or "never completing" file, is, whenever you see someone uploading to you some chunk of that file, give that client a friend slot so that, if it tries to download something from you, it gets preference and you gain credits on that client.
+
 
 +
== Can I run two [[aMule]] instances at the same time? ==
 +
Yes you can, although it is not recommended. [[aMule]] will only check if the concurrent user is running some [[aMule]] instance, so you can run as many [[aMule]] instances as user accounts you have access to. To do this, just run <code>xhost +</code> and then <code>su</code> as another user and run aMule from that shell.
 +
 
 +
Be aware that [[aMule]] can't check if a user is running [[aMule]] on another X display. So, if your account is already running some [[aMule]] instance in some other X display, do not run another [[aMule]] instance on another X display or you might end up with lost configuration settings and corrupt chunks.
 +
 
 +
== How can I get those nice [[aMule]] statistics some people post on the IRC channels? ==
 +
You can either copy and paste [[CAS]]'s (C [[aMule]] Statistics) output (to execute [[CAS]], run <code>cas</code>) or, if you use xChat as your IRC client and have the Perl module installed, you could use [[XAS]] (xChat [[aMule]] Statistics).
 +
 
 +
== What is slot allocation? ==
 +
Each upload is a slot, so, if you are uploading to five clients at the same time, you have five upload slots established. So, the amount of slot allocation is the bandwidth which each slot will be given.
 +
 
 +
As an example, if your upload limit is 20KBps, you can set slot allocation to 2KBps which means 10 clients will be able to download from you at the same time, each of them at a maximum transfer rate of 2KBps.
 +
 
 +
See section "Why is aMule ignoring the bandwidth I set per slot?" in [[AMule_problems|aMule common problem's FAQ]].
 +
 
 +
== What is a friend slot? ==
 +
A friend slot is just a slot which is assigned to a client in the friends list. Only one friend can have a slot at the same time. Whenever that friend (who has the friend slot enabled) tries to download a file from you, it will be given highest priority in the uploads queue, since it has that slot always assigned. While that friend isn't downloading, that assigned slot will be given to the client with the highest priority in the upload queue, as expected.
 +
 
 +
== What is the real point on setting up Line Capacities in Preferences? Shouldn't [[aMule]] only care for the Bandwidth Limits? ==
 +
aMule really only cares for the Bandwidth Limits. Line Capacities are only set for the Statics display. Let's see: Imagine you have a 100KBps connection, imagine you want to set the Limit at 40KBps because you have a web server which needs a minimum of 60KBps to serve all the petitions. Now imagine you download rare indonesian free songs. You most surely never download at more than 3KBps ever. So, you could set Line Capacities at 5KBps so that the graph at Statics has some meaning, since if you set it up as a 100KBps connection, the graph will show an horizontal line with no meaning at all.
 +
 
 +
== aMule is crashing quite often here. Can I set it to restart every time it crashes? ==
 +
No, you can't. But you can have scripts to do so. Some of these scripts even work if aMule  '''hangs''' but doesn't '''crash'''.
  
== Can I manage aMule remotely through telnet in the same way I do with eDonkey? ==
+
The following scripts might suit your needs:
Yes you can, but not exactly in the same way as you do with eDonkey. Just start a normal telnetl session with the host computer (the one running aMule) and, once in, use amulecmd to take control over aMule. To start new downloads just use the ed2k command. Remember amulecmd must be configured.<br>
+
*http://forum.amule.org/index.php?topic=1232.0
Another aMule utility that might be of your interest is CAS (which's command is <code>cas</code>) which will show basic aMule statics.<br>
+
*http://forum.amule.org/index.php?topic=542.0
Also, aMule WebServer might be what you are looking for if you can and don't mind using a web browser on the client computer. Have in mind that aMule WebBroser must also be configured.
+
*http://deepthought.ena.si/mulerunner
  
 +
== Can I have aMule get data from the standard input to pass it to GDB or Valgrind? ==
 +
Yes, you can. Up to aMule 2.0.0-rc3 this wasn't allowed, but as of version 2.0.0-rc4 you can with the parameter ''-i'' or ''--enable-stdin''.
  
== Is there any way to start aMule with no graphical interface? ==
+
Anyway, people with aMule versions previous to 2.0.0-rc4 can use  [http://www.amule.org/amule/thread.php?threadid=2474 phoenix's aMule stdin patch].
aMule is a monolithic application. This means that core and GUI are a whole unsplittable block (allthough some effords are already focused in splitting core from GUI). Even though, there's still a walkaround to run aMule on command line but it's not a direct way. You should run <code>xvfb</code> and then run aMule in it. Afterwards you can take control over aMule using amulecmd and ed2k in the same way as you would if you were accessing aMule remotly over telnet (see above). If you need help on this issue, ask at aMule's forums at http://www.amule.org/amule
+
  
== Can I run two aMule instances at the same time? ==
+
== How can I switch to aMule from eMule without losing my credits? ==
Yes you can, although it is not recommended. aMule will only check if the concurrent user was is running some aMule instance, so you can run as much aMule instances as user accounts you have access too. To do this, just run <code>xhost +</code> and then <code>su</code> as another user and run aMule from that shell.<br>
+
If you already read [[FAQ_aMule#What_are_all_those_files_aMule_creates_the_first_time_it_is_run?|about the meaning of aMule's files]], you might already know what you have to do:<br>
Be aware, since aMule can't check if a user is running aMule on another X display. So, if your account is already running some aMule instance in some other X display, do not run another aMule instance on another X display or you might end up with lost configuration settings and corrupt chunks.
+
Get ''cryptkey.dat'', ''clients.met'', ''preferences.dat'', ''preferencesKad.dat'', ''key_index.dat'', ''load_index.dat'' and ''src_index.dat'' files from eMule's config directory (usually, under Windows, something like ''C:\Program files\eMule\config'') and copy them into ''~/.aMule''. Now start aMule so it reads those files. You're done!
  
 +
You might still want to take a look at the [[migrate from eMule to aMule]] article, though.
  
== How can I get those nice aMule statics some people post on the IRC channels? ==
+
== Does aMule support Universal Plug and Play (UPnP)? ==
You can either copy and paste CAS's (C aMule Statics) output (to execute CAS, run <code>cas</code>) or, if you use xChat as your IRC client and have the Perl module installed, you could use XAS (xChat aMule Statics).
+
  
 +
Yes, aMule versions since 2.2.1 support UPnP. UPnP is currently not supported on Windows.
  
== What is a slot? And a friend slot? ==
+
== What's the story behind the [[rabbit]]? ==
When uploading files, your upload bandwidth (which may vary depending on the upload limit set in Preferences or the natural connection-type upload limit) will be divided into slots. So, each slot is an amount of KBps which will be assigned to each client who tries to download from you. This bandwidth set to each slot can be set in Preferences, but it will be ignored if the bandwidth set per slot doesn't allow at least three connections at the same time.<br>
+
Ah, yeah, this all began... ehm... well... I mean... follow the white [[rabbit]] ;-)
So, after knowing what a slot is, a friend slot is just a slot which is assigned to a client in the friends list. Only one friend can have a slot at the same time. Whenever that friend (who has the friend slot enabled) tries to download a file from you, it will be given highest priority in the uploads queue.
+
  
 +
== Which one is the recomended distro / Operating System for running [[aMule]]? ==
 +
The absolutely recomended distro is [[YSWPS]]. It's still not a mature distro, but it's worth the effort to look for it.
  
== What is the real point on setting up Line Capacities in Preferences? Shouldn't aMule only care for the Bandwidth Limits? ==
+
== When will next aMule release happen? ==
aMule really only cares for the Bandwidth Limits. Line Capacities are only set for the Statics display. Let's see: Imagine you have a 100KBps conection, imagine you want to set the Limit at 40KBps because you have a web server which needs a minumum of 60KBps to serve all the petitions. Now imagine you download rare indonesian free songs. You most surely never download at more than 3KBps ever. So, you could set Line Capacities at 5KBps so that the graph at Statics has some meaning, since if you set it up as a 100KBps connection, the graph will show an horitzontal line with no meaning at all.
+
Whatever next release, the answer is always the same, it is standard: [[Soon]] (suggestion: follow the link).

Latest revision as of 00:08, 2 March 2009

English | Deutsch | Español | Français | Italiano | Português | Nederlands | Russian

Contents

What is aMule?

aMule is a multi-platform client for the ED2K file sharing network and based on the windows client eMule. aMule started in August 2003, as a fork of xMule, which is a fork of lMule.

aMule currently supports Linux, FreeBSD, OpenBSD, Windows, MacOS X and X-Box on both 32 and 64 bit computers.

aMule is intended to be as user friendly and feature rich as eMule and to remain faithful to the look and feel of eMule so users familiar with either aMule or eMule will be able switch between the two easily.

Since aMule is based upon the eMule codebase, new features in eMule tend to find their way into aMule soon after their inclusion into eMule so users of aMule can expect to ride the cutting-edge of ED2k clients.

The best part is that it's developed by a great team whom are probably even more user friendly than aMule itself. Join us in #amule on irc.freenode.net or visit the aMule forums if you have any suggestions, questions, problems, bugs, patches or anything else that you might think of.

If you are interested in joining the development team, please contact us via the aMule forums or in the IRC channel.

How do I view a client's credits?

You can see any client's credits (the credits you owe the client) by right clicking on the client's nickname and selecting Show Details. There is no specific value shown so you can either view the total amount of data that client has sent you or the Credits Modifier (which is called DL/UL Modifier). In the same dialog window, if that client is in your upload queue, you'll be able to view the client's rate and score on you.

What do those colors in the progress bar mean?

In the downloading transfers list:

  • Red chunks have no sources on the current session.
  • Blue chunks have at least one source availble; the darker the blue, the more sources are available.
  • Yellow chunks are being downloaded at this very moment.
  • Black chunks have already been downloaded and verified.
  • Green progress bars have been completely downloaded and successfully verified (and so will be in your 'incoming folder').

In the expanded transfers list (can be viewed by double-clicking a transfer):

  • Black chunks are those a client has and you don't.
  • White chunks are those that client doesn't have.
  • Green chunks are those both you and that client have.
  • Yellow chunks are those that client is currently uploading to you.

In the uploading transfers list:

  • Black chunks are those that client has completed and verified.
  • Grey chunks are those that client doesn't have.

Not all clients support telling other clients what parts they have already completed when uploading, so some clients might have no bar at all.

In the shared-files window:

  • Red chunks are those that have been found in any source apart from you.
  • Blue chunks—the darker the blue, the more spread that chunk is.

On the search windows:

  • Black files have only one client.
  • Blue files have two or more clients have; the darker the blue, the more clients have have it.
  • Red files are already in the downloading queue.
  • Green files are those which you are already sharing (i.e., you have completely downloaded it).

What are all these icons?

See section "Icons and what they signify" in the Getting Started guide.

What do those numbers in brackets in the sources column of the searches window mean?

Those are the clients who are known to have the complete file. Even if the number in brackets is 0, it doesn't mean that no one has the complete file, it juts means that no client has marked the shared file as "completed" (lots of clients don't do so). It's a way to have an idea of how many people have the complete file but not the definitive way.

What do all those numbers in the sources column in the transfers window mean?

The sources format is XX/YY + ZZ (WW) where

  • XX stands for the number of sources available (the number of sources found that you can download from)
  • YY stands for the number of sources found (the total number of sources found)
  • ZZ stands for the number of "Asked for another file" sources
  • WW stands for the number of sources from whom you are currently downloading some chunk of that file.

What do all those numbers in the priority column in the extended transfers window mean?

That's the queue position you have on that client for that specific file. Not all clients provide such information, so in some cases, nothing is displayed.

The number in brackets is the amount of positions you have "moved" through that client's upload queue. Negative numbers stand for positions you have won in the queue since you were added while positive numbers mean positions you've lost since you were added. Notice that when that number is negative, it is displayed blue, while when it's positive, it's displayed red.

Why are there two transfer rates in the uploading transfer list?

When you are uploading some file to some client, the uploading transfer list will show the transfer rate (speed in KBps) in which you are uploading to that client. If, at the same time, that client is uploading to you some file (or files), then the transfer rate's format will change to XX/YY where XX stands for the speed at which you are uploading to that client and YY will stand for the speed at which that client is uploading to you. If you search in the downloading transfers list you'll find that client.

This is useful if you are trying to get a rare file, since you can see which file that client is uploading to you and, if it's the rare file, you can set him a friend slot so that you upload to that client faster and gain more credits on that client (and consequently, download faster from the client).

What is A4AF?

A4AF stands for Asked For Another File. It is a way to optimize the resources on a specific download.

When you try to download a file, aMule gets a list of clients who are sharing that file. Some of these clients might also share some other file which you are also trying to download and, so, you might have that client in two separate download queues.

A4AF tries to avoid this situations. Why? Because you can't download two chunks at the same time from the same client. So, by setting A4AF in a specific download, you are telling aMule to search for any client in that file's download queue who is also in some other file's download queue and remove it from that other download queue. This way, you'll get more sources on that file.

You can also set a specific download to apply A4AF in the opposite way, that is, to give sources to the other downloads. This should be done on downloads which are not to be downloaded with too much hurry or which should be downloaded after some other similar file has been downloaded (in a series of files, for example). This also can be seen as a way of establishing preferences in downloads.

When the request swapping is done, the Queue Rank will be maintained.

NOTE: A source with a QR lower than 50 in the download with the higher priority will never be swapped. This is done this way to ensure it starts downloading from it.

If a file has XX+ZZ sources, the ZZ sources might include some which have no needed parts. aMule will exclude those if you tell it to swap to the file.

What do the "QR: xxxx" numbers mean that I see when I look at my sources?

QR stands for "Queue Rank" and it is your current position in this source's queue.

Obviously, a lower value is better. If the source is an eMule client and there is no QR number, it's likely that it's queue is full and cannot accept more clients.


What is the difference between Transfered and Completed in the Transfers window?

Transfered shows the amount of data you have received concerning that file. This data is downloaded in a compressed format. Once the data gets to your machine, aMule processes it and decompresses it. The total useful data that can be taken from that received data (that is, the parts of that data which are actually real parts of the file you are trying to download and not headers or such stuff) is the amount that can be viewed in the Completed column.

What is the difference between pausing and stopping a transfer?

When a transfer is paused, all connections related to the paused transfer are broken with the other clients so that no data is transfered, but sources aren't dropped, so that when the transfer is resumed, aMule will try to connect to those sources.

Instead, when a transfer is stopped, all sources are dropped so, when it's resumed, aMule will start searching for clients who are sharing that file.

What are all those files aMule creates the first time it is run?

Most them are the same as eMule's.

Detailed information about each and a list of all of aMule's files can be found here.

Can I use eMule's files and settings and vice-versa?

Most of them yes. The only ones you can't share between aMule and eMule are the program configuration (that is, preferences.ini in eMule and ~/.aMule/amule.conf in aMule). All the ED2K network related files can be successfully shared between the two applications with no more effort than copying the files in ~/.aMule to the eMule's directory and vice-versa. But have in mind that some files in ~/.aMule are aMule specific, such as amulesig.dat or aMule.tmpl, so it's better to only move those files that are in both the aMule and the eMule directory.

Moving half downloaded files is easy: just move them from your eMule temp directory (by default C:\Program files\eMule\Temp) into ~/.aMule/Temp or whatever your temp directory is in your aMule configuration.

What is all that stuff in amulesig.dat and onlinesig.dat?

I guess you already read what amulesig.dat and onlinesig.dat are for above.

So, this files contain the current signature (the current aMule status, if enabled, of course).

Detailed information about each of these files can be found in the amulesig.dat article and the onlinesig.dat article.

I just installed aMule for the first time. How do I set it up?

Setting up aMule properly is just a matter of tastes and depends on many factors. If you just wish a quick startup configuration, then continue reading.

Open aMule and click on the Preferences button. Set a nickname and the language in which you wish to have aMule. Then switch to the Connection tab and input your Line Capacities. Then input the Bandwidth Limits according to the maximum amount of bandwidth you want aMule to use. Then switch to the Directories tab and set a directory for both the temporary files (where files will be stored until they are completely downloaded) and the completed files. Finally, select the directories which you want to share. It is not recommended to share too much files. Read below "What are the best settings I can set to have a nice download rate". To select recursively all directories inside a certain directory read Is there any way to recursively select a whole directory and its contents?.

Will aMule handle my xMule and lMule files? What should I do?

aMule automatically handles both lMule and xMule's configuration files, but in different ways:

lMule has been discontinued for several years now, so aMule understands that you are replacing lMule with aMule, so it renames ~/.lMule folder to ~/.aMule. If you used ~/.lMule/Temp and ~/.lMule/Incoming as your temporary and downloading directories respectively, you should change the paths in Preferences to ~/.aMule/Temp and ~/.aMule/Incoming respectively.

If a ~/.xMule directory is found, it will be kept unchanged and aMule will just copy the configuration files found in it. That means that the files you were downloading will remain in the ~/.xMule directory if they were downloading there, but since aMule has handled xMule's configuration files, it will still use it. You can either live with that, or move directories ~/.xMule/Temp and ~/.xMule/Incoming into ~/.aMule and change directories in Preferences.

How do I start my aMule experience?

Just click on the Connect button. You should have some servers listed on the Servers window, though. If you have no servers listed, then click on the little button below the Connect button in the Servers window before clicking the Connect button. After some time, aMule will be connected to some server (you'll know because in the lower right corner the "Not connected" message will disappear). When connected, switch to the Search window and search for the file you want and once you find the file you want, double-click on it.

For general aMule usage, join aMule #amule in irc.freenode.net or ask in forums at http://forum.amule.org

What are the best settings I can set to have a nice download rate?

If you understood "Is there any limit on the ED2K network?" then you might have seen that, if your provider allows you, the best is to have the upload limit set to a minimum of 10 KBps. Also, if you understood "What is all that credits, rate and score stuff about?", you might also understand that the more you upload, the more you download, so take the upload limit up as much as you can. A good tip (thanks to kaouete) when you are trying to download some rare or "never completing" file, is, whenever you see someone uploading to you some chunk of that file, give that client a friend slot so that, if it tries to download something from you, it gets preference and you gain credits on that client.

Is there a way to open a text file and load all the ed2k links from the file?

Yes, there is. Just place all the ed2k links you want to download in a text file, each ed2k link in a separate line. Name that file ED2KLinks then place it in ~/.aMule and aMule will automatically detect it, add all those ed2k links to download and remove the file.

You might want to read this to know more about this file.

Can I manage aMule remotely through telnet in the same way I do with eDonkey?

Yes you can, but not exactly in the same way as you do with eDonkey. Just start a normal telnet (or ssh) session with the host computer (the one running aMule) and, once in, use amulecmd to take control over aMule. To start new downloads just use the ed2k command. Remember aMuleCMD must be configured.

Another aMule utility that might be of your interest is CAS (which's command is cas) which will show basic aMule statistics.

Also, aMule WebServer might be what you are looking for if you can and don't mind using a web browser on the client computer. Have in mind that aMule WebBrowser must also be configured.

Is there any way to start aMule with no graphical interface?

Yes. Since aMule 2.0.0-rc6, you can use aMule Daemon, which can be executed on the command line by typing amuled. To control it, use either aMuleWeb, aMuleCMD or any other such application for remotely controlling aMule.

Anyway, up to aMule 2.0.0-rc6, aMule was a monolithic application. This means that core and GUI were whole inseparable block.

So, for those using an old aMule version or who refuse to use aMuled (aMule Daemon), there are still two walkarounds to run aMule on command line but they're not direct ways:

Through Xvfb:
You should run Xvfb and then run aMule in it. Afterwards you can take control over aMule using aMuleCMD and ed2k in the same way as you would if you were accessing aMule remotely over telnet (see above).

Short example:

  1. Run Xvfb: Xvfb :1 -screen 0 640x480x16 &
  2. Set display to use for amule: export DISPLAY=:1
  3. Then run aMule: amule &

Note: After running export DISPLAY=:1, all graphical applications launched from that shell will be opened in Xvfb's display. To avoid this, you can run aMule with the following command, so that only aMule runs there: DISPLAY=:1 amule &

INFO: See the Screen page to know more about the Screen command

Through VNC:

It's also possible to use vncserver instead of Xvfb to achieve something similar. Just install vncserver and execute vncserver :0 -geometry 1024x768 followed by export DISPLAY=:0. This will create a hidden X server, accessible only remotely using a VNC client. Once the X server is running, you will need a window manager to manage aMule window (well, it's not really needed, but it's useful if you want to be able to close aMule without simply killing it), I recommend FluxBox due to its low CPU and memory requirements. Just start it with fluxbox & and then run aMule with amule &. Now you can connect to the VNC server and see the aMule window.

Keep in mind that if aMule shows any dialog that requires user input (like the one showed the first time aMule is executed), it will get stuck there until someone connects to the VNC server and clicks ok in the dialog. Usually, this should only need to be done once (and this connection may be used to update the serverlist and set the preferences), from then on aMule will start without user interaction, showing only some informational messages at startup.

If you need help on this issue, search aMule's forums or join #amule IRC channel at irc.freenode.net and ask.

Can I run two aMule instances at the same time?

Yes you can, although it is not recommended. aMule will only check if the concurrent user is running some aMule instance, so you can run as many aMule instances as user accounts you have access to. To do this, just run xhost + and then su as another user and run aMule from that shell.

Be aware that aMule can't check if a user is running aMule on another X display. So, if your account is already running some aMule instance in some other X display, do not run another aMule instance on another X display or you might end up with lost configuration settings and corrupt chunks.

How can I get those nice aMule statistics some people post on the IRC channels?

You can either copy and paste CAS's (C aMule Statistics) output (to execute CAS, run cas) or, if you use xChat as your IRC client and have the Perl module installed, you could use XAS (xChat aMule Statistics).

What is slot allocation?

Each upload is a slot, so, if you are uploading to five clients at the same time, you have five upload slots established. So, the amount of slot allocation is the bandwidth which each slot will be given.

As an example, if your upload limit is 20KBps, you can set slot allocation to 2KBps which means 10 clients will be able to download from you at the same time, each of them at a maximum transfer rate of 2KBps.

See section "Why is aMule ignoring the bandwidth I set per slot?" in aMule common problem's FAQ.

What is a friend slot?

A friend slot is just a slot which is assigned to a client in the friends list. Only one friend can have a slot at the same time. Whenever that friend (who has the friend slot enabled) tries to download a file from you, it will be given highest priority in the uploads queue, since it has that slot always assigned. While that friend isn't downloading, that assigned slot will be given to the client with the highest priority in the upload queue, as expected.

What is the real point on setting up Line Capacities in Preferences? Shouldn't aMule only care for the Bandwidth Limits?

aMule really only cares for the Bandwidth Limits. Line Capacities are only set for the Statics display. Let's see: Imagine you have a 100KBps connection, imagine you want to set the Limit at 40KBps because you have a web server which needs a minimum of 60KBps to serve all the petitions. Now imagine you download rare indonesian free songs. You most surely never download at more than 3KBps ever. So, you could set Line Capacities at 5KBps so that the graph at Statics has some meaning, since if you set it up as a 100KBps connection, the graph will show an horizontal line with no meaning at all.

aMule is crashing quite often here. Can I set it to restart every time it crashes?

No, you can't. But you can have scripts to do so. Some of these scripts even work if aMule hangs but doesn't crash.

The following scripts might suit your needs:

Can I have aMule get data from the standard input to pass it to GDB or Valgrind?

Yes, you can. Up to aMule 2.0.0-rc3 this wasn't allowed, but as of version 2.0.0-rc4 you can with the parameter -i or --enable-stdin.

Anyway, people with aMule versions previous to 2.0.0-rc4 can use phoenix's aMule stdin patch.

How can I switch to aMule from eMule without losing my credits?

If you already read about the meaning of aMule's files, you might already know what you have to do:
Get cryptkey.dat, clients.met, preferences.dat, preferencesKad.dat, key_index.dat, load_index.dat and src_index.dat files from eMule's config directory (usually, under Windows, something like C:\Program files\eMule\config) and copy them into ~/.aMule. Now start aMule so it reads those files. You're done!

You might still want to take a look at the migrate from eMule to aMule article, though.

Does aMule support Universal Plug and Play (UPnP)?

Yes, aMule versions since 2.2.1 support UPnP. UPnP is currently not supported on Windows.

What's the story behind the rabbit?

Ah, yeah, this all began... ehm... well... I mean... follow the white rabbit ;-)

Which one is the recomended distro / Operating System for running aMule?

The absolutely recomended distro is YSWPS. It's still not a mature distro, but it's worth the effort to look for it.

When will next aMule release happen?

Whatever next release, the answer is always the same, it is standard: Soon (suggestion: follow the link).