Note: you may want to create a new user for psybnc using the 'adduser' command? Or use chroot? Clarification should be added here.

$ cd ~
$ ftp http://www.psybnc.dk/download/psyBNC-2.4BETA2.tar.gz
$ tar zxf psyBNC-2.4BETA2.tar.gz
$ rm psyBNC-2.4BETA2.tar.gz
$ cd psybnc

Example config.h file. Save the contents of the following code block as config.h, using your favourite text editor where you have all the other psyBNC files. Edit accordingly and save changes.

/*
 * Configuration file for psyBNC, created by menuconf
 */

/* Encryption
 * Support Encryption - This encrypts all your passwords, 
 * and enables support for channel encryption, relay 
 * encryption, etc. It is recommended to leave this enabled.
 */

#define CRYPT

/* Encryption Type
 * There are no other encryption types offered other than
 * blowfish. It is also used in OpenBSD password-hashing
 * method (crypt $2, i.e. bcrypt), but a derived
 * algorithm.
 */

#define BLOWFISH

/* Allow Translation 
 * This lets you type in English (or whatever your 
 * language is) and have the text in the channel appear 
 * in a different language. You will have to consult the 
 * README for more information.
 */

#define TRANSLATE

/* Allow internal network 
 * This lets you use the internal IRCd that psyBNC has. 
 * Think of it as a big partyline where you can set 
 * modes/bans/topic/etc.
 */

#define INTNET

/* Allow traffic logging 
 * This enables support for logging channels when you are
 * not around. It can be handy, but it can also eat up your 
 * host machine's disk space VERY fast So be careful if 
 * you enable this. 
 *
 * Note: You can leave support for it enabled here, then 
 * disable it after it is compiled by simply turning it off.
 */

#define TRAFFICLOG

/* Allow linkage of bouncers 
 * If you want your BNC to link to others, or for others to 
 * link to yours, enable this.
 */

#define LINKAGE

/* Allow the DCC File-Functions 
 * DCC or Direct Client Connect, allows users to directly
 * connect to each other without going through an intermediary
 * such as an IRCd or a BNC. This option allows users to send
 * and receive files over DCC.
 */

#define DCCFILES

/* Pipe DCC Chats 
 * DCC or Direct Client Connect, allows users to directly
 * connect to each other without going through an intermediary
 * such as an IRCd or a BNC. This option allows users to
 * communicate with each other via DCC.
 */

#define DCCCHAT

/* Allow to add more users 
 * Enabling this option allows your bouncer to have other users
 * using your bouncer, other than yourself.
 * Disabling this feature will also remove psyBNC's bouncer
 * administration capabilities. To disable, replace MULTIUSER
 * with SINGLEUSER.
 */

#define MULTIUSER

/* Number of max. Users 
 * Defines how many users are allowed to connect to the BNC.
 * Setting this value to 0 allows infinite amount of users to
 * connect to the BNC.
 */

#define MAXUSER 0

/* Number of max. Connections per User 
 * Defines the maximum amount of connections each user are
 * allowed to have. For each additional user, they will need
 * at least 2 (incoming/outgoing) connections per network. 
 * More connections will be required for each and every active
 * DCC chat/send. It is suggested to leave it at 25.
 */

#define MAXCONN 0

/* Allow the usage of scripts 
 * Defines whether or not psyBNC allows scripts to be executed 
 * by users. Whilst it can be handy for certain tasks, such as
 * automating user creation. It can also inadvertedly be used
 * to run malicious scripts. If you are going to enable this
 * setting, it would be wiser to run psyBNC in an unprivileged
 * and in resource constrained host machine's environment.
 */

#define SCRIPTING

/* Support oIdentd 
 * Defines on whether or not to offer ident changing. On
 * certain networks like IRCNet, identd needs to be enabled,
 * or you will not be allowed to connect to their network. On
 * other networks, the lack of identd support simply means your
 * username will be prefixed with ~.
 */

#define OIDENTD

/* Allow multiple IRC connections per user 
 * This allows users to connect to more than one network with 
 * the same IRC client. It is recommended to leave this on if
 * or your users wants to participate in multiple IRC networks.
 */

#define NETWORK

/* Allow proxy usage
 * If you want to further anonymise your connection by bouncing
 * from your IRC client to BNC, and from BNC to a proxy which
 * is then finally connected to your IRC network of choice.
 * You can enable this. However, most IRC servers check for
 * open proxies such as HOPM and ACOPM, this will not work in
 * many cases.
 */

// #define PROXYS

/* Allow anonymous bouncer usage
 * Defines whether or not to allow non-logged in users, i.e.
 * anonymous users to connect to your bouncer and use freely.
 * Not recommended if you do not want the entire world to use
 * your psyBNC freely.
 */

// #define ANONYMOUS

/* No permanent IRC connections
 * If this option is enabled, psyBNC will disconnect you from
 * IRC when you disconnect from the BNC. If disabled, you
 * will always remain connected to IRC unless you for psyBNC
 * to quit.
 */

// #define DYNAMIC 

/* The logging level 
 * Defines the logging level for psyBNC to output into logs.
 * 0 = Errors
 * 1 = Errors and warnings
 * 2 = Errors only
 */

#define LOGLEVEL 0

/* Use the 2.1.1 compatible partyline
 * If you are going to be linking to old psyBNC's. Enabling
 * this option might be a good idea. However, if you are
 * the only psyBNC, or if all the other psyBNC are you
 * going to link are running 2.2.1. It is best to disable
 * this option.
 */

// #define PARTYCHANNEL

/* Version reply
 * Defines the response when others requests a CTCP VERSION
 * from you. Note, when you are connected to the BNC,
 * psyBNC will be transparent, and all CTCP requests will be
 * handled automatically by your IRC Client. When you are
 * not connected to your BNC, psyBNC will only answer the
 * string as defined below. Defaults are also shown if
 * it is not defined.
 */

// #define CTCPVERSION "psyBNC 2.4-BETA1 by the most psychoid"

/* SSL-Security */

#define SSLSEC 0

/* Insure */

#define INSURE

Fill out relevant details here as needed, consult http://www.exodus.ro/psybnc.php if in doubt. Make sure to save this file as psybnc.conf and in the same directory as where you saved config.h.

PSYBNC.SYSTEM.PORT1=31337
PSYBNC.SYSTEM.DEFAULTIPV6=0
PSYBNC.SYSTEM.HOST1=S=*
PSYBNC.HOSTALLOWS.ENTRY0=*;*
USER1.USER.NICK=
USER1.USER.NETWORK=
USER1.USER.USER=
USER1.USER.PASS=
USER1.USER.RIGHTS=0
USER1.USER.SYSMSG=0
USER1.USER.VLINK=0
USER1.USER.PPORT=0
USER1.USER.PARENT=0
USER1.USER.QUITTED=0
USER1.USER.DCCENABLED=1
USER1.USER.AUTOGETDCC=0
USER1.USER.AIDLE=1
USER1.USER.LEAVEQUIT=0
USER1.USER.AUTOREJOIN=0
USER1.USER.LASTLOG=0
USER1.USER.CERT=+
USER1.USER.VHOST=
USER1.USER.PREFERIPV6=1
USER1.USER.LOGIN=
USER1.SERVERS.PORT1=6667
USER1.SERVERS.SERVER1=S=irc.ircnow.org
USER1.CHANNELS.ENTRY0=#example-ch
USER1.CHANNELS.ENTRY2=##example-ch
$ make

After running $make command , if you get this messageā€¦.

System: OpenBSD DNS Library (c-ares): Not Available

Your system does not appear to have the c-ares liberary installed. This library is required for psyBNC to do DNS lookups (as of version 2.4)

Then you need to add this package prior to run $ make command.

doas pkg_add libcares

After adding the package now you can run the below commands.

$ make

Running psyBNC

$ ./psybnc

Now open your preferred irc client and write:

/server host:port password

For example, assuming these are your parameters:

Host/IP : 82.211.13.24 Port : 31337 Pass : abcdef

you must type:

/server 82.211.13.24:31337 abcdef

It is possible then you may wish to see rc.d to add psybnc to system startup.