YAMB contains almost everything to run a hub.
Features:
- advanced nickbanning
- when a nickbanned user tries to connect, the script remembers his IP (for 48 hours), and
automatically bans all other nicks from that IP; this way you can keep out users with dynamic IP
much longer than with regular ban methods
- to make this possible, an internal IP ban list is maintained
- different user privileges:
- normal user (access to a very limited set of commands - mostly for getting hub info)
- registered user (same as normal user, but has his nickname password protected)
- VIP (registered user which can bypass hub limits)
- op (access to general set of commands; by default he can ban users, get their info...)
- admin (full control over the hub - can change all hub settings, add and remove ops and
registered users)
- hub owner (only 1 user) - admins can't change/create admin accounts, only hub owner can (this is
to prevent abuse)
- admins can set which commands can be used by which users
- all script parameters configurable through the chat or PM
- nickname registering
- users can register their nickname (they don't get any special privileges by doing it, it just
protects their nickname)
- send mass messages
- to all users, or to ops only
- the mass-messages are sent as if they came from the bot, so that the sender doesn't get flooded
by away messages
- adds ADMIN, OP or VIP to description of privileged users (and removes these from
description of users who don't deserve it)
- share checking
- min/max open slots (works for active users of all clients and for all DC++ users, and also
checks DCGui users who display the tag)
- max connected hubs (supports DC++ 0.24 H: tag)
- minimum hub:slot ratio
- minimum speed per slot (for DC++ with upload limiter; recognises both L: and B: in the tag)
- minimum share
- maximum share (users sharing more than certain amount get redirected to another hub)
- automatically kick users who don't send $MyINFO in ~1 minute
- compare number of slots reported in the DC++ tag and number of slots reported by
the search result; disconnect user if they don't match
- generic support for extended description tags
- kick users who do short passive searches (they severely impact hub's performance)
- logs everything that happens with the bot
- admins can view logs with -viewlog command
- since the log may contain passwords, they're hidden from everybody but the hub owner when
displaying the log
- hubjumping
- all settings are automatically saved independantly from the hub, so nothing is
lost if the hub crashes
- the user account logon info is only saved once per hour, as the information isn't vital (this is
to prevent lagging when many registered users at once log in, eg. after hub restart)
- abuse protection
- admins can't change other admin accounts (they can change their own account)
- if an op kicks another op, the script clears the tempban list and kicks the op; the same thing
happens if an admin kicks another admin
- admins are allowed to kick ops
- only hub owner is allowed to kick admins
- flood protection
- the bot will kick users who search spam (it's more restrictive about passive searches, as they
strain the hub more)
- $MyINFO flooding
- AnimeNfo searching
- the bot allows you to search AnimeNfo for information on anime
- since other processing isn't possible while AnimeNfo search is in progress, the bot allows a
maximum of 6 searches in 10 minutes
- admins can reset the search counter
- GUI configuration
- before the hub starts serving, most of bot's configuration can be set through a custom page in
the hub GUI
Supports DC++ 0.24 H: tag.
Fixed BCDC++ checking.
Note: NMDC seems to randomly forget to call the StartedServing sub, in this case the bot won't
immediately appear in the userlist (also, the GUI settings won't be applied). Simply wait a few
minutes, then refresh the userlist.
|