# uhub.conf - A example configuration file.
# You should normally place this file in /etc/uhub/uhub.conf
# and customize some of the settings below.
#
# This file is read only to the uhub daemon, and if you
# make changes to it while uhub is running you can send a
# HUP signal to it ( $ killall -HUP uhub ), to reparse configuration (only on UNIX).
# All configuration directives: https://www.uhub.org/config.php

# Bind to this port and address
# server_bind_addr=any means listen to "::" if IPv6 is supported
# by the host OS, otherwise 0.0.0.0.
server_port=1511
server_bind_addr=any

# Alternative server ports
# server_alt_ports = 1512, 1513

# The maximum amount of users allowed on the hub.
max_users=500

# If 1, will show a "Powered by uHub/{VERSION}".
show_banner=1

# If enabled then operating system and cpu architecture is part of the banner.
show_banner_sys_info=1

# Allow only registered users on the hub if set to 1.
registered_users_only=0

# A server name and description.
hub_name=my hub
hub_description=Powered by uHub

# Set this to 0, and the hub will disconnect everyone
hub_enabled=1

# Access control list (user database)
file_acl=/etc/uhub/users.conf

# This file can contain a conf for plugin subsystem
file_plugins = /etc/uhub/plugins.conf

# Slots/share/hubs limits
limit_max_hubs_user = 0
limit_max_hubs_reg = 0
limit_max_hubs_op = 0
limit_max_hubs = 0
limit_min_hubs_user = 0
limit_min_hubs_reg = 0
limit_min_hubs_op = 0
limit_min_share = 0
#    Example:
#    To require users to share at least 1 GB in order to enter the hub:
#    limit_min_share = 1024
limit_max_share = 0
limit_min_slots = 0
limit_max_slots = 0

# Flood control support:
# set the interval to 5 seconds
flood_ctl_interval = 5

# Then the maximum chat, connect, search, updates etc will be measured over 5 seconds.
# So, 3 chat messages per 5 seconds allowed.
flood_ctl_chat=3
flood_ctl_connect=20
flood_ctl_search=1
flood_ctl_update=2
flood_ctl_extras=5

# chat control
# if chat_is_privileged=yes only registered users may write in main chat
chat_is_privileged = no


# if obsolete_clients=1 allows old clients to enter , 0 gives an error message (msg_proto_obsolete_adc0) if they try connect
# defaults obsolete_clients=1
obsolete_clients=1


# Configure status message as sent to clients in different circumstances.
msg_hub_full                   = Hub is full
msg_hub_disabled               = Hub is disabled
msg_hub_registered_users_only  = Hub is for registered users only
msg_inf_error_nick_missing     = No nickname given
msg_inf_error_nick_multiple    = Multiple nicknames given
msg_inf_error_nick_invalid     = Nickname is invalid
msg_inf_error_nick_long        = Nickname too long
msg_inf_error_nick_short       = Nickname too short
msg_inf_error_nick_spaces      = Nickname cannot start with spaces
msg_inf_error_nick_bad_chars   = Nickname contains invalid characters
msg_inf_error_nick_not_utf8    = Nickname is not valid utf8
msg_inf_error_nick_taken       = Nickname is already in use
msg_inf_error_nick_restricted  = Nickname cannot be used on this hub
msg_inf_error_cid_invalid      = CID is not valid
msg_inf_error_cid_missing      = CID is not specified
msg_inf_error_cid_taken        = CID is taken
msg_inf_error_pid_missing      = PID is not specified
msg_inf_error_pid_invalid      = PID is invalid
msg_ban_permanently            = Banned permanently
msg_ban_temporarily            = Banned temporarily
msg_auth_invalid_password      = Password is wrong
msg_auth_user_not_found        = User not found in password database
msg_user_share_size_low	       = User is not sharing enough
msg_user_share_size_high       = User is sharing too much
msg_user_slots_low	       = User has too few upload slots
msg_user_slots_high	       = User has too many upload slots
msg_user_hub_limit_low 	       = User is on too few hubs
msg_user_hub_limit_high	       = User is on too many hubs
msg_error_no_memory            = Out of memory
msg_user_flood_chat            = Chat flood detected, messages are dropped.
msg_user_flood_connect         = Connect flood detected, connection refused.
msg_user_flood_search          = Search flood detected, search is stopped.
msg_user_flood_update          = Update flood detected.
msg_user_flood_extras          = Flood detected.

# If a client that supports ADC but not a compatible hash algorithm (tiger),
# then the hub cannot accept the client:
msg_proto_no_common_hash       = No common hash algorithm.

# Message to be shown to old clients using an older version of ADC than ADC/1.0
msg_proto_obsolete_adc0        = Client is using an obsolete ADC protocol version.