The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

P2P::pDonkeyS - eDonkey server, based on Net::Server::Multiplex with MySQL database.

SYNOPSIS

  mysql -u root -p <makedb.sql

  pdonkeys --setsid=1 --log_file=/tmp/pdonkeys.log --pid_file=/tmp/pdonkeys.pid

  pdonkeys --conf_file=pdonkeys.conf

  kill `cat /tmp/pdonkeys.pid`

  mysql -u root -p <dropdb.sql

OBTAINING

Visit http://sourceforge.net/projects/pdonkey/ for the latest version.

FEATURES

o MySQL file and client storage.
o Multiplex server architecture.
o Receive multiple server.met files from URL.

DESCRIPTION

pDonkeyS is perl implementation of eDonkey server. It is built upon Net::Server::Multiplex and utilizes the power of MySQL for storing, fetching and searching shares.

The main goal of the server is to provide framework for further eDonkey protocol exploration, but it could be usefull in testing of client software, since the server can be configured to output very detailed debug info about eDonkey traffic.

ARGUMENTS

There are two possible ways to pass arguments to pdonkeys. They are passing on command line or using a conf file. pdonkeys accepts all Net::Server and Net::Server::Proto::UDP arguments plus eDonkey specific arguments.

While passing arguments to pdonkeys on command line, arguments specified in form --argument=value.

While using configuration file, arguments specified in form argument value or argument=value. One argument per line.

eDonkey Arguments

name

Name of server which will displayed in the server list of the clients.

desc

Description of server which will displayed in the server list of the clients.

maxClients

The maximum number of clients, connected to server. Default is 6000.

thisIP

The IP of this server. This is only needed if the server determines its own IP incorrectly. Default received from hostname().

welcome

The message that each client that logs on to the server will be sent.

statusTimeout

The interval between server status updates to clients. Defauls is 60.

serverMet

URL of server.met file. Multiple options allowed. Server list updates from specified URLs at start and each serverListTimeout seconds. Timeout is set to 10 seconds. server.met loads blocks the server, so if source don't response, there will be 10 seconds lag for each serverMet argument.

serverListTimeout

The interval between server list updates on server. Default is 86400 - once a day.

Database Access Arguments

dbName

The database source for DBI::connect(). For details check DBI. Default is "dbi:mysql:pDonkey".

dbUser

User to use for access to dbName. Default is "pDonkeyS".

dbAuth

Password to use for access to dbName. Default is "pDonkeySPass".

TODO

o Multiline string arguments (Net::Server fix).
o Filters on shared files ("filter").
o Multiple port pairs (tcp/udp) via configuration file.
o Proxy mode (work with other eDonkey servers as client).
o Don't accept() if server is full (Net::Server fix).
o Obtain server.met "seedIP:seedPort" support.
o "public" support.
o Multiple pdonkeys process instancies (mysql safe).
o Administration port.

SEE ALSO

Net::Server, Net::Server::Multiplex, DBI

COPYRIGHT

Copyright (c) 2003 Alexey Klimkin <klimkin at cpan.org>.

All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 892:

Can't have a 0 in =over 0

Around line 930:

You forgot a '=back' before '=head2'

Around line 932:

'=item' outside of any '=over'