ENiGMA 1/2 + Binkd on CentOS 7

This is a quick guide …uh, set of notes so I don’t forget for configuring ENiGMA 1/2 BBS software along with Binkd on CentOS 7 in order to hook up to FTN “othernets” such as fsxNet.

Step 1: Build & Install Binkd

Clone a copy of Binkd from Github

git clone https://github.com/pgul/binkd.git  

Prepare, configure and build:

cd binkd  
cp mkfls/unix/* .  
make -j 4  
sudo make install  

Prepare Access

I’ll be running Binkd under the same account my BBS (Node.js/PM2) runs under, so create a couple directories and chown them:

sudo mkdir /var/run/binkd  
sudo mkdir /var/log/binkd  
sudo chown enigma:enigma /var/run/binkd  
sudo chown engima:enigma /var/log/binkd  

Binkd Config

Below is my current configuration script with a couple portions censored:

# Number @ end is the root zone
domain fsxnet /home/enigma/xibalba/mail/ftn_out 21

# Our fsxNet address
address 21:1/121@fsxnet

sysname "Xibalba"  
location "Salt Lake City, Utah"  
sysop "NuSkooler"

nodeinfo 115200,TCP,BINKP  
try 10  
hold 600  

log /var/log/binkd/binkd.log  
loglevel 4  
conlog 4  

inbound /home/enigma/xibalba/mail/ftn_in  
temp-inbound /home/enigma/xibalba/mail/ftn_in_temp

minfree 2048  
minfree-nonsecure 2048

kill-old-partial-files 86400


# Agency HUB
node 21:1/100@fsxnet -md ipv4.agency.bbs.geek.nz:24556 YOUR_SESSION_PASSWORD c

# our listening port (default=24554)
# use a different port for basic added security-ish (e.g. avoid generic scans)
iport 54554

pid-file /var/run/binkd/binkd.pid

# touch a watch file when files are received to kick of toss
flag /home/enigma/xibalba/mail/ftn_in/toss!.now *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt *.tic

# nuke old .bsy/.csy files after 24 hours
kill-old-bsy 43200  

ENiGMA 1/2 Config

Next, my ENiGMA 1/2 configuration (fragment) from config.hjson declaring message areas, node information, uplinks, etc.

    messageConferences: {
        /* ...other confs & areas ... */

        fsxnet: {
            name: fsxNet
            desc: "[F]un, [S]imple, e[X]perimental Network"
            sort: 2

            areas: {
                fsx_gen: {
                    name: General
                    desc: fsxNet chat, testing and more...
                    sort: 1

    messageNetworks: {
        originLine: Xibalba ~ xibalba.l33t.codes:44510

        ftn: {
            networks: {
                fsxnet: {
                    localAddress: "21:1/121"

            areas: {
                fsx_gen: {
                    network: fsxnet
                    tag: FSX_GEN
                    uplinks: [ "21:1/100" ]

    scannerTossers: {
        ftn_bso: {
            schedule: {
                import: every 1 hours or @watch:/home/enigma/mail/ftn_in/toss!.now
                export: every 1 hours or @immediate

            defaultZone: 21
            defaultNetwork: fsxnet

            nodes: {
                "21:1/100": {
                    archiveType: ZIP
                    encoding: utf8

    // Configure 7z, which is 7za on CentOS: just override some defaults
    archivers: {
        zip: {
            compressCmd: "7za"
            decompressCmd: "7za"


I’d like Binkd to run under Systemd. Below is my /usr/lib/systemd/system/binkd.service:

Description=BinkD FTN Server  
After=syslog.target network.target

ExecStart=/usr/local/sbin/binkd -D /home/enigma/xibalba/misc/binkd_xibalba.conf  
ExecReload=/bin/kill -HUP ${MAINPID}  
ExecStop=/bin/kill ${MAINPID}  


Register it with the system and start!

systemctl enable binkd  
systemctl start binkd