emule怎么连接不上emule 服务器列表

如何创建一台ED2K电骡\电驴服务器, LUGDUNUM的使用与设置 - 『精品软件区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 3601|回复: 6
如何创建一台ED2K电骡\电驴服务器, LUGDUNUM的使用与设置
阅读权限20
本帖最后由 x12655 于
20:41 编辑
3.gif (8.16 KB, 下载次数: 0)
14:02 上传
d.jpg (39.09 KB, 下载次数: 1)
13:47 上传
2.gif (8.16 KB, 下载次数: 1)
14:01 上传
众所周知,ED2K服务器在EMULE整个运行过程中有着非常重要的作用,尤其是在找源与搜索方面,ED2K服务器暂时无法被KAD完全取代;ED2K服务器可以鉴别虚假与恶意文件,维系EMULE与其他不支持KAD协议的ED2K兼容客户端之间的联系。有了ED2K服务器,EMULE才能更好的运行。
  由于考虑到位于北美大陆的恶意与虚假服务器对ED2K网络的威胁,LUGDUNUM是免费但不开源软件,服务器版本是否最新是判断一个服务器好坏的重要特征。
  LUGDUNUM主要设计用于LINUX平台运作,支持多核心与64位运行,但也有面向WIN32,solaris与FREEBSD平台的版本。特别说明: LUGDUNUM17.15 WIN32版已经被证实无法正常运作,如需win下搭建电骡服务器请下载低版本程序,但是不支持模糊协议哦。本帖末尾会教大家使用17.10版本在win下搭建电驴服务器。
  LUGDUNUM的主页已经失效,这里提供针对32位LINUX与X86_64LINUX的17.15版本。需要2.6或以上版本内核才能支持NPTL。
Donkey EDonkey ED2K Server Serveur Lugdunum DServer EServer 17.15.i686-linux.nptl.gz (588.57 KB)
Donkey EDonkey ED2K Server Serveur Lugdunum DServer EServer 17.15.x86_64-linux.nptl.gz (1.8 MB)
下载地址1:/archive/p/eserver/downloads
下载地址2:magnet:?xt=urn:btih:0BBFE8A7AB50444CCF98
下载地址3:https://mega.nz/#!gd4ymBBI密匙:!cK3S1zvl9jYdbUnCIdHhKr22BrZeTvoxuBk6CTiC2E4
下载地址4:http://lugdunum.shortypower.org/files/
  下载与你的系统和CPU对应的LUGDUNUM,然后解压到任意文件夹中,再去下载ip-to-country.csv与ipfilter.dat,把他们放在LUGDUNUM存放的位置,这时就可以编写LUGDUNUM的配置文件----donkey.ini。
  这是核心部分:ED2K服务器的每一个变量都被写在这个文件里。eserver开始运行时会读这个文件。非常重要:服务器软件没法接受语法错误(书写时的错误)。服务器不能明白某个命令,它就不会工作,或者它会忽略写得不对的命令(以及后面的任何东西)。大小写也是非常重要的。所有单独条目均不能有注释。
  [server]
  这个命令启动控制进程。它必须被写在方括号里。在最后的那个方括号后面没有空格,这一点非常重要。否则的话这将使服务器无法理解 ——也许它没法工作了。接下来的条目只是例子而已!
  name=LUCK
  服务器的名字,就象你在客户端看见的那个。你可以用任何你想用的的文字数字组合。
  desc=社区
  服务器描述信息,跟“name=”格式是一样的。可以用任何文字。
  thisIP=61.152.93.254
  请注意大小写!(IP“61.152.93.254 ”只是个例子而已)。这将告诉服务器你自己的,公开的公网IP。程序开始时,服务器会把它工作的IP发送到其他的服务器。请注意程序开始时所显示的IP,它是你当前真正的,公开的IP,用户会通过你提供的这个IP连接到你的服务器。
  port=4242
  在这里你要指定可以跟服务器建立联系的端口。一般情况下这个端口是TCP:4661,如果你想用4661,那么这个条目可以空着。如果由于某些技术原因该端口不可用的话,你可以用其他的端口。当然如果是这样的话你就得给出这个条目了——如果可能的话,尽量不使用4661,因为某些无良ISP封锁了。 端口缺省是TCP:4661
  seedIP=77.247.178.244
  注意大小写!(IP地址“77.247.178.244”只是个例子而已)
  这一项,就象名字示意的那样,是指服务器从哪里连接到网络其他部分,它代表一个正在运行的ED2K服务器,这样你的服务器才能够找到它 ——它是你的服务器首先建立连上的那个服务器。 首先,你的服务器发送自身的IP地址和端口号——然后他就会获得种子服务器所知道的所有的IP地址。
  seedPort=4242
  注意大小写! (端口“4242”只是个例子而已)
  如果“种子服务器(Seed-Server)”的端口号不同于缺省的TCP:4661,就必须有这个条目。许多服务器使用4661端口“seedPort”的缺省设置是4661。
  logFile=true/false
  注意大小写!
  你可以把日志写到硬盘里,而不是把它们显示出来——这也就是说把显示输出关闭掉——这样的话服务器不会在屏幕上显示任何输出! “true”表示“激活该功能”,“false”表示“关闭该功能”。如果你不想显示输出而想用日志文件的话的话——写true,否则写false——请不要写both(两者都要),否则你的服务器会发癫的,或者将引起你的电脑爆炸!! “logFile”的缺省设置是“false”——关闭……
  verbose=true/false
  如果你想看所有的系统显示的注意信息,你应该把“verbose”激活(把它设成“true”)——一般来讲如果所有的东西你都看看的话是很烦人的,因为“普通的”信息显示得太快了。不要感到惊讶:即使是“verbose=false”,服务器仍然会打出“ERROR: unknown type MetaTag::MakeTag() 72”或者类似的信息 ——别管它,服务器会工作的。为什么会显示这个信息呢?我不知道!总之别理它就行了…… “Verbose”缺省是设成false——关闭……
  public=true/false
  这个条目决定了你的服务器是否把自己的IP发送到其他服务器去。把这个条目设置为“true”对网络来讲是非常重要的,因为一般你要运行的都是公开服务器,只有设置为“public=true”你的服务器才能够登陆到网络上去!
  注意:“public”缺省是设成“false”的,把它更改为true.
  threads=10 (integer)
  这个条目定义能够同时处理的任务的数目,目前LUGDUNUM中此值为10且不可更改。
  tableSize=3089 (integer)
  注意大小写!
  这里的table就是包含了文件名和客户的数据库。这一定是一个素数。其技术背景(快速搜索次序)就不深入探讨了。这个值的大小看起来并没有什么太大区别。在默认的ini文件里这个值是“3089”——这实际就是一个素数。设为其他素数也没有任何影响。如果不去设定,服务器会自动生成一个素数取代。
  maxClients=100000
  注意大小写!
  这里是多少客户可以同时连接到服务器的数目。如果“maxClient(最大客户数目)”——达到了峰值时,客户端在尝试连接到该服务器的的时候会出现“Can′t connect to...(无法连接到……)”这样的信息。
  你必须试试才能知道你的服务器的最佳值,LUGDUNUM支持运行中更改可容纳客户端数目,更改后也无需重新启动程序。
  type=key/substring (key 或者 substring)
  注意大小写!
  “type”缺省被设置成“key”,也就是快速模式;“substring”是老式方法,速度慢。
  console=true/false
  这个值决定服务器是否工作在控制台(命令行提示符)状态下。当服务器自动开始运行并且你不想使用“屏幕”命令的时候,这样做还是有用的。
  如果“console=true”的话,你就必须在控制台下运行服务器,如果“console=false”则不必非要如此,但这时就不能用键盘给出任何命令了,并且不能显示任何东西。嗯,其实这两样都不是必需的,但是我喜欢时不时察看一下它在干什么并加以控制,以及看看它知道多少可用的服务器(敲“vs”)。 “console”缺省是设置成“true”
  minVersion=57
  注意大小写!
  这定义低于v.57的版本不能连接到服务器。当有客户端软件的更新版本出现时,改改这个值是有用的,但请注意当时的形势,比如说,由于一个安全方面的bug,新版本v.61没法支持ed2k-links,因此没有很多用户升级到它,还有linux的版本可能比windows版本老很多……
  如果没有设置“minVersion”值的话,所有版本的客户端都会被服务器接受。
  maxVersion=9999
  注意大小写!
  这定义了服务器可接受的最大版本号。测试版的客户端程序往往有一个很高的值(比如1060)——因此这个值应该留为空白,否则的话你得常常更新这个值并且很容易忘记——正在测试新客户端的用户就被请出去了……:-( 设为9999就保险了。
  如果“maxVersion”没有被设置的话,任何高于“minVersion”的版本均会被接受。
  welcome[0]=Welcome to TheDonkeyNetwork
  welcome[1]=share your Files and your upload Bandwith
  这是欢迎信息,在登陆到服务器时被显示出来。设定时你要注意,[]里面的数字是变化的,每行的不一样。欢迎信息不应该太长,否则的话它们将需要许多带宽——每个字母1字节!当出现1000客户时,平均每分钟会有5-50个连接……
一个完整的可以使用的donkey.ini文件看起来像这样:
  [server]
  name=LUCK
  thisIP=61.152.93.254
  port=4242
  seedIP=77.247.178.244
  seedPort=4242
  verbose=false
  public=true
  threads=10
  type=key
  tableSize=3089
  maxClients=100000
  minVersion=57
  maxVersion=9999
  logFile=false
  welcome[0]=欢迎登录LUCK
  welcome[1]=***************************
  welcome[2]=建立华语世界最大的P2P资料库
  下面介绍一下一些其他的设置选项
  LOWIDenable (integer)
  如果为 1, LOWID 用户可以登录。缺省值为 1
  LOWIDpercent (integer)
  最大的 LOWID 用户比率。建议不要超过33%,缺省值为20
  autoservlist (pathname)
  如果设置了,服务器会每225秒将已知的其他服务器列表写入server。缺省值为none
  auxportslist (list of ports values)
  辅助监听端口列表,16.45版的新特性
  例子:auxportslist=80,443,25,21
  blacktime (integer)
  黑名单时限。即将客户端ip列入黑名单保留的时限.缺省值为3600
  bverbose (boolean)
  如果为真,eserver会记录下黑名单ip。缺省值为false
  connIP (IP address)
  当服务器有多ip时,指定辅助监听的ip。和ftpd的virtual host不同,这里还有防止Hash Stealers的功能
  filter[] (filter expression)
  滤镜,防止共享某些不合法或不完整文件,有需要的话我会另外一个帖子介绍一下详细用法
  filter[0]=(.part.met)
  filter[1]=(.part.stats)
  filter[2]=(#FORMAT met)
  filter[3]=(#FORMAT part)
  filter[4]=(#FORMAT dll)|(#FORMAT sys)
  hardLimit (integer)
  共享文件数目硬性限制,为避免某些用户共享过度的文件数浪费带宽而设置,拥有超过此数目共享文件的用户将被踢出服务器,默认值为4000
  login_timeout (integer)
  登陆时限,在时限内检验客户端获取 HighID 或 LOWID。默认值为20
  max_clients_per_ip (integer)
  限制同一IP连出的客户端数量,默认值为12。
  可以防止某些蠕虫/病毒/机器人发起太多连接以填满服务器的资源,但是容易使国内一些宽带的用户进入黑名单。
  maxSearchCount (integer)
  从以连接客户中搜索返回结果最大数,默认值为200
  maxUDPSearchCount (integer)
  从非连接客户中搜索返回结果最大数,默认值为20
  maxservers (integer)
  服务器被加入服务器list的最大值,避免拒绝服务攻击。缺省值为4096
  maxstrangers (integer)
  最大陌生用户的数目,缺省为1000000
  minEVersion (integer)
  可登入服务器的Emule的最小版本,缺省值为0x26
  注:EMULE的版本数字为16进制,范围从00到FF
  minkeylength (integer)
  搜索时关键字的最小长度,缺省为3
  nbuserIP (IP address)
  如果使用了nbuser来监听,在这里设置监听机器的ip,缺省为127.0.0.1
  nbuserport (integer)
  nbuser监听的端口,默认为5656
  ncpus (integer)
  设定主机可用的CPU的数目。
  nickcommunity (string)
  非陌生客户认证的标志,也就是登录服务器需要的TAG,比如POPGO服务器需要的EDTOON,缺省值为空
  noudpslowsearches (boolean)
  拒绝复杂搜索,即拒绝关键字搜索,缺省值为false
  ping_delay (integer)
  ping延迟时间,服务器会在一定的间隔获取用户总数和每一个用户共享的文件,这个过程叫做ping。缺省值为400
  softLimit (integer)
  共享文件数目软性限制,为避免某些用户共享过度的文件数浪费带宽而设置,用户超过此数目的共享文件将被服务器忽略,默认值为1000
  tcpthreads (integer)
  用于接受客户端请求的TCP请求的线程数目,默认值为当前主机的可用CPU数目
  trackbademule (integer)
  拒绝虚假版本EMULE的登入,要与minEVersion配合使用,默认值为30
  trackemule (integer)
  此项如果被激活(设为1),服务器程序将跟踪EMULE的版本,默认值为1
  udpsearchers (integer)
  为UDP搜索动作准备的线程数目,在单CPU机器上请设为1,多CPU机器上请设为2
  warnfakes (integer)
  恶意文件提示,当用户持有或正在下载fakes.txt中已知的虚假或恶意文件时,服务器发给该用户的警告信息的数目,默认值为0(不发送)
  附:fakes.txt 的格式
  纯文本格式,每行只写入一个虚假或恶意文件,以该文件的32位MD4 HASH值开头,后面是对于该文件情况的描述。
  服务器命令
  查看当前服务器中用户登录情况
  查看种子服务器的运行情况
  查看当前服务器的一些选项的值,比如IP,端口,软硬限制等
  name=valve
  更改选项的值,比如键入 maxClients=30000 就是将最大客户端数目设为30000
  print name
  显示该选项的当前值,比如建入 print maxClients,服务器就会显示 maxClients=30000
  g | stats
  显示服务器当前的用户情况,搜索状况,端口信息,连接情况。
  显示服务器的欢迎信息
  filters
  设置服务器中的文件名过滤
  显示当前的内存使用情况
  显示服务器的调试信息
  reload
  重新载入配置文件
  m message
  向客户端广播信息,message指代广播内容。
  在LINUX下的一些设置
  对于大型服务器,修改/etc/sysctl.conf中的fs.file-max将其值改为 16384
  官网推荐使用脚本启动服务器,脚本内容如下:
  # script.sh file
  ulimit -n 100000
  while :
  ./eserver
  sleep 1
以下可不用阅读
这是英文原本
donkey.ini documentation :
You can list all the available parameters and their current values by issuing this eserver command :
All these params can be changed in the donkey.ini file, and many of them can be changed dynamically, in the eserver console.
Note : boolean values can be false, true, 1, or 0.
LOWIDenable (integer) (should be boolean in next version)
If 1, LOWID users can login. Default value : 1
LOWIDpercent (integer)
Maximum percentage of LOWID users. Warning : having too many LOWID logged in a server is a bad idea, since nobody can get sources. I suggest not having more than 33% of LOWID users. Default value : 20
autoservlist (pathname)
If set, the server can write a server.met file , with only working known servers, every 225 seconds (approx). Default value : none
auxportslist (list of ports values)
New in 16.45
The server can listen to auxiliary tcp ports. This is to help some users to avoid providers filters that block standard wellknown ports (). Default value : none
Only updated clients may use aux ports, because we ask them not to spread aux ports values to other clients, because we dont want to receive additionnal UDP trafic.
This list may be modified dynamically.
auxportslist=80,443,25,21
bindUDPIP (IP address)
When a host has more than one IP, you can force the IP used by the UDP messages. This is usefull if the primary IP address of the machine is not the IP address of the server (thisIP).
blacktime (integer)
The number of seconds of blacktime : If a client IP is blacklisted (because of sending too many requests to the server), it stays in this blacklist for at least this time. Default value : 3600
blocsize (integer)
The number of bytes of the Unit of memory allocation. Dont change this value, as it is the size of a HugeTLB page (4 Mbytes). Default : 4194304.
bverbose (boolean)
If true, the eserver logs (to the console and/or logfile) the blacklisted IP and 'double connections'. Default value : false
connIP (IP address)
When a server has more than one IP, you can use a second IP to bind the outgoing sockets, that the server use to check the LOWID/HighID capability of new clients. Using a different IP can defeat some bad clients that give false informations (Hash Stealers)
console (boolean)
When the eserver prints a message, it is sent to the console if the console flag is 'true', and/or to the log file is logFile flag is 'true'. Default value : true
dcache_line (integer)
This controls the alignment of memory blocks that eserver users to store file descriptions. Trying to use the L1 cache size of the CPU helps the performance. The L1 cache size of PII & PIII is 32 bytes. For Athlons and P4, this is 64 bytes. Default value : system dependant.
defer_accept (integer)
The linux kernel has a TCP_DEFER_ACCEPT feature, that delay the accept() of a new TCP stream. The listening application is notified of a new connection only after some data were received on it. The defer_accept parameter is the max delay between the connection establishment and the first data. Default value : 10 seconds.
desc (string)
This is the description of the server. This string is sent to the clients. Default value : eserver
filter[] (filter expression)
Setup a filter that is applied to files published by clients. Please refer to the dserver documentation for details.
Example of filters :
filter[0]=(.part.met)
filter[1]=(.part.stats)
filter[2]=(#FORMAT met)
filter[3]=(#FORMAT part)
filter[4]=(#FORMAT dll)|(#FORMAT sys)
fwcommand (pathname)
Introduced in 16.41, this parameter gives the name of a file. This file is updated when the eserver detects that a client loops on the login process.
When an IP is added to the 'bad list', a line like this one is added :
Wed Oct 8 16:07:06 2003 DENY 172.16.0.156
When the server thinks the client can be accepted again :
Wed Oct 8 16:07:06 2003 ACCEPT 172.16.0.156
You can use this file with a daemon that reads new records from this file, and issue some iptables/ipfw/whatever commands.
Example for iptables on linux :
At init time, (firewall setup) initialize the SYN chain and insert it in the INPUT chain, for SYN TCP packet only
iptables -N SYN
iptables -I INPUT -p tcp --dport 4661 --syn -j SYN
When the eserver or the daemon is restarted, flush the rules in SYN chain:
iptables -F SYN
Then, when a 'DENY' is emitted by eserver, add a rule in the chain :
iptables -I SYN -s the_IP -j Drop
When a 'ACCEPT' is emitted by eserver remove the rule :
iptables -D SYN -s theIP -j Drop
You may want to play with clever iptables module, like RECENT, that are faster when the number of IP is high (hashtable instead of list).
hardLimit (integer)
If a client tries to publish more than hardLimit files, the server disconnects him (before receiving the whole list). That is to save bandwidth, because some lazy people share all their files. Default value : 4000
See softLimit parameter description.
http_trace (boolean) (New in eserver 16.50)
When set to true, eserver logs HTTP requests to &loghttp& file. Default = false
hugefile (string)
(linux 2.6 only) : The path of a file located in a hugetlbfs file system. This allows eserver to try to allocate 4MB or 2MB Huge Pages instead of standard 4KB pages, to reduce hardware TLB misses. The normal page size on ia32 is 4Kbytes, which is way too small for a programm that has to use a huge amount of memory.
Dont bother with such advanced features for small servers.
Example of use :
Check your linux kernel config, you should have :
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLBFS=y
Then you can mount a hugetlbfs : (in a startup file, like /etc/rc.d/rc.local)
mkdir /huge
mount -t hugetlbfs none /huge
echo 100 &/proc/sys/vm/nr_hugepages
Then in donkey.ini add :
hugefile=/huge/eserver
Note : On HPUX, Solaris, Windows2003, eserver tries to allocate big pages automatically.
On windows2003, the SE_LOCK_MEMORY priviledge should be granted to the user before starting eserver. If not, the server falls back to allocate normal memory (not 4MB big pages)
hugefile2 (string)
Since 16.45, the HugeTlb pages may be used for the heap storage too. (linux 2.6 only) : The path of a file located in a hugetlbfs file system.
jigleIP (IP address)
The IP address of jigle, to avoid blacklisting[/url]. Default value : 62.2.249.5
listenIP (IP address)
The server can listen TCP connections to a specific address, instead of all IP of the host. Default value : Any address (0.0.0.0)
listen_backlog (integer)
The listen backlog. The eserver has a very high value, suitable for any servers, but you can change it. Default value : 1024
Note : On linux, you may want to check /proc/sys/net/ipv4/tcp_max_syn_backlog and /proc/sys/net/core/somaxconn : global system limits.
logFile (boolean)
If set to true, the server appends its message to the &log& file, located in the current directory. Default value : false
login_timeout (integer)
The value in seconds the server waits for the backdoor test to succeed. The backdoor test is a connection made by the server to the 4662 port of the client to check if it is a HighID or LOWID. Default value : 20
maxClients (integer)
The maximum number of clients for this server. Default value : 1024
max_clients_per_ip (integer)
Limits the number of clients sharing one IP. Default value : 12
This is to forbid some worms/virus/robots opening too many connections and fill the server.
max_frame_size (integer)
If a client send a frame with more than max_frame_size, the server disconnects it. Default value : 250000
max_slimit_nb_cell (integer)
This limits the maximum number of IP that slimit module can manage. Default value : 393216
max_string_size (integer)
This is the max size of a string. Some clients sends very long filenames. The server truncates too long strings. Default value = 140
maxSearchCount (integer)
This is the max number of answers given to a Search request (from a connected client) Default value = 200
maxSearchCountz (integer)
This is the max number of answers given to a Search request (from a connected zlib aware client) Default value = 300
maxUDPSearchCount (integer)
This is the max number of answers given to a Search request (from a not connected client) Default value = 20
maxVersion (integer)
A client software has a version number. Clients having a version greater than maxVersion are not allowed to login. Default value = 2000
maxnozlib (integer)
New in version 16.44. When the current number of users exceeds the maxnozlib value, only zlib aware clients are alowed to login. Default value = 250000 [/url]
[url=][url=]maxservers (integer)
Limits the maximal number of servers that this server can add in its list. To protect against some Denial Of Service attacks. Default value = 4096
maxstrangers (integer)
Used with the nickcommunity parameter. No more than 'maxstrangers' users not belonging to the community are allowed to login. Default value = 1000000
minEVersion (integer)
Used with the trackemule feature. Gives the minimum Emule version that this server allows. Emule version is a hexadecimal number between 00 and FF. Default value = 0x26
minVersion (integer)
A client software has a version number. Clients having a version lower than minVersion are not allowed to login. Default value = 59
minkeylength (integer)
Default value 3. This is the minimum length of a keyword. The server builds indexes on the keywords contained in the filenames, to be able to perform fast searches.
As indexes use a lot of ram, 16.44 server can ignore short words.
mmap_hint (integer)
A hint for the eserver to place its 4Mo pages in virtual memory space. Default value = 0 (no hint)
On ia32 linux, one can use mmap_hint=0x
razorback uses 0x
msgrandomport (boolean)
Some providers (ISP) are filtering 4662 port. To help users, it may be a good thing to ask them to change the 4662 value for something else.
If msgrandomport is true, the server automatically sends a warning message to users that uses the default port.
The MsgRandomport default value is : WARNING : Please try to use a random port instead of 4662, because a lot of ISP have filters on 4662 port. Any number between 80 and 65530 should be OK. Thanks
name (string)
The name of your server, as sent to clients. Default = eserver 16.44
nbuserIP (IP address)
The server has a special TCP listener on a port that allows nbuser to gather information. By default, the port is binded on 127.0.0.1 (localhost) so that only a local nbuser can connect to eserver. You may want to allow extern access. Default value = 127.0.0.1
nbuserport (integer)
The port of the nbuser listener. See above. Default value = 5656
ncpus (integer)
This value is filled by eserver at startup, and gives the number of cpus of the host. Not really used by the programm. See udpsearchers. Default value = number of cpus of the host.
nickcommunity (string)
The tag that should be present in the nickname of users to be able to log in the server. Used with maxstrangers.
Note : You MUST enter a string in lowercase. (The clients can use upper/lower case). Default value : no value (public server)
nickname (string)
When performing a backdoor test to the 4662 port of client, the eserver impersonnate a user. This param is the nickname of the faked user. Default value = eserver
noepoll (boolean)
(linux only) If set to true, eserver doesnt try to use epoll feature. I strongly advise not doing that, but your linux version may have a bug on this function. Default value = false
For linux-2.4.21 or linux-2.4.22, you can try the patch from Davide Libenzi to add epoll feature.
opIP (IP address)
If the server operator wants to use a ed2k client and connect to his own server, he may have a problem because of a private IP. The opIP parameter asks the server to replace the client'IP by the listenIP/thisIP of the server. That way, when other client want to contact the operator, their incoming connections can be NATed to the operator.
noudpslowsearches (boolean)
You can deny to handle complex searches sent by remote users (clients of other servers). Complex searches are searches that must scan the whole file list, instead of using a keyword index. Default value = false
ping_delay (integer)
The server periodically sends a frame called a 'ping', containing the number of users and files he has, to each of its client. This is to verify each TCP socket is alive (Users may have switch off their computer). ping_delay is the maximal delay between such pings. Default value = 300 (was 400 before 16.49)
port (integer)
This is the TCP port that this server listens on. Default value = 4661
See also auxportslist
public (boolean)
If set to true, the server advertizes himself as a public server to other servers. This parameter had a role in the past, but is useless today because clients can automatically add servers to their list, when a client connects to them. Default value = false.
quickack (boolean)
If set to true, the server uses the setsockopt(TCP_QUICKACK) to ask the linux kernel to delay the TCP ACK packets, instead of enter in the quickack mode. This should reduce the bandwitdh. Default value = true.
search_trace (boolean)
If set to true, the server dumps to the logsearches file the searches requests handled. Default value = false
seedIP (IP address)
The IP address of another server. This is used by the eserver if no &serverList.met& file is present (or if it's empty), to gather a server list. Default value : none
seedPort (integer)
The port of the seed server. Default value = 4661
slimit_tableSize (integer)
The size of the hash table used in slimit module. Each slot uses 4 bytes of memory. Default value : 10007
softLimit (integer)
If a client tries to publish more than softLimit files, the server sends him a WARNING message and ignores files in excess. Default value : 1000
See hardLimit parameter description.
tableSize (integer)
The size of the hash table used to store file descriptions. You should not set it, since eserver dynamically increase it as needed.
tcpthreads (integer)
The number of worker threads to handle tcp requests (connected clients). See ncpus. May be dynamically changed in eserver console. Default value = number of cpus of the host.
tcp_rbuffersize (integer)
The TCP/IP stack of your machine allocates for each socket a maximum size to store incoming messages. You may want to change this default size.
Default value = 0 (system default)
(on linux check /proc/sys/net/ipv4/tcp_rmem)
tcp_xbuffersize (integer)
The TCP/IP stack of your machine allocates for each socket a maximum size to store outgoing messages. You may want to change this default size.
Default value = 0 (system default)
(on linux check /proc/sys/net/ipv4/tcp_wmem)
thisIP (IP address)
This is the IP of this Server. Note : eserver cannot find it automatically. You MUST set it correctly if your server is public.
threads (integer)
Obsolete parameter. The number of threads in eserver is fixed:
One thread receives UDP request.
One or two threads handle UDP searches. (See udpsearchers)
One thread accepts new incoming connections.
One thread handles the login phase of clients.
One thread handles the console dialog. (This is the 'main' thread)
One thread handles all the TCP traffic (requests from connected clients)
One thread handles the 'nbuser' requests.
One thread handles incoming connections to auxports.
trackbademule (integer)
A bitmask of flags. See minEVersion parameter. Default value = 30
trackemule (integer)
If set to 1, eserver tracks the emule version. Check also minEVersion parameter. Default value = 1
type (string)
Two values are possible :
key (default) : The server builds indexes based on keywords found on file names. Searches are fast.
substring : The server doesnt uses indexes. Searches are slower.
udp_rbuffersize (integer)
The UDP/IP stack of your machine allocates for each socket a maximum size to store incoming messages. You may want to change this default size. Default value = 0 (system default)
udp_xbuffersize (integer)
The UDP/IP stack of your machine allocates for each socket a maximum size to store outgoing messages. You may want to change this default size. Default value = 0 (system default)
udpsearchers (integer)
The number of threads dedicated to UDP searches. Default value : 1 on Uniprocessor machine, 2 on SMP machine.
verbose (boolean)
If set to true, the server logs some messages (clients login/lougout for example). Default value = false
warnfakes (integer) (New in 16.50)
Each time a client publishes a file that is present in fakes.txt, the server sends a warning message giving the name of offending file to the user. This parameter controls the max number of such messages. Default 0.
welcome[#] (string)
This is a series of messages that each client that logs on to the server will be sent.
New in 16.50 : If ip-to-country.csv file is used, the server checks if a file welcome.xx (where xx = country code of the incoming client) exists. If yes, the content of file is sent instead of the welcome[] from donkey.ini
zlib_complevel (integer)
level of compression done by this server. An integer between 0 (no compression) and 9 (max compression) . Default value = 9
zlib_enable (boolean)
Allows server to negociate zlib compression with incoming clients. Default : true
Format of fakes.txt file
This file is a text file, containing one fake description per line. Each line should start with a 32 hexadecimal digits (16 bytes) md4 hash of the file, followed by some comments and a line feed.
See also warnfakes parameter.
Linux Kernel tuning :
For big servers, dont forget to increase /proc/sys/fs/file-max. (default value 8192).
You can add (or modify if already present) this line to /etc/sysctl.conf :
fs.file-max=16384
You can also do : echo 16384 & /proc/sys/fs/file-max (but value is lost after a reboot)
On linux 2.2 machines, dont forget to change /proc/sys/net/ipv4/route/max_size, because a too low value can explain some problems.
echo 32768 & /proc/sys/net/ipv4/route/max_size
You may also change the linux 2.2 VM settings :
echo &96& & /proc/sys/vm/freepages
Linux 2.2 has a limit on the poll() system call : Because it uses the kmalloc(nbhandles*8) kernel service, it has a limit of 16384 file handles. So a eserver running on a linux 2.2 machine can not have more than 16300 users.
Last advice : we suggest to launch the program with a script script.sh : It uses ulimit -n 8192 to change the maximum number of files a process can open. If you plan a 10000 users server, change this to 16384 !
For users wanting to run eserver as an ordinary user (not root), you may change /etc/security/limits.conf and add this lines :
* soft nofile 32768
* hard nofile 32768
Notes about other OS:
Tru64 Unix 5.1 : limit of 65536 file descriptor per process : A server can not handle more than 64k users.
HPUX 11 : maxfiles (see sysdef command) limit is 60000 : No more than 60.000 users.
FreeBSD : check the limits with sysctl command.
# sysctl kern.maxfiles
kern.maxfiles: 5000
# sysctl kern.maxfiles=65000
kern.maxfiles: 5000 -& 65000
# sysctl kern.maxfilesperproc
kern.maxfilesperproc: 4200
# sysctl kern.maxfilesperproc=65000
kern.maxfilesperproc: 4200 -& 65000
当下可用的电骡服务器
Windows下的电驴服务器架设(win x86)
在Windows下跑eserver效率肯定是不如Linux或BSD的,但在一般配置的服务器上,支持个几万人在线还是没问题的。首先是软件下载 http://lugdunum.shortypower.org/files/,寻找eserver-17.10.i686-win32.exe,这个17.10版本,比较老,但也比较稳定,除了不支持模糊协议外没什么不好。官网上最新的那个17.15下了会谁连都是lowid。把这个exe保存到某个目录下,比如e:\eserver在同一目录下建一个 donkey.ini 文件,用来写配置。下面配置简单参考一下。
  [server]
  desc = 服务器介绍
  name = 服务器名字
  maxClients=70000#windows服务器7W差不多了,多了容易死机,量力而行
  softLimit=4000
  hardLimit=4000
  thisIP=本机IP#服务器有多个IP的时候才需要这个配置
  port=8080#端口
  LOWIDpercent=100
  nickcommunity=[chn]#名字带[CHN]的才能连,资源有限暂不考虑外国兄弟了,注意一定要都小写
  maxstrangers=10000#最多允许多少个名字不带[CHN]的
  maxnozlib=0
  seedIP=58.218.179.163#这个选项是把自己的服务器信息告诉给别的服务器,这样用户其他服务器的时候就会更新到你的信息了
  seedPort=8080
  filter[0]=(#FORMAT met)
  filter[1]=(#FORMAT part)
  这样直接运行刚才那个exe,服务器就启动了。
  为了保证服务器稳定运行,可以写个bat启动(今天自己写得,没想到dos还能用上……)
  建一个runeserver.bat,内容如下,里面的路径记得自己替换掉,日志记录在eserver.log
  代码@echo off
  del E:\eserver\eserver.log
  :start
  echo eServer 服务器正在运行,请不要关闭本窗口
  E:\eserver\eserver-17.10.i686-win32.exe && E:\eserver\eserver.log
  echo -------------------%date% %time%------------------------- && E:\eserver\eserver.log
  echo 服务器于%date% %time%重启
  echo ---------------------------------------------------------
  goto start
  这样就算OK了,算是很简单吧。一般规模的eserver对服务器硬件要求不高,希望有更多稳定的国内服务器出现。
1.png (65.65 KB, 下载次数: 0)
20:31 上传
2.png (26 KB, 下载次数: 0)
20:31 上传
3.png (26.84 KB, 下载次数: 0)
20:31 上传
1.png (68.27 KB, 下载次数: 0)
20:41 上传
热心回复!0.0
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
看的一脸蒙蔽
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
你这个水的不错哈
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
看的一脸蒙蔽
需要些linux的知识才行
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
蒙蔽了,,点对点
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
凑热闹围观,
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.}

我要回帖

更多关于 emule怎么连接服务器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信