登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: [ed2k/eMule/电驴]Windows下的电驴服务器架设心得(1)     [回主站]     [分站链接]
标题
[ed2k/eMule/电驴]Windows下的电驴服务器架设心得(1)
clq
浏览(0) + 2009-05-06 10:21:20 发表 编辑

关键字:

[ed2k/eMule/电驴]Windows下的电驴服务器架设心得(1)

最要注意的是这个.
--------------------------------------------------

nickcommunity=[chn]#名字带[CHN]的才能连,资源有限暂不考虑外国兄弟了,注意一定要都小写

--------------------------------------------------

发表日期:2008-7-3
-

目前最通用的电驴服务器软件是lugdunum,针对不同的操作系统都有不同的版本。
值得说明的是,在Windows下跑eserver效率肯定是不如Linux或BSD的,但在一般配置的服务器上,支持个几万人在线还是没问题的。鉴于目前eMule服务器短缺,能把闲置得Windows服务器利用起来跑eserver还是有意义的。

首先是软件下载 http://lugdunum2k.free.fr/files/eserver-17.10.i686-win32.exe
这个是17.10版本,比较老,但也比较稳定,除了不支持模糊协议外没什么不好。官网上最新的那个下了会谁连都是lowid。

把这个exe保存到某个目录下,比如e:\eserver\
在同一目录下建一个 donkey.ini 文件,用来写配置。给大家VC的配置简单参考一下

代码
[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
cls
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对服务器硬件要求不高,希望有更多稳定的国内服务器出现。到时候我们会考虑加入到eMule的默认服务器列表中的。

PS: Linux系统的话也很简单,http://lugdunum2k.free.fr/kiten.html 上有详细介绍。
donkey.ini配置和windows是一样的。
对于eserver配置方面的问题,欢迎与我们交流。

-------------------------

如何创建一台ED2K服务器

众所周知,ED2K服务器在EMULE整个运行过程中有着非常重要的作用,尤其是在找源与搜索方面,ED2K服务器暂时无法被KAD完全取代;ED2K服务器可以鉴别虚假与恶意文件,维系EMULE与其他不支持KAD协议的ED2K兼容客户端之间的联系。有了ED2K服务器,EMULE才能更好的运行。

最早编写ED2K服务器软件的是创立ED2K协议的MetaMachine(EDONKEY2000.COM),称为DSERVER,版本一直发展到16,然后转交给法国的LUGDUNUM维护,现在发展到最新的17.15. LUGDUNUM也称ESERVER.目前已知的所有知名ED2K服务器,包括DONKER SERVER,BIG BANG,BYTE DEVILS全部基于LUGDUNUM运作。

由于考虑到位于北美大陆的恶意与虚假服务器对ED2K网络的威胁,LUGDUNUM是免费但不开源软件,服务器版本是否最新是判断一个服务器好坏的重要特征。

LUGDUNUM主要设计用于LINUX平台运作,支持多核心与64位运行,但也有面向WIN32,solaris与FREEBSD平台的版本。

LUGDUNUM的英文版主页,可以下载到对应不同CPU与架构平台的LUGDUNUM程序。

下载与你的系统和CPU对应的LUGDUNUM,然后解压到任意文件夹中,再去下载ip-to-country.csv与ipfilter.dat,把他们放在LUGDUNUM存放的位置,这时就可以编写LUGDUNUM的配置文件----donkey.ini。

这是核心部分:ED2K服务器的每一个变量都被写在这个文件里。eserver开始运行时会读这个文件。非常重要:服务器软件没法接受语法错误(书写时的错误)。服务器不能明白某个命令,它就不会工作,或者它会忽略写得不对的命令(以及后面的任何东西)。大小写也是非常重要的。所有单独条目均不能有注释。


[server]

这个命令启动控制进程。它必须被写在方括号里。在最后的那个方括号后面没有空格,这一点非常重要。否则的话这将使服务器无法理解 ——也许它没法工作了。接下来的条目只是例子而已!

name=华语P2P源动力

服务器的名字,就象你在客户端看见的那个。你可以用任何你想用的的文字数字组合。

desc=社区 http://BBS.VeryCD.COM

服务器描述信息,跟“name=”格式是一样的。可以用任何文字。


thisIP=61.152.93.254

请注意大小写!(IP“61.152.93.254 ”只是个例子而已)。这将告诉服务器你自己的,公开的公网IP。程序开始时,服务器会把它工作的IP发送到其他的服务器。请注意程序开始时所显示的IP,它是你当前真正的,公开的IP,用户会通过你提供的这个IP连接到你的服务器。

port=4242

在这里你要指定可以跟服务器建立联系的端口。一般情况下这个端口是TCP:4661,如果你想用4661,那么这个条目可以空着。如果由于某些技术原因该端口不可用的话,你可以用其他的端口。当然如果是这样的话你就得给出这个条目了——如果可能的话,尽量不使用4661,因为某些无良ISP封锁了 4661与4662。 端口缺省是TCP:4661

seedIP=62.241.53.2

注意大小写!(IP地址“62.241.53.2”只是个例子而已)
这一项,就象名字示意的那样,是指服务器从哪里连接到网络其他部分,它代表一个正在运行的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)

这个条目定义能够同时处理的任务的数目。多任务操作系统,比如Linux,Windows 2000/XP/2003可以安排交互的不同的任务以及资源,比如内存和处理器时间。这个工作进行得很快,看起来好像任务都是同时进行的一样。就象所有的 “诺曼机器”的情形一样,因为PC处理命令都是串行的,所以这个同时处理实际上只是看起来象而已,因为速度很快所以感觉不出来。由于工作的交互进行性,“ 老”任务的数据必须被写到缓冲区去,新线程的数据必须从缓冲区(或者更糟糕,从主内存中读)中读出来,每次任务交互都需要时间。
这个条目在新版的ESERVER中已经更改,从前DSERVER的定义为每5线程支持100客户,目前LUGDUNUM网页上推荐设定为10。
线程数目太高的话会带来不利。每个线程,即使它并不工作,也需要占用CPU时间以及一定内存,所以不要将threads的值设的过高。


总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1