Migrate from eMule to aMule-tw
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.
因為 aMule 跟 eMule 淵源很大，所以很多 eMule 的設定檔可以直接餵給 aMule，相關積分都可以繼續使用，不必重新養起
eMule 的設定檔都是擺在主執行檔所在的資料夾下的 config 資料夾，或 %AppData%\eMule (C:\Documents and Settings\使用者帳號\Application Data\eMule)；aMule 則是擺在 ~/.aMule (Linux)、或是 ~/Library/Application Support/aMule (Mac)
某些設定檔就直接從 eMule 的目錄複製到 aMule 的目錄即可
以下設定檔可直接從 eMule 複製至 aMule 的目錄 ~/.aMule/ 下使用：
- clients.met, stores the other clients 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.
- known.met, it's where details about the downloaded files are stored, the ones printed in green when searched again.
- known2.met, it's where AICH hashes of shared files are stored.
- server.met and staticservers.dat, it contains the saved eMule servers.
- ipfilter.dat and ipfilter_static.dat, which contain the IP denied to connect/share files with you.
- emfriends.met, it contains the friends list.
- addresses.dat contains a list of URLs from where aMule will download server.met files to merge with its current server.met file.
- cryptkey.dat and preferences.dat, they uniquely identify you to other clients, so you can keep credits to their side.
- key_index.dat, load_index.dat, nodes.dat, preferencesKad.dat and src_index.dat are Kademlia files.
- shareddir.dat paths of shared directories, but it is only compatible with eMule when using aMule for Windows.
- 主設定檔：eMule 是 preferences.ini，而 aMule 是 amule.conf
- 檔案分類：在下載檔案視窗的分類分頁設定。eMule 用 Category.ini，aMule 用 amule.conf
- 因為作業系統的目錄概念不同，shareddir.dat 裏面的設定當然也必須更改。 您可以在 aMule 的「偏好設定」中手動點選，也可以自行編輯此檔案加入設定
- eMule 使用但 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、webservices.dat。其中有些是舊版 eMule 用的，目前版本已不再使用
部份 eMule 的設定經處理後仍可移至 aMule 使用：
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.
eMule 的統計資訊分別放在 preferences.ini 跟 statistics.ini 內，而後者的數據似乎較前者新一點
打開 eMule 的 statistics.ini 檔案，找到 [Statistics] 段落，複製到 aMule 的 amule.conf 內的 [Statistics] 段落底下，覆蓋掉原數據。 但務必保留 amule.conf 內的 MaxClientVersions 與DesktopMode 兩個項目
但似乎只有上傳、下載的部份統計數據會繼續累計，可能是 aMule 的設定檔位置不同或使用的項目名稱不同，所以只有使用 aMule 傳輸的數據才有計算進去
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.
eMule 下已抓到一半的暫存檔可直接給 aMule 使用，aMule 重新計算完 hash 值後就會繼續抓剩下的部份。可以在 aMule 設定暫存檔資料夾至 eMule 的、也可以複製出來讓 aMule 使用。
唯一問題是：若反過來把 aMule 的暫存檔給 eMule 使用，則英文之外的檔案名稱都會變成亂碼，需要重新命名；但都可正常傳輸無誤。