# update and get wget
sudo apt-get update && sudo apt-get install wget
# get the deb package
wget https://github.com/inspircd/inspircd/releases/download/v3.9.0/inspircd_3.9.0.ubuntu20.04.2_amd64.deb
# install the server
sudo apt-get install ./inspircd_3.9.0.ubuntu20.04.2_amd64.deb
# disable apparmor because it'll give you trouble
systemctl disable apparmor
Create these 2 files because it won’t start without them:
sudo touch /etc/inspircd/inspircd.motd sudo touch /etc/inspircd/inspircd.rules
Edit the config:
sudo nano /etc/inspircd/conf
Simplified config which works:
(also change: “chageme” entries and “mynamehere” entries)
<server name="k5.zombienet.2039jgq30ax3.com"
description="Lupsha Research IRC Server"
network="zombienet">
<admin name="mynamehere"
nick="mynamehere"
email="mynamehere@gmail.com">
<bind address="" port="6667" type="clients">
<power diepass="changeme3456" restartpass="changeme7890" pause="2">
<connect allow="*"
timeout="60"
flood="20"
threshold="1"
pingfreq="120"
sendq="262144"
recvq="8192"
localmax="3"
globalmax="3">
<class name="Shutdown" commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOAD">
<class name="ServerLink" commands="CONNECT SQUIT RCONNECT MKPASSWD MKSHA256">
<class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE ELINE">
<class name="OperChat" commands="WALLOPS GLOBOPS SETIDLE SPYLIST SPYNAMES">
<class name="HostCloak" commands="SETHOST SETIDENT SETNAME CHGHOST CHGIDENT">
<type name="NetAdmin" classes="OperChat BanControl HostCloak Shutdown ServerLink" host="netadmin.omega.org.za">
<type name="GlobalOp" classes="OperChat BanControl HostCloak ServerLink" host="ircop.omega.org.za">
<type name="Helper" classes="HostCloak" host="helper.omega.org.za">
<oper name="johnsmith"
password="changeme3"
host="*@*"
type="NetAdmin">
<files motd="/etc/inspircd/inspircd.motd" rules="/etc/inspircd/inspircd.rules">
<channels users="20" opers="60">
<dns server="127.0.0.1" timeout="5">
<pid file="/tmp/inspircd.pid">
<options prefixquit="Quit: "
noservices="no"
qaprefixes="no"
deprotectself="no"
deprotectothers="no"
flatlinks="no"
hideulines="no"
syntaxhints="no"
cyclehosts="yes"
ircumsgprefix="no"
announcets="yes"
disablehmac="no"
hostintopic="yes"
quietbursts="yes"
pingwarning="15"
allowhalfop="yes"
exemptchanops="">
<security hidewhois=""
userstats="Pu"
customversion=""
hidesplits="no"
hidebans="no"
operspywhois="no"
hidemodes="eI"
maxtargets="20">
<performance nouserdns="no"
maxwho="128"
softlimit="1024"
somaxconn="128"
netbuffersize="10240">
<log method="file"
type="* -USERINPUT -USEROUTPUT"
level="default"
target="/var/log/inspircd/inspircd.log">
<whowas groupsize="10"
maxgroups="100000"
maxkeep="3d">
<timesync enable="no" master="no">
<badnick nick="ChanServ" reason="Reserved For Services">
<badnick nick="NickServ" reason="Reserved For Services">
<badnick nick="OperServ" reason="Reserved For Services">
<badnick nick="MemoServ" reason="Reserved For Services">
More setup:
sudo systemctl unmask inspircd.service
and make it auto start on boot:
sudo nano /etc/systemd/system/inspircd.service
with contents:
[Unit]
Description=Inspircd IRC Server
[Service]
Type=simple
RemainAfterExit=true
User=irc
Group=irc
ExecStart=/usr/sbin/inspircd
[Install]
WantedBy=multi-user.target
and
sudo systemctl daemon-reload
sudo systemctl enable inspircd.service
sudo systemctl start inspircd.service
sudo systemctl disable inspircd.service
watch the log:
tail -F /var/log/inspircd.log
Also see linking servers to one another, ex: k5 ↔ k6