MOD Kommentare... (3.5 / 5 Punkten (1600)
Board: Fragen und Hinweise: eMule Pawcio.MoD-Forum...
eMule Pawcio.MoD Download Archiv...
1. Pawcio Bandwidth Control (Tag: "Pawcio: BC") - tab "Bandwidht Control"
Completly new upload/download system based on Maella (50 ms, packets
splitting), ZZ (USS), and own ideas (DSS, ...) .
-->A. Special algorithm for minimaliziation of opened slots (as an
option: can be turn on/off by "Minimize number of opened slots" option)
-->B. Bandwidth Setting in 0.1 kB increaments (Maella idea)
-->C. Simplified options for USS and DSS(now you have to choose only the
minimal upload/download and decide how much eMule should use your bandwidth -
slider - no more need of % of lowest ping)
-->D. Advanced option for USS and DSS (you can exactly choose what max
ping should be and which server to ping)
-->E. Auto managment of Max Connections and Max Connections per 5 second.
If you set them too high BC can detect this(auto managment can be turn on/off by
Manage of active connections)
Info: BC changes only too high settings (when managment is turned on), if they
are resonable, they won't be changed
---> F. Pinging through UDP thanks to Dong,
so if your ISP is blocking ICMP traffic you can select "UDP Ping" in "Bandwidth
control" tab and it should work (you need to open UDP outgoing port (default
33434) and have administrative right in Windows NT and XP pro). If UDP sending
can't be used BC will automatically move on ICMP version.
-->G. Possibility of "catching" whole eMule upstream/downstream within
-->--> I: eMule protocol, IP, TCP, UDP header overhead (option "Include
-->--> II: TCP connection negotiations (option "Include connections overhead") -
-->--> III: TCP acknowledge packets (option "Include TCP Ack") - empiric
(doesn't not take account of RWIN size - only 2.5% of stream)
-->H. Cumulate upload bandwidth to certain slots (as an option -
"Cumulate Bandwitdth for upload slots") - idea of ZZ:SlotFocus
-->I. "Session up:down 1:4 limit" from Morph Next.
-->J. Status of USS and DSS (working, preparing, etc) and all limits (up,
down) can be seen on Bandwidth Control Tab (you can enter any value in
Connection tab but limits of ratio are preserved, you can see them on Status on
Bandwidth Control Tab)
-->K. There is new type of clients: Clients on reserved upload list
(ready in any time to start upload):
-->--> - when "Minimize number of opened slots" is not selected, reserved client
is added when client on upload queue is just ending its session (so reserved
client is able to prepare before taking the freed slot - no delays)
-->--> - when "Minimize number of opened slots" is selected, there is quantified
number of reserved clients (algorithm in CUploadQueue::AcceptToReserve)
-->--> - when "Cumulate Bandwidth for upload slots" is selected, reserved
clients are very similar to Trickle Slots in ZZUL (so there is rotation between
upload queue and reserved upload queue)
-->L. Blue lines added to graphs (in Statistic Window) showing whole
current upload and download (with whole overhead)
When "Include connection overhead" is selected you have to set minimum 11kB/s
(instead of 10kB/s) for upload limit to have unlimited download, and minimum 3.5
kB/s (instead of 3kB/s) to have 4x ratio.
When "Include TCP Ack" is selected Session up:down ratio (ZZ:RATIO from
MorphNext) is forced. All limits you can see on Status - Bandwidth Control.
2. Features for RELEASERS:
- Power Sharing from ZZ (safe MorphKad 0.4 implementation). File in Power
Shared mode is automatically uploaded with full chunks, regardless what you set
- HideOS / Selective Chunk Sharing from SF-IOM mod
- HideOS value and Selective chunk per file basis. Every file can have it's own
values (right click on file in Shared Files window), so released files can have
HideOS value 1 and Selective Chunk enabled (as Slugfiller recommends) and normal
files default value (5)
- Parts Selector - manually choose which parts are Enabled/Disabled (from
Plus mod) or Auto managed (Auto means HideOS). Manually enabling/disabling works
only for completed files and in power shared mode. Like in HideOS, if you block
a part, but user can't take any other, the part is automatically unblocked for
this user (so you won't become NSS for him).
- Inteligent Chunk Selection from enkeyDev! - to avoid two or more users
choose to download the same chunk, ECS relies only on randomness: users choose
randomly *hoping* to choose a different chunk each; in ICS users exchange infos
about what chunk is being downloaded ATM, then a user can choose the
less-downloaded (priority: spread the file faster); in ICS the user preference
"first/last chunk" take importance only when there are NO rare chunks (priority:
spread the file); With ICS, the same situation is a release-mode one, then you
will choose the shortest-to-complete chunk that is not being downloaded ATM by
any other client. This increase the probability you and the other clients would
have downloaded different chunks and keep (globally) a complete source for the
file, though a couple of sources quit...
- Detail view of parts spreading with double click on file in shared files
3. Release Window from The Black Hand mod - access to news, releases from
4. Antivirus Check from The Black Hand mod - scan for viruses just
completed files! (configuration in "Extended Settings" in Preferences)
5. Tray menu from eMule Plus mod with fast access to Upload Speed Sense
(USS) and Download Speed Sense (DSS) options. (tag Pawcio: TrayMenu)
6. Anti-Leecher and Anti-Credits-Thefs feature from Morph Next mod (Can
be enabled/disabled in "Extended settings" in "Preferences")
7. USS and DSS now in Scheduler.
8. PNR (Partfile Name Recovery) from enkeyDev! This feature writes and
keeps updated the file "config\PNRecovery.dat" that will help you recover files
when you lose the ".met". For each record in the file, the part number, ed2k
link and file name are saved in fixed lenght format.
9. EDT (Estimate Download Time) from enkeyDev! (option in Extended
Settings - for slow CPU <600MHz it's recommended to turn off) This works only
between EDT compatible versions. It lets you known how much it will take to
download from a specific source and is updated every reask (as the QR). The
requester can see the EDT in "Remaining" column. The provider can see EDT for
enqueued clients in their details window (N.S. means EDT "Not Supported" by that
client). To have a reliable statistic, EDT performs no estimation until about 30
clients start download (and that can take very much). Anyway this is VERY
experimental. Do not take EDT for an oracle, if the provider changes a file
priority or shares another file or a million other things, your EDT changes
10. Save Upload Queue Waiting Time (SUQWT) by Moonlight. - save each
upload queue client's wait time when it exits the upload queue and restore it
the next time said client comes back in the queue
11. AutoPriority based on Valid Sources from Sivka (AutoHL) - on hard
limit column you can see Valid Sources/Hard Limit; - variable Hard Limit with
auto-function (50...1000, in-/decrease depend on priority of DL-file); -
updating of Hard Limit is depended on Timer value; - Hard Limit per file will be
initiate with value from usual used Hard Limit in preferences; - You can enter
manually Hard Limit for individual files (right click - menu Sivka -
12. Active Connection Control by Obelix - option in Extended Settings
13. Merge Known - saves statistics also for not completed files (from
14. Drop High Queue Rate sources - usefull for 56K users (for others
rather not because with time flow, queue ranks are decreasing). Drop is done the
same way as original clients drops FullQ and NSS (can be enabled/disabled in
"Extended settings" in "Preferences")
15. On the fly processor optimization by eWombat - for MMX and AMD K7
16. Winsock2 by eWombat
17. Toolbar from Kademlia client - you can use now skins!
18. New Credits (as an option in "Extended Settings" - "Pawcio Credits"):
- Range from 1.0 to 100.0
- Multiplier of 3 (instead of 2) ---- ratio = 3 * downloaded / uploaded
- For new clients (downloaded and uploaded data less than 1MB) ratio = 3.0
(instead of 1.0)
- If you have recieved more than 1MB from someone but haven't given anything
back user gets ratio = 100.0
- Small bonus for clients that have given you many MB:
- if you get 100MB then user recieve ratio = 50.0 till you give back 108MB
- 50MB - ratio = 25.0 - 55MB
- 25MB - ratio = 12.0 - 28MB
- 10MB - ratio = 5.0 - 12MB
19. High priority process for eMule form MorphKad - option in Extended
20. See own comments in Shared Files window from MorphKad
21. Mod version (partially form The Black Hand mod) - see what mods are
using other users
22. Configuration of MSS in Connection Tab (from Morph Next and LSD mod)
23. Reconnect on LowID in Server Tab (by Tarod) thanks to WiRAHA
24. Code fixes:
- Maella fixes for Sockets
- fix in CUploadQueue::AddClientToQueue()
- fix in CUpDownClient::unzip()
- fix in CUpDownClient::TryToConnect()
Short guide (recommended
- deselect "Max ping allowed"
- URL to ping - select Auto
- select options: "Minimize number of opened slots", "Cumulate bandiwidth...",
"Include overhead", "Manage of active connections", "Include connection
- use slider (above "Max ping allowed" or on TrayMenu) to find best surfing
Limits in USS group:
1. for T-DSL 768/128 (mostly Germany)
- Min upload - 11
- Max upload - 16
- deselect "Session up:down limit" and "Include TCP Ack packets"
2. for T-DSL 1536/256 (mostly Germany)
Min upload - 14
Max upload - 30
- deselect "Session up:down limit" and "Include TCP Ack packets"
3. for 512/128 (mostly France, Poland)
Min upload - 8
Max upload - 15
- select "Session up:down limit" and "Include TCP Ack packets"
Description of "Bandwidth
USS (Upload Speed Sense) Group:
USS (work of ZZ
) and DSS dynamically finds current, best upload/downlaod rate from the range of
"Min upload/download in kB/s" and "Max upload/download in kB/s". "Max
upload/download in kB/s" can be found automatically by selecting "Auto" box.
USS/DSS lower the upload/download when other applications are using your
connection or when mule is downloading very fast (lowering upload - important
for ADSL user when download can be limited by upload). The key of USS/DSS to
work is pinging a host. SS can find the proper host to ping for you (just select
"Auto" box, on the right of "URL/IP to ping:" input box). If searching fails
(very rearly) it uses host given in "URL/IP to ping". If you know which host to
unselect "Auto" box and input own address. By pinging, USS/DSS gets replies from
host and on this basis it knows what to do (increase or decrease current
upload/download). USS/DSS has to have a value to comapre with received respons
from host, this value is "Max ping allowed". It would be the best if you could
know what is proper ping for your connection (if you know, then select "Max ping
allowed" box and input it). If you don't know, do not select "Max ping allowed"
box, instead use intuitive slider above (it will find the proper ping for on the
base of lowest ping calculated during preparation of USS/DSS). When you move
slider on the left upload/download will be lower but you can surf the net
easily, on the right - opposite behaviour.
Minimize number of opened slots - when this option is selected eMule
will open less slots than original if it is possible (if less users can take
more bandwidth). It means that the chunks will arrive faster to users.
Cumulate bandwidth for upload slots (idea of ZZ: Slot Focus - but
a bit diffrent) - when this option is not selected eMule tries to upload to all
users on upload queue with the same speed. Selecting this option is causing that
eMule always upload to one user (Priority client - no matter wheter he has slow
or fast connection) and then rest bandwidth gives for the fastest users (faster
spread of chunks). Priority client is always client which was first on upload
queue (stayed the longest), thanks to this for every client ("fast", "slow")
will be a turn to get data.
Session up:down limit (1:4) (idea of ZZ, changed by MorphNext) -
instead of 1:3 and 1:4 ratio for download (or unlimited when upload higher than
10) there is limit 1:4 for session. As long as you have downloaded less than 4
times the amount you uploaded (or you are uploading higher than 10kB/s) the
limit of download is the same as value entered in "Connection tab" (so it can be
unlimited). When you have downloaded more - the download is limited to preserve
1:4 session ratio.
Include overhead - eMule upload not only file data. It comunicates
with other users (queue ranks, names of files, hashes, etc), server. If you want
this upload/download can be included within limits defined in "Connection" tab
Manage of active connection - when this option is selected and you
have too high values of "Max connections" and "Max connections per 5 sec for
your connection, they will be adjusted automatically when needed.
Include connection overhead - not only eMule communicates between
users, system and network layer also (on diffrent level). This system
communication can take a lot of bandwidth especially when sorces are loaded (SLS
system, or a file with a lot sources from server). It's almost impossible to
calculate this overhead exactly, but an approximate is acceptable. You can
include this overhead within upload/download limits (USS/DSS or "Connection
tab"). Keep in mind that to have the unlimited download or 1:4 ratio with this
option selected the limits for upload were chaned:
- unlimited download needs minimum 11kB/s upload instead of 10
- 1:4 ratio needs minimum 3.5 kB/s upload instead of 3
Include TCP Ack Packets - every data received needs to be
acknowledged (it is TCP ACK packet), so it's generating upstream. The amount of
overhead is hardly to calculate exactly, it depends on many settings (e.g RWIN).
But as with "Include connection overhead" some approximation can be done (64kB/s
downstream needs circa 1.5kB/s upstream). You can include this overhead within
upload limits but then Session up:down limit (1:4) is enforced.
Here you can see what's happening with USS/DSS, what are the limits of download
(limited by settings described above - so you don't have to calculate them) and
what host is pinged. USS/DSS can be Disabled / Preparing / Succesfull / Failed.