Difference between revisions of "Migrate from eMule to aMule"

From AMule Project FAQ
Jump to: navigation, search
 
(35 intermediate revisions by 16 users not shown)
Line 1: Line 1:
<h1 style="text-align: center;">Migrate
+
<center>
from eMule to aMule</h1>
+
'''English''' |
<div style="text-align: left;"><span
+
[[Migrate from eMule to aMule-tw|正體中文]] |
style="font-style: italic;">Sandro
+
[[Migrate from eMule to aMule-es|Espa&ntilde;ol]]
Tosi, 22 August
+
</center>
2005<br>
+
 
</span>
+
 
<hr
+
Here you'll find some tips about the migration of configuration &amp; [[download]] [[file]]s from [[eMule]] to [[aMule]].
style="height: 2px; width: 50%; margin-left: 0px; margin-right: auto;"></div>
+
 
<p style="text-align: justify;">Here
+
== Brief History ==
you'll find some tips about the
+
[[eDonkey2000]] was born some years ago and its great protocol, [[FAQ_eD2k-Kademlia|ed2k]] became the Olympian of file [[share|sharing]] programs.
migration of configuration &amp; download files from eMule (read
+
 
Windows) to aMule (read Linux).</p>
+
Some coders, unsatisfied by that [[client]], started developing a new one, called [[eMule]]. Its source code was open, so anyone able to program could read it and modify it, and so they did. Many client versions came up with patches and new code. Soon the [[eDonkey2000]] guys started criticising [[eMule]], blaming constant slowdowns in the [[P2P]] [[network]] on the large number of [[eMule]] clients. After an initial study phase, [[eMule]] developers decided to create a new p2p network leaving [[eDonkey2000]] network alone. It was a success.
<h3 style="text-align: left;">1.
+
 
Brief history</h3>
+
The [http://www.kernel.org Linux] community started developing a [http://www.kernel.org Linux] client able to connect to [[eMule]]'s network: [[lMule]] was born. A multi p2p network program, [[mlDonkey]] added support to [[eMule]]'s network; later [[lMule]] was renamed to [[xMule]]. But the winner is yet to come.
<p>[http://www.edonkey.com/ EDonkey]
+
 
born some years ago
+
[[xMule]] got a few coders but a project started ramping up: try to port the changes from [[eMule]] to a [http://www.kernel.org Linux] client: [[aMule]] was born. This quickly became the de facto standard "donkey" client for [http://www.kernel.org Linux].
and its great protocol takes itself into the Olympo of file sharing
+
 
programs.</p>
+
[[eDonkey2000]] is now almost dead, and even charges for a professional version of its client.
<p>Some coders, unsatisfied by
+
 
that client, starts developing a new one, called <a
+
== Migration ==
href="http://www.emule-project.net/">eMule</a>.
+
Searching around the web you will find a lot of people saying the migration is easy: do not believe them! ;) Or better, it's easy because the temporary file format is compatible, but if we are talking about configuration files, then things are different.
Its
+
 
source code is open, so anyone (able...) can read it and modify it, and
+
Follow my notes below about the migration from [[eMule]] to [[aMule]] of all my downloads.
so was. Many client versions came up with patch and new code. Fastly,
+
 
the EDonkey guys starts arguing against eMule, blaming that the p2p
+
== Configuration Files ==
network goes constantly slower due to the large number of eMule
+
There are two important parts in [[eMule]]: the configuration files and temp/shared files. Let's start with configuration files.
clients. After an initial study phase, eMule developers decided to
+
 
create a new p2p network leaving EDonkey net alone. It was a success.</p>
+
In [[eMule]], these files are stored under ''config'' directory. In [[aMule]], instead, the configuration files are stored under ''~/.aMule'' directory (Linux) or in the ''~/Library/Application Support/aMule'' directory (Mac), or, for example in the ''C:\Documents and Settings\<username>\Application Data\aMule'' directory in Windows. So the easy step is to copy the files from the [[eMule]]'s configuration directory to [[aMule]]'s. Good, so let's look further...
<p>The Linux community starts
+
 
developing a Linux client able to connect
+
=== Configuration Files Automatically Imported ===
to eMule network: <a
+
Many files are read and correctly imported into [[aMule]]; among them there are:
href="http://www.xmule.ws/">xMule</a>
+
 
is born. A
+
*''[[clients.met_file|clients.met]]'', stores the other clients [[FAQ_eD2k-Kademlia#What_is_all_this_talk_about_credits,_ratings_and_scoring_about?|credits]]. When you download some from a client, you'll store in this file how much you have got, so you can promote that client when it will be in your [[upload]] [[queue]].
multi p2p network program, <a
+
*''[[known.met_file|known.met]]'', it's where details about the downloaded files are stored, the ones printed in green when [[search]]ed again.
href="http://mldonkey.berlios.de/">MLdonkey</a>
+
*''[[known2.met_file|known2.met]]'', it's where [[AICH]] hashes of shared files are stored.
added the support to eMule network; even another client came out, <a
+
*''[[server.met_file|server.met]]'' and [[staticservers.dat_file|staticservers.dat]], it contains the saved [[eMule]] [[server]]s.
href="http://mldonkey.berlios.de/">lmule</a>.
+
*''[[ipfilter.dat_file|ipfilter.dat]]'' and ''ipfilter_static.dat'', which contain the [[IP address|IP]] denied to [[connect]]/share files with you.
But the winner has yet
+
*''[[emfriends.met_file|emfriends.met]]'', it contains the [[friend]]s list.
to come...</p>
+
*''[[addresses.dat file|addresses.dat]]'' contains a list of URLs from where [[aMule]] will download server.met files to merge with its current server.met file.
<p>xMule got few coders but a
+
*''[[cryptkey.dat_file|cryptkey.dat]]'' and ''[[preferences.dat_file|preferences.dat]]'', they uniquely identify you to other clients, so you can keep credits to their side.
project starts rumping up: try to port
+
*''[[key_index.dat file|key_index.dat]]'', ''[[load_index.dat file|load_index.dat]]'', ''[[nodes.dat file|nodes.dat]]'', ''[[preferencesKad.dat file|preferencesKad.dat]]'' and ''[[src_index.dat file|src_index.dat]]'' are [[Kademlia]] files.
the changes from eMule to a Linux client: <a
+
*''[[shareddir.dat file|shareddir.dat]]'' paths of shared directories, but it is only compatible with [[eMule]] when using [[aMule]] '''for [http://www.microsoft.com/windows Windows]'''.
href="http://www.amule.org/">aMule</a>
+
 
was born. This fastly became
+
That's the good news. The bad is still to come...
the de facto standard enkey client for Linux.</p>
+
 
<p> EDonkey is now almost dead,
+
=== Configuration Files NOT Automatically Imported ===
and wants even to be payed for a
+
Here starts the "war bulletin":
professional version of its client...</p>
+
 
<h4>1.1. Migration</h4>
+
*Configuration file: [[eMule]] uses ''preferences.ini'' but [[aMule]] uses ''[[amule.conf_file|amule.conf]]''.
<p>Searching around the web you
+
*[[Category|Categories]]: They are the tabs separating files in the download list; in [[eMule]] they are written in the file ''Category.ini'' but [[aMule]] writes them down into ''amule.conf''.
will find a lot of people saying the
+
*[[eMule]]'s ''[[shareddir.dat file]]'' is not compatible with [[aMule]] when switching to any [[aMule]] not running in [http://www.microsoft.com/windows Windows], since paths are so different. In this case, [[aMule]] will automatically generate this file once you set in ''Preferences'' the directories you want to share.
migration is easy: do not believe them! ;) Or better, it's easy because
+
*Some files in [[eMule]]'s config directory are not used by [[aMule]]: ''AC_BootstrapIPs.dat'', ''AC_IPFilterUpdateURLs.dat'', ''AC_SearchStrings.dat'', ''AC_ServerMetURLs.dat'', ''fileinfo.ini'', ''k_index.dat'', ''preferencesK.dat'', ''s_index.dat'', ''statistics.ini'' and ''webservices.dat''. Most of the above files come from old [[eMule]] installations and are now deprecated.
temporary file format is compatible, but if we are talking about
+
 
configurations files, then the things change.</p>
+
Below you'll find how I imported the missing configurations.
<p>Below follow my notes about the
+
 
migration from eMule to aMule of all
+
== Importing Missing Configurations ==
my downloads.</p>
+
We have just said that some configurations are not automatically loaded into [[aMule]] from [[eMule]]; try to find out what we can do to import those data into [[aMule]].
<h3>2. Configuration Files</h3>
+
 
<p>There are two important parts
+
=== Importing Categories ===
in eMule: the configuration files and
+
This command line should help you generate the categories information from [[eMule]]'s ''Category.ini'' file (put the command on the same line):
temp/shared files. Let's start with configuration files.</p>
+
 
<p>In eMule, these files are store
+
  grep -E "^\[Cat|^Title|^Incoming|^Comment|^Color|^a4afPriority" Category.ini | sed 1,6d | sed 's/#/\\#/g' | sed 's/&amp;/\\&amp;/g' | sed 's/a4afPriority/Priority/g'
under <span style="font-style: italic;">config</span>
+
 
directory. In aMule,
+
This escapes even ''#'' and ''&amp;'' characters, because I've got them in my ''Category.ini'' file; maybe there will be other chars to be escaped that have to be included in the script (edit this article, if it is the case). The script deletes the first 6 rows, that is the first category, since it's a dummy one: that category is the first one in [[eMule]], which contains all/uncategorized/etc files; [[aMule]] has its "all" tab and do not need this entry. Cut&amp;paste the script's result into ''amule.conf''.
instead, the configuration files are store under <span
+
 
style="font-style: italic;">~/.aMule</span>
+
Under ''[General]'' in ''amule.conf'', you have to define a variable ''count'' (or change its value if already defined) with value:
directory. So the easy
+
 
step is copy the files from the configuration directory of eMule to the
+
  echo `grep -c "^\[Cat" Category.ini` -1 | bc
one of aMule. Good, so let's look further...</p>
+
 
<h4>2.1. Configuration Files
+
This variable holds the number of tabs to display: note that even if you have  
Automatically Imported</h4>
+
imported 10 categories, but leave ''count=1'', only one category will be displayed.
<p>Many files are read and
+
 
correctly imported into aMule; from them we
+
At the end, the categories configuration in ''amule.conf'' should look like:
can find:</p>
+
 
<ul style="list-style-type: circle;">
+
  [General]
  <li><span
+
  Count=...
style="font-style: italic;">clients.met</span>,
+
  [Cat\#1]
stores the other clients credits. When you download some from a client,
+
  Title=...
you'll store
+
  Incoming=...
in this file how much have you get, so you could promote that client
+
  Comment=...
when it will be in your upload queue;</li>
+
  Color=...
  <li><span
+
  Priority=...
style="font-style: italic;">known.met</span>,
+
  [Cat\#2]
it's where
+
  Title=...
were stored the downloaded files, the ones printed in green when
+
  Incoming=...
searched
+
  Comment=
again (I really don't know what contains the <span
+
  Color=...
style="font-style: italic;">known2.met</span>
+
  Priority=...
eMule files...);</li>
+
  ...
  <li><span
+
 
style="font-style: italic;">server.met</span>,
+
'''Note:''' If you import the categories '''before''' importing the temp files, they will be classified as in [[eMule]].
it contains
+
 
the saved eMule servers;</li>
+
=== Importing Statistics ===
  <li><span
+
[[eMule]]'s statistics are available in two different files: ''preferences.ini''
style="font-style: italic;">ipfilter.dat</span>
+
and ''statistics.ini''. I found statistics in the latter file more up-to-date than the ones in the former file.
and <span style="font-style: italic;">ipfilter_static.dat</span>,
+
 
which contain
+
Looking into ''statistics.ini'' you'll find that all statistics are under ''Statistics'' tag. Even inside ''amule.conf'' there exists this tag, so the logic conclusion is to copy from span ''statistics.ini'' to ''amule.conf''. In this last file, there are two keys, ''MaxClientVersions'' and ''DesktopMode'', that should not be deleted.
the IP denied to connect/share files with you;</li>
+
 
  <li><span
+
'''Note:''' Sadly, very few values get imported: seems only downloaded and uploaded bytes. Maybe it's not the right place where I've written those keys, or maybe [[aMule]] uses other ones. Only using [[aMule]] will reveal it.
style="font-style: italic;">emfriends.met</span>,
+
 
it
+
=== Other configurations ===
contains the friends list;</li>
+
Configurations not yet imported are the program strictly ones. They are, for example, about the [http://www.ietf.org/rfc/rfc793.txt TCP] and [http://www.faqs.org/rfcs/rfc768.html UDP] [[port]] to use, ''Incoming'' and ''Temp'' directories, network limits and so on.
  <li><span
+
 
style="font-style: italic;">criptkey.dat</span>
+
Since they are very client-specific and important for its correct behavior, I suggest to redefine them by the ''Preferences'' [[aMule]] form. Maybe it would be long and boring, but done it once, they will last forever, almost.
and <span style="font-style: italic;">preferences.dat</span><span
+
 
style="font-style: italic;"></span><span
+
If you're really brave, you can try to import directly some keys from ''preferences.ini'' to ''amule.conf'', but then don't argue if it doesn't work.
style="font-style: italic;"></span><span
+
 
style="font-style: italic;"></span>:
+
== Temporary &amp; Sharing Files ==
they&nbsp;uniquely identify&nbsp;you for other clients, so you
+
Temporary files are compatible between [[eMule]] and [[aMule]], so you only have to set the ''Temp'' dir inside [[aMule]] (and let it [[hash|rehash]] all files) to have them newly available to download.
can keep credits to their side;</li>
+
 
  <li>other files: <span
+
For sharing files we have very few things to do: since they are already downloaded, the only thing to do is say to [[aMule]] where they are and wait for rehashing.
style="font-style: italic;">key_index.dat</span>,
+
 
    <span style="font-style: italic;">load_index.dat</span>,
+
== In the end... ==
    <span style="font-style: italic;">nodes.dat</span>,
+
Those are the steps I've followed to migrate from [[eMule]] to [[aMule]]. Some things may be wrong, and others maybe could be done better, so if any corrections/ideas/additions come to your mind, take the time to update this article!
    <span style="font-style: italic;">preferences.dat</span>,
+
    <span style="font-style: italic;">preferencesKad.dat</span>,
+
    <span style="font-style: italic;">shareddir.dat</span>
+
and <span style="font-style: italic;">src_index.dat</span>;&nbsp;I
+
don't know
+
what's written inside, but I think some are Kademlia related (but they
+
were written running aMule, so I suppose they are used...).</li>
+
</ul>
+
<p>This were the good news, the
+
bad ones have still to come...</p>
+
<h4>2.2. Configuration Files NOT
+
Automatically Imported</h4>
+
<p>Here start the "war bulletin":</p>
+
<ul style="list-style-type: circle;">
+
  <li>configuration file: eMule
+
uses <span style="font-style: italic;">preferences.ini</span>
+
but aMule uses <span
+
style="font-style: italic;">amule.conf</span>;</li>
+
  <li>categories: they are the
+
tabs separating files in the download
+
list; in eMule they are written in the file <span
+
style="font-style: italic;">Category.ini</span>
+
but aMule writes them
+
down into <span style="font-style: italic;">amule.conf</span>;</li>
+
  <li>some files in eMule config
+
directory seems not to be used by
+
aMule: <span style="font-style: italic;">AC_BootstrapIPs.dat</span>,
+
    <span style="font-style: italic;">AC_IPFilterUpdateURLs.dat</span>,
+
    <span style="font-style: italic;">AC_SearchStrings.dat</span>,
+
    <span style="font-style: italic;">AC_ServerMetURLs.dat</span>,
+
    <span style="font-style: italic;">adresses.dat</span>,&nbsp;<span
+
style="font-style: italic;"></span><span
+
style="font-style: italic;"></span><span
+
style="font-style: italic;">fileinfo.ini</span>,
+
    <span style="font-style: italic;">k_index.dat</span>,&nbsp;<span
+
style="font-style: italic;"></span><span
+
style="font-style: italic;">preferencesK.dat</span>,
+
    <span style="font-style: italic;">s_index.dat</span>,
+
    <span style="font-style: italic;">staticservers.dat</span>,
+
    <span style="font-style: italic;">statistics.ini</span>
+
and <span style="font-style: italic;">webservices.dat</span>.
+
I don't know their
+
function under eMule and maybe some of the above files come from old
+
eMule installations and know their are not used anymore even by eMule.</li>
+
</ul>
+
<p>Further you'll find how I've
+
imported the missing configurations.</p>
+
<h3>3. Importing Missing
+
Configurations</h3>
+
<p>We have just said that some
+
configurations are not automatically
+
loaded into aMule from eMule; try to find out what
+
we can do to import those data into aMule.</p>
+
<h4>3.1. Importing Categories</h4>
+
<p>This command line should help
+
you generate the categories
+
information from eMule <span
+
style="font-style: italic;">Category.ini</span>
+
file (put the commando&nbsp;on the same line):</p>
+
<p style="margin-left: 40px;"><span
+
  style="font-family: monospace;">$
+
grep -E "^\[Cat|^Title|^Incoming|^Comment|^Color|^a4afPriority"
+
Category.ini | sed 1,6d | sed 's/#/\\#/g' | sed
+
's/&amp;/\\&amp;/g' |
+
sed 's/a4afPriority/Priority/g'</span></p>
+
<p>this escapes even # and
+
&amp; characters, because I've got in my <span
+
style="font-style: italic;">Category.ini</span>
+
file; maybe there will
+
be other chars to be escaped that have to included in the script (let
+
me know, in this case). The script deletes the first 6 rows, that is
+
the
+
first category, since it's a dummy one: that category is the first one
+
in eMule, which contains all/uncategorized/etc files; aMule has its
+
"all" tab and do not need this entry. Cut&amp;paste the script
+
result
+
into <span style="font-style: italic;">amule.conf</span>.</p>
+
<p>Under <span
+
style="font-family: monospace;">[General]</span>
+
of <span style="font-style: italic;">amule.conf</span>,
+
you have to define a
+
variable <span
+
style="font-family: monospace;">count</span>
+
(or change
+
its value if already defined) with value:</p>
+
<p style="margin-left: 40px;"><span
+
  style="font-family: monospace;">$
+
echo `grep -c "^\[Cat" Category.ini` -1 | bc</span></p>
+
<p>this variable holds the number
+
of tabs to display: note that even if you have
+
imported 10 categories, but leave <span
+
style="font-family: monospace;">count=1</span>,
+
only one category will be displayed.</p>
+
<p>At the end, the categories
+
configuration in amule.conf should look
+
like:</p>
+
<p style="margin-left: 40px;"><span
+
  style="font-family: monospace;">[General]</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Count=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">[Cat\#1]</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Title=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Incoming=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Comment=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Color=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Priority=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">[Cat\#2]</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Title=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Incoming=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Comment=</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Color=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">Priority=...</span><br
+
  style="font-family: monospace;">
+
<span style="font-family: monospace;">...</span></p>
+
<p>I don't know if importing the
+
categories before importing the temp
+
files, they will be classified as in eMule; I've imported temp files
+
before the categories, but I don't think they will be placed in the
+
tabs as they were in eMule (if someone can confirm this...).</p>
+
<h4>3.2. Importing Statistics</h4>
+
<p>eMule statistics are available
+
in two distinct files: <span
+
style="font-style: italic;">preferences.ini</span>
+
and <span style="font-style: italic;">statistics.ini</span>.
+
I found statistics in the latter file&nbsp;more up-to-date than the
+
ones
+
in the former file.</p>
+
<p>Looking into <span
+
style="font-style: italic;">statistics.ini</span>
+
you'll find that all statistics are under <span
+
style="font-family: monospace;">[Statistics]</span>
+
tag. Even inside <span
+
style="font-style: italic;">amule.conf</span>
+
there exists this tag, so the logic conclusion is to copy from <span
+
style="font-style: italic;">statistics.ini</span>
+
to <span style="font-style: italic;">amule.conf</span>.
+
In this last file, there are two keys, <span
+
style="font-family: monospace;">MaxClientVersions</span>
+
and <span style="font-family: monospace;">DesktopMode</span>,
+
that should not be deleted (I don't know what they mean, so leave them
+
where they are...).</p>
+
<p>Sadly, very few values get
+
imported: seems only downloaded and uploaded bytes. Maybe it's not the
+
right place where I've written those keys, or maybe aMule uses other
+
ones. Only using aMule will reveal it...</p>
+
<h4>3.4. Other configurations
+
</h4>
+
<p>Configurations not yet imported
+
are the program strictly ones. They are, for example, about the TCP and
+
UDP port to use, Incoming and Temp directories, network limits and so
+
on.</p>
+
<p>Since they are very
+
client-specific and important for its correct
+
behavior, I suggest to redefine them by the <span
+
style="font-style: italic;">Preferences</span>
+
aMule form. Maybe it
+
would be long and boring, but done it once, they will last forever,
+
almost... </p>
+
<p>If you're a real brave guy, you
+
can try to import directly some keys
+
from <span style="font-style: italic;">preferences.ini</span>
+
to <span style="font-style: italic;">amule.conf</span>,
+
but then do not argue
+
it won't work anymore...</p>
+
<h3>4. Temporary &amp; Sharing
+
Files</h3>
+
<p>Temporary files are compatible
+
between eMule and aMule, so you only
+
have to set the Temp dir inside aMule (and let it rehash all files) to
+
have them newly available to download.</p>
+
<p>For sharing files we have very
+
few things to do: since they are
+
already downloaded, the only thing to do is say to aMule where they are
+
and waiting for rehashing.</p>
+
<h3>5. At the end...</h3>
+
<p>Those are the steps I've
+
followed to migrate from eMule to aMule;
+
something maybe wrong, and something maybe could be do better, so let
+
me know any correction/ideas/addition come to your mind.</p>
+

Latest revision as of 13:33, 2 January 2010

English | 正體中文 | Español


Here you'll find some tips about the migration of configuration & download files from eMule to aMule.

Brief History

eDonkey2000 was born some years ago and its great protocol, ed2k became the Olympian of file sharing programs.

Some coders, unsatisfied by that client, started developing a new one, called eMule. Its source code was open, so anyone able to program could read it and modify it, and so they did. Many client versions came up with patches and new code. Soon the eDonkey2000 guys started criticising eMule, blaming constant slowdowns in the P2P network on the large number of eMule clients. After an initial study phase, eMule developers decided to create a new p2p network leaving eDonkey2000 network alone. It was a success.

The Linux community started developing a Linux client able to connect to eMule's network: lMule was born. A multi p2p network program, mlDonkey added support to eMule's network; later lMule was renamed to xMule. But the winner is yet to come.

xMule got a few coders but a project started ramping up: try to port the changes from eMule to a Linux client: aMule was born. This quickly became the de facto standard "donkey" client for Linux.

eDonkey2000 is now almost dead, and even charges for a professional version of its client.

Migration

Searching around the web you will find a lot of people saying the migration is easy: do not believe them! ;) Or better, it's easy because the temporary file format is compatible, but if we are talking about configuration files, then things are different.

Follow my notes below about the migration from eMule to aMule of all my downloads.

Configuration Files

There are two important parts in eMule: the configuration files and temp/shared files. Let's start with configuration files.

In eMule, these files are stored under config directory. In aMule, instead, the configuration files are stored under ~/.aMule directory (Linux) or in the ~/Library/Application Support/aMule directory (Mac), or, for example in the C:\Documents and Settings\<username>\Application Data\aMule directory in Windows. So the easy step is to copy the files from the eMule's configuration directory to aMule's. Good, so let's look further...

Configuration Files Automatically Imported

Many files are read and correctly imported into aMule; among them there are:

That's the good news. The bad is still to come...

Configuration Files NOT Automatically Imported

Here starts the "war bulletin":

  • Configuration file: eMule uses preferences.ini but aMule uses amule.conf.
  • Categories: They are the tabs separating files in the download list; in eMule they are written in the file Category.ini but aMule writes them down into amule.conf.
  • eMule's shareddir.dat file is not compatible with aMule when switching to any aMule not running in Windows, since paths are so different. In this case, aMule will automatically generate this file once you set in Preferences the directories you want to share.
  • Some files in eMule's config directory are not used by aMule: AC_BootstrapIPs.dat, AC_IPFilterUpdateURLs.dat, AC_SearchStrings.dat, AC_ServerMetURLs.dat, fileinfo.ini, k_index.dat, preferencesK.dat, s_index.dat, statistics.ini and webservices.dat. Most of the above files come from old eMule installations and are now deprecated.

Below you'll find how I imported the missing configurations.

Importing Missing Configurations

We have just said that some configurations are not automatically loaded into aMule from eMule; try to find out what we can do to import those data into aMule.

Importing Categories

This command line should help you generate the categories information from eMule's Category.ini file (put the command on the same line):

grep -E "^\[Cat|^Title|^Incoming|^Comment|^Color|^a4afPriority" Category.ini | sed 1,6d | sed 's/#/\\#/g' | sed 's/&/\\&/g' | sed 's/a4afPriority/Priority/g'

This escapes even # and & characters, because I've got them in my Category.ini file; maybe there will be other chars to be escaped that have to be included in the script (edit this article, if it is the case). The script deletes the first 6 rows, that is the first category, since it's a dummy one: that category is the first one in eMule, which contains all/uncategorized/etc files; aMule has its "all" tab and do not need this entry. Cut&paste the script's result into amule.conf.

Under [General] in amule.conf, you have to define a variable count (or change its value if already defined) with value:

echo `grep -c "^\[Cat" Category.ini` -1 | bc

This variable holds the number of tabs to display: note that even if you have imported 10 categories, but leave count=1, only one category will be displayed.

At the end, the categories configuration in amule.conf should look like:

[General]
Count=...
[Cat\#1]
Title=...
Incoming=...
Comment=...
Color=...
Priority=...
[Cat\#2]
Title=...
Incoming=...
Comment=
Color=...
Priority=...
...

Note: If you import the categories before importing the temp files, they will be classified as in eMule.

Importing Statistics

eMule's statistics are available in two different files: preferences.ini and statistics.ini. I found statistics in the latter file more up-to-date than the ones in the former file.

Looking into statistics.ini you'll find that all statistics are under Statistics tag. Even inside amule.conf there exists this tag, so the logic conclusion is to copy from span statistics.ini to amule.conf. In this last file, there are two keys, MaxClientVersions and DesktopMode, that should not be deleted.

Note: Sadly, very few values get imported: seems only downloaded and uploaded bytes. Maybe it's not the right place where I've written those keys, or maybe aMule uses other ones. Only using aMule will reveal it.

Other configurations

Configurations not yet imported are the program strictly ones. They are, for example, about the TCP and UDP port to use, Incoming and Temp directories, network limits and so on.

Since they are very client-specific and important for its correct behavior, I suggest to redefine them by the Preferences aMule form. Maybe it would be long and boring, but done it once, they will last forever, almost.

If you're really brave, you can try to import directly some keys from preferences.ini to amule.conf, but then don't argue if it doesn't work.

Temporary & Sharing Files

Temporary files are compatible between eMule and aMule, so you only have to set the Temp dir inside aMule (and let it rehash all files) to have them newly available to download.

For sharing files we have very few things to do: since they are already downloaded, the only thing to do is say to aMule where they are and wait for rehashing.

In the end...

Those are the steps I've followed to migrate from eMule to aMule. Some things may be wrong, and others maybe could be done better, so if any corrections/ideas/additions come to your mind, take the time to update this article!