Recent posts
#1
mIRC / YouTube Info v1.2
Last post by Cjefke - Today at 02:32 PMCode Select
; ==========================================
; IRCPlus YouTube Info v1.2
; Https://IRCPlus.nl
; mIRC 7.84 - YouTube Data API v3
; ==========================================
; Configuration:
; /set %yt.api YOUR_API_KEY
; /set %yt.channels #IRCPlus,#Holland
; Detect YouTube links in channels
on *:TEXT:*:#:{
if (%yt.api == $null) return
if (!$istok(%yt.channels,$chan,44)) return
var %text = $1-
var %pattern = /(?:youtube\.com\/watch\?[^\s]*v=|youtu\.be\/|youtube\.com\/shorts\/)([A-Za-z0-9_-]{11})/i
if ($regex(%text,%pattern)) {
var %video = $regml(1)
if ($hget(YTCache,%video)) return
hadd -m YTCache %video 1
.timer 1 300 hdel YTCache %video
yt_lookup %video $chan
}
}
; Request video information
alias yt_lookup {
var %video = $1
var %channel = $2
var %file = $mircdir $+ yt_ $+ $ticks $+ .json
; IMPORTANT: statistics is now included
var %url = https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics $+ &id= $+ %video $+ &key= $+ %yt.api
var %request = $urlget(%url,gf,%file,yt_callback)
if (!%request) {
echo -a [YouTube] Could not start API request.
return
}
set %yt.file. $+ %request %file
set %yt.channel. $+ %request %channel
set %yt.video. $+ %request %video
}
; Process API response
alias yt_callback {
var %request = $1
var %file = $eval($+(%,yt.file.,%request),2)
var %channel = $eval($+(%,yt.channel.,%request),2)
var %video = $eval($+(%,yt.video.,%request),2)
if (%file == $null) return
if ($urlget(%request).state != ok) {
echo -a [YouTube] API request failed.
goto cleanup
}
if (!$isfile(%file)) goto cleanup
; Read complete JSON file
var %json = $null
var %i = 1
while (%i <= $lines(%file)) {
%json = %json $+ $read(%file,%i)
inc %i
}
; Check for API errors
if ($regex(%json,/"error"\s*:/i)) {
echo -a [YouTube] API error. Check your API key and quota.
goto cleanup
}
if (!$regex(%json,/"items"\s*:\s*\[\s*\{/i)) {
echo -a [YouTube] Video unavailable or no video data returned.
goto cleanup
}
; Extract title
var %title = Unknown title
if ($regex(%json,/"title"\s*:\s*"((?:\\.|[^"\\])*)"/i)) {
%title = $regml(1)
}
; Extract channel/uploader
var %uploader = Unknown
if ($regex(%json,/"channelTitle"\s*:\s*"((?:\\.|[^"\\])*)"/i)) {
%uploader = $regml(1)
}
; Extract ISO 8601 duration
var %duration = Unknown
var %hours = 0
var %minutes = 0
var %seconds = 0
if ($regex(%json,/"duration"\s*:\s*"PT((?:\d+H)?(?:\d+M)?(?:\d+S)?)"/i)) {
var %iso = $regml(1)
if ($regex(%iso,/(\d+)H/i)) {
%hours = $regml(1)
}
if ($regex(%iso,/(\d+)M/i)) {
%minutes = $regml(1)
}
if ($regex(%iso,/(\d+)S/i)) {
%seconds = $regml(1)
}
if (%hours > 0) {
%duration = $+(%hours,:,$right($+(0,%minutes),2),:,$right($+(0,%seconds),2))
}
else {
%duration = $+(%minutes,:,$right($+(0,%seconds),2))
}
}
; Extract view count
var %views = Unknown
if ($regex(%json,/"viewCount"\s*:\s*"(\d+)"/i)) {
%views = $regml(1)
}
; Extract publication date
var %published = Unknown
if ($regex(%json,/"publishedAt"\s*:\s*"(\d{4}-\d{2}-\d{2})/i)) {
%published = $regml(1)
}
; Keep output compact for IRC
if ($len(%title) > 80) {
%title = $left(%title,77) $+ ...
}
if ($len(%uploader) > 35) {
%uploader = $left(%uploader,32) $+ ...
}
; One-line announcement, no repeated URL
if (%channel != $null) {
var %line = [YouTube] $chr(9654) %title $chr(124) Length: %duration $chr(124) By: %uploader $chr(124) Views: %views $chr(124) Published: %published
msg %channel %line
}
:cleanup
if ($isfile(%file)) .remove %file
unset %yt.file. $+ %request
unset %yt.channel. $+ %request
unset %yt.video. $+ %request
}
#2
News / New website online: IRCPlus.nl...
Last post by Cjefke - Oct 16, 2026, 10:17 PMIRCPlus.nl is live
Hey everyone,
The new IRCPlus.nl website is online. It's meant as a practical hub for IRC users: scripts, bots, tools, our own network, and a few community services in one place.
Website: https://ircplus.nl
IRC server: irc.ircplus.nl (TLS on 6697)
Main channel: #IRCPlus
What's on the site right now
Downloads
Stay connected when your PC is offline. Free for IRCPlus users, TLS on port 2000.
How to request:
Full info & client setup (mIRC, HexChat, WeeChat, irssi):
https://ircplus.nl/free-bouncer.php
WebChat
Quick connect in the browser, no install needed:
https://ircplus.nl/webchat.php
Forum
This place — guides, discussion, feedback:
https://ircplus.nl/forum/
Also available
Status
Most of the site works as intended: homepage, downloads, bouncer info, webchat, forum integration, and the main navigation.
It's still a living project. Layout, content, and small bugs may improve over time. If something is broken, missing, or unclear — please say so.
Feedback welcome
If you notice:
...post it here or mention it in #IRCPlus. That helps a lot.
Thanks for checking it out — hope it's useful for the community.
— Cjefke
Hey everyone,
The new IRCPlus.nl website is online. It's meant as a practical hub for IRC users: scripts, bots, tools, our own network, and a few community services in one place.
Website: https://ircplus.nl
IRC server: irc.ircplus.nl (TLS on 6697)
Main channel: #IRCPlus
What's on the site right now
Downloads
- mIRC scripts, addons and packs
- Eggdrop / TCL resources
- Python IRC bots and helpers
- Windows tools and IRC clients
- Browse everything via Downloads
Stay connected when your PC is offline. Free for IRCPlus users, TLS on port 2000.
How to request:
- Join #IRCPlus (or use WebChat)
- Type: [tt]!request your_desired_username[/tt]
- Wait for staff approval — credentials are sent by PM
Full info & client setup (mIRC, HexChat, WeeChat, irssi):
https://ircplus.nl/free-bouncer.php
WebChat
Quick connect in the browser, no install needed:
https://ircplus.nl/webchat.php
Forum
This place — guides, discussion, feedback:
https://ircplus.nl/forum/
Also available
- Users / channels overview
- Config makers (UnrealIRCd, Eggdrop)
- News, contact, and more network pages
Status
Most of the site works as intended: homepage, downloads, bouncer info, webchat, forum integration, and the main navigation.
It's still a living project. Layout, content, and small bugs may improve over time. If something is broken, missing, or unclear — please say so.
Feedback welcome
If you notice:
- a page that doesn't load or looks wrong
- a download that should be added or fixed
- something missing for new IRC users
- ideas for the bouncer, forum, or tools
...post it here or mention it in #IRCPlus. That helps a lot.
Thanks for checking it out — hope it's useful for the community.
— Cjefke
#3
InspIRCd / Install InspIRCd from source
Last post by Cjefke - Oct 16, 2026, 10:14 PMInstall InspIRCd 4 from source
When there is no package for your OS (or you want a custom build), compile from source.
Official guide:
docs.inspircd.org — Source installation
1. Supported systems
Windows native builds use a separate guide; this post is for UNIX-like systems.
2. Dependencies
Debian / Ubuntu:
Add development headers for any extra modules you want (OpenSSL, etc.), for example:
RHEL-like: install the "Development Tools" group plus needed [tt]-devel[/tt] packages.
3. Download the source
Release tarball (recommended):
Or latest Git (insp4 branch):
4. Configure
You will be asked about:
Press Enter to accept defaults, or answer [tt]no[/tt] and set custom paths/modules.
Enable extras later if needed:
5. Compile & install
On modern hardware this usually finishes in a few minutes.
6. Configure & start
Go to your install directory (often something like [tt]~/inspircd[/tt] if you used defaults), edit the config, then start the binary according to the paths you chose.
Configuration reference:
InspIRCd 4 configuration
Quick reference
Source: InspIRCd 4 — Source installation
Check releases for a newer [tt]v4.x.x[/tt] and adjust the version in the wget URL. Errors during [tt]./configure[/tt] or [tt]make[/tt]? Post the full output.
When there is no package for your OS (or you want a custom build), compile from source.
Official guide:
docs.inspircd.org — Source installation
1. Supported systems
- Recent Linux (GCC 7+ or Clang 5+)
- Recent BSD
- Recent macOS (AppleClang / Clang / GCC)
Windows native builds use a separate guide; this post is for UNIX-like systems.
2. Dependencies
Debian / Ubuntu:
Code Select
sudo apt-get update
sudo apt-get install build-essential pkg-config wget
Add development headers for any extra modules you want (OpenSSL, etc.), for example:
Code Select
sudo apt-get install libssl-dev
RHEL-like: install the "Development Tools" group plus needed [tt]-devel[/tt] packages.
3. Download the source
Release tarball (recommended):
Code Select
wget "https://github.com/inspircd/inspircd/archive/refs/tags/v4.12.1.tar.gz"
tar -xvf ./v4.12.1.tar.gz
cd inspircd-4.12.1
Or latest Git (insp4 branch):
Code Select
git clone --branch insp4 https://github.com/inspircd/inspircd.git
cd inspircd
4. Configure
Code Select
./configure
You will be asked about:
- Install paths (default: self-contained under your home directory)
- Extra modules (auto-detect dependencies, or choose manually)
- Optional self-signed TLS cert for testing
Press Enter to accept defaults, or answer [tt]no[/tt] and set custom paths/modules.
Enable extras later if needed:
Code Select
./configure --enable-extras modulename
5. Compile & install
Code Select
make install
On modern hardware this usually finishes in a few minutes.
6. Configure & start
Go to your install directory (often something like [tt]~/inspircd[/tt] if you used defaults), edit the config, then start the binary according to the paths you chose.
Configuration reference:
InspIRCd 4 configuration
Quick reference
Code Select
sudo apt-get install build-essential pkg-config wget libssl-dev
wget "https://github.com/inspircd/inspircd/archive/refs/tags/v4.12.1.tar.gz"
tar -xvf ./v4.12.1.tar.gz
cd inspircd-4.12.1
./configure
make install
Source: InspIRCd 4 — Source installation
Check releases for a newer [tt]v4.x.x[/tt] and adjust the version in the wget URL. Errors during [tt]./configure[/tt] or [tt]make[/tt]? Post the full output.
#4
InspIRCd / Install InspIRCd on Windows
Last post by Cjefke - Oct 16, 2026, 10:13 PMInstall InspIRCd 4 on Windows
Official package guide:
docs.inspircd.org — Windows installation
Requirements: Windows 10 (April 2018 Update or newer), x86-64.
1. Download the installer
Get the latest [tt].exe[/tt] from:
GitHub releases (latest)
Or with PowerShell (adjust version if needed):
2. Run the installer
Double-click the [tt].exe[/tt], or in PowerShell:
Follow the setup wizard.
3. Where files are stored
Default install path:
[tt]C:\Program Files\InspIRCd[/tt]
Relative to that folder:
4. Configure & run
Full config reference:
InspIRCd 4 configuration
Source: InspIRCd 4 — Windows installation
Questions about Windows firewall or running as a service? Post details here.
Official package guide:
docs.inspircd.org — Windows installation
Requirements: Windows 10 (April 2018 Update or newer), x86-64.
1. Download the installer
Get the latest [tt].exe[/tt] from:
GitHub releases (latest)
Or with PowerShell (adjust version if needed):
Code Select
(New-Object System.Net.WebClient).DownloadFile(
"https://github.com/inspircd/inspircd/releases/download/v4.12.1/InspIRCd-4.12.1.exe",
"InspIRCd-4.12.1.exe"
)
2. Run the installer
Double-click the [tt].exe[/tt], or in PowerShell:
Code Select
Start-Process ".\InspIRCd-4.12.1.exe"
Follow the setup wizard.
3. Where files are stored
Default install path:
[tt]C:\Program Files\InspIRCd[/tt]
Relative to that folder:
- Config: [tt].\conf[/tt]
- Data: [tt].\data[/tt]
- Logs: [tt].\logs[/tt]
4. Configure & run
- Edit the example config in the [tt]conf[/tt] folder
- Start InspIRCd from the Start menu or the installed binary
- Open firewall ports for IRC (e.g. 6667 plain, 6697 TLS) if you accept external clients
Full config reference:
InspIRCd 4 configuration
Source: InspIRCd 4 — Windows installation
Questions about Windows firewall or running as a service? Post details here.
#5
InspIRCd / Install InspIRCd on Ubuntu
Last post by Cjefke - Oct 16, 2026, 10:12 PMInstall InspIRCd 4 on Ubuntu (official .deb package)
Guide based on the official docs:
docs.inspircd.org — Ubuntu installation
Supported (x86-64):
1. Remove the old Ubuntu-repo package (if present)
Restore after installing the official package:
2. Download the package
Ubuntu 22.04:
Ubuntu 24.04:
Ubuntu 26.04:
Newer builds: GitHub releases
3. Optional — verify SHA-256
Match against the checksum on the release page.
4. Install
5. Configure & start
Edit config in [tt]/etc/inspircd[/tt], then:
Without systemd:
File locations
Source: InspIRCd 4 — Ubuntu installation
Next: configuration. Post your Ubuntu version if something fails.
Guide based on the official docs:
docs.inspircd.org — Ubuntu installation
Supported (x86-64):
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 24.04 (Noble Numbat)
- Ubuntu 26.04 (Resolute Raccoon)
1. Remove the old Ubuntu-repo package (if present)
Code Select
cp -r /etc/inspircd ~/inspircd-conf
cp -r /var/run/inspircd ~/inspircd-data
sudo apt purge inspircd
Restore after installing the official package:
Code Select
cp -r ~/inspircd-conf/* /etc/inspircd
cp -r ~/inspircd-data/* /var/lib/inspircd
2. Download the package
Code Select
sudo apt install wget
Ubuntu 22.04:
Code Select
wget "https://github.com/inspircd/inspircd/releases/download/v4.12.1/inspircd_4.12.1.ubuntu22.04.1_amd64.deb"
Ubuntu 24.04:
Code Select
wget "https://github.com/inspircd/inspircd/releases/download/v4.12.1/inspircd_4.12.1.ubuntu24.04.1_amd64.deb"
Ubuntu 26.04:
Code Select
wget "https://github.com/inspircd/inspircd/releases/download/v4.12.1/inspircd_4.12.1.ubuntu26.04.1_amd64.deb"
Newer builds: GitHub releases
3. Optional — verify SHA-256
Code Select
sha256sum ./inspircd_4.12.1.ubuntu24.04.1_amd64.deb
Match against the checksum on the release page.
4. Install
Code Select
# Ubuntu 22.04
sudo apt install "./inspircd_4.12.1.ubuntu22.04.1_amd64.deb"
# Ubuntu 24.04
sudo apt install "./inspircd_4.12.1.ubuntu24.04.1_amd64.deb"
# Ubuntu 26.04
sudo apt install "./inspircd_4.12.1.ubuntu26.04.1_amd64.deb"
5. Configure & start
Edit config in [tt]/etc/inspircd[/tt], then:
Code Select
sudo systemctl start inspircd.service
sudo systemctl enable inspircd.service
Without systemd:
Code Select
sudo -g irc -u irc inspircd
File locations
- Config: [tt]/etc/inspircd[/tt]
- Data: [tt]/var/lib/inspircd[/tt]
- Logs: [tt]/var/log/inspircd[/tt]
Source: InspIRCd 4 — Ubuntu installation
Next: configuration. Post your Ubuntu version if something fails.
#6
IRC Basic FAQ / The basics of IRC
Last post by Cjefke - Oct 16, 2026, 10:08 PMIRC basics — a practical starter guide
IRC (Internet Relay Chat) is a simple, fast way to chat in real time on channels and in private messages. This guide covers what you need to get started: connecting, joining channels, talking, and the most useful commands.
No advanced setup required — just a client and a network.
1. What is IRC?
2. Connect to a network
You need:
Example (TLS recommended):
The [tt]+[/tt] before the port usually means SSL/TLS in many clients.
Pick a nick that is not already in use. If it is taken, try another:
3. Join a channel
Examples:
To leave:
4. Talk and private messages
In a channel, just type and press Enter.
Private message (query):
Or open a query window (depends on client), then type normally.
Action / "me" text:
5. Essential commands
Help from services (if the network has them):
6. Register your nick (NickServ)
On networks with services, register so nobody else can take your name:
Later, identify when you connect:
Many clients can do this automatically (SASL or a connect script).
Group extra nicks (if allowed):
7. Channel modes & user prefixes (quick view)
Common prefixes you see next to nicks:
You do not need to memorize these on day one — just know that ops control the channel.
8. Good habits
9. Mini cheatsheet
10. Next steps
Questions? Post what client and network you use, and what you are trying to do. Someone will point you in the right direction.
IRC (Internet Relay Chat) is a simple, fast way to chat in real time on channels and in private messages. This guide covers what you need to get started: connecting, joining channels, talking, and the most useful commands.
No advanced setup required — just a client and a network.
1. What is IRC?
- You connect to an IRC network (a group of linked servers)
- You join channels (chat rooms), usually named like [tt]#help[/tt] or [tt]#mIRC[/tt]
- You talk in the channel or send private messages (queries) to other users
- Many networks have services (NickServ, ChanServ) to register nicks and channels
2. Connect to a network
You need:
- Server address (example: [tt]irc.example.net[/tt])
- Port (plain: [tt]6667[/tt], TLS/SSL: often [tt]6697[/tt])
- A nickname
Example (TLS recommended):
Code Select
/server irc.example.net +6697
The [tt]+[/tt] before the port usually means SSL/TLS in many clients.
Pick a nick that is not already in use. If it is taken, try another:
Code Select
/nick YourNewNick
3. Join a channel
Code Select
/join #channel
Examples:
Code Select
/join #help
/join #mIRC
/join #Eggdrop
To leave:
Code Select
/part #channel
/part #channel See you later
4. Talk and private messages
In a channel, just type and press Enter.
Private message (query):
Code Select
/msg Nickname Hello, are you there?
Or open a query window (depends on client), then type normally.
Action / "me" text:
Code Select
/me waves
5. Essential commands
Code Select
/server <host> [+port] Connect to a server
/nick <name> Change your nickname
/join #channel Join a channel
/part #channel [reason] Leave a channel
/msg <nick> <text> Private message
/notice <nick> <text> Notice (often used by bots/services)
/whois <nick> Info about a user
/names #channel List users in a channel (or check the user list)
/quit [reason] Disconnect from IRC
/list List channels (can be long; some nets limit this)
Help from services (if the network has them):
Code Select
/msg NickServ HELP
/msg ChanServ HELP
/msg MemoServ HELP
6. Register your nick (NickServ)
On networks with services, register so nobody else can take your name:
Code Select
/msg NickServ REGISTER yourpassword your@email.com
Later, identify when you connect:
Code Select
/msg NickServ IDENTIFY yourpassword
Many clients can do this automatically (SASL or a connect script).
Group extra nicks (if allowed):
Code Select
/msg NickServ GROUP
7. Channel modes & user prefixes (quick view)
Common prefixes you see next to nicks:
- @ — operator (op)
- % — half-op (on some networks)
- + — voiced (can talk when the channel is moderated)
Code Select
+n No external messages (only users in the channel can talk to it)
+t Only ops can change the topic
+m Moderated (only +v and higher can talk)
+i Invite-only
+k Password (key) required to join
+l User limit
You do not need to memorize these on day one — just know that ops control the channel.
8. Good habits
- Read the channel topic and rules when you join
- Do not spam, flood, or paste huge blocks of text
- Prefer TLS ([tt]+6697[/tt] or the network's SSL port)
- Register your nick on networks that offer NickServ
- Do not share passwords in public channels
- If you need help, ask in [tt]#help[/tt] (or the network's support channel) with a clear question
9. Mini cheatsheet
Code Select
/server irc.example.net +6697
/nick MyNick
/join #help
/msg NickServ REGISTER strongpass me@example.com
/msg NickServ IDENTIFY strongpass
/msg Someone Hi!
/me nods
/quit Bye
10. Next steps
- Learn your client's highlights, logging, and auto-join
- Try a bouncer (e.g. ZNC) if you want to stay connected 24/7
- Explore scripts (mIRC) or bots (Eggdrop) once you are comfortable
- Read your network's MOTD and help channels for local rules
Questions? Post what client and network you use, and what you are trying to do. Someone will point you in the right direction.
#7
Anope FAQ / Anope IRC Services installatio...
Last post by Cjefke - Oct 16, 2026, 10:06 PMHow to install Anope IRC Services 2.0 from source on Debian / Ubuntu
A practical guide to compile and run Anope 2.0 (NickServ, ChanServ, etc.) on Debian and Ubuntu. Based on the official documentation:
Anope Wiki — Installation
Anope 2.0 README
Anope is the most widely used IRC services package and works with UnrealIRCd, InspIRCd, and others.
1. Prerequisites
Anope 2 is built with CMake. You also need a C/C++ compiler.
Check CMake:
Optional extras (only if you need them later):
2. Download the source
Get the latest 2.0 release from GitHub:
github.com/anope/anope/releases
Example:
(Adjust the version number to whatever is current on the releases page.)
3. Optional — enable extra modules
Extra modules (MySQL, SQLite, etc.) are not built by default. From the source directory:
Follow the prompts, then continue with Config below.
Third-party modules can be placed in [tt]modules/third[/tt].
4. Configure, compile, install
[tt]./Config[/tt] asks a few questions (install path, etc.). Defaults are fine for most people — install path is usually [tt]~/services[/tt].
When finished:
5. Create the configuration
You must configure at least:
Use a strong, unique password. The port must be a server listen / link port on your IRCd, not a normal client port.
6. Link block on UnrealIRCd
On the IRCd, add a matching link + ulines (example for UnrealIRCd 6). See also:
Linking UnrealIRCd with anope
Rehash the IRCd after saving:
Important: the services name in [tt]ulines[/tt] and the [tt]link[/tt] block must match [tt]serverinfo[/tt] in Anope, and the password must match the uplink password.
7. Start Anope
For support / debug logs:
Check that services appear as a linked server on your network ([tt]/LINKS[/tt], or your IRCd's server list).
8. Useful next steps
Quick reference
Sources:
Stuck on linking or config? Post your IRCd type, the uplink/link blocks (passwords redacted), and any error from [tt]./bin/services --support[/tt].
A practical guide to compile and run Anope 2.0 (NickServ, ChanServ, etc.) on Debian and Ubuntu. Based on the official documentation:
Anope Wiki — Installation
Anope 2.0 README
Anope is the most widely used IRC services package and works with UnrealIRCd, InspIRCd, and others.
1. Prerequisites
Anope 2 is built with CMake. You also need a C/C++ compiler.
Code Select
sudo apt-get update
sudo apt-get install build-essential cmake wget
Check CMake:
Code Select
cmake --version
Optional extras (only if you need them later):
Code Select
# MySQL module
sudo apt-get install default-libmysqlclient-dev
# SQLite module
sudo apt-get install libsqlite3-dev
# GnuTLS (alternative SSL)
sudo apt-get install libgnutls28-dev
2. Download the source
Get the latest 2.0 release from GitHub:
github.com/anope/anope/releases
Example:
Code Select
wget https://github.com/anope/anope/releases/download/2.0.17/anope-2.0.17-source.tar.gz
tar xzvf anope-*-source.tar.gz
cd anope-*
(Adjust the version number to whatever is current on the releases page.)
3. Optional — enable extra modules
Extra modules (MySQL, SQLite, etc.) are not built by default. From the source directory:
Code Select
./extras
Follow the prompts, then continue with Config below.
Third-party modules can be placed in [tt]modules/third[/tt].
4. Configure, compile, install
Code Select
./Config
cd build
make
make install
[tt]./Config[/tt] asks a few questions (install path, etc.). Defaults are fine for most people — install path is usually [tt]~/services[/tt].
When finished:
Code Select
cd ~/services
5. Create the configuration
Code Select
cd ~/services
cp conf/example.conf conf/services.conf
nano conf/services.conf
You must configure at least:
- serverinfo — services server name (e.g. [tt]services.example.net[/tt])
- uplink — host, port, password to your IRCd
- module { name = "unreal" } (or [tt]inspircd[/tt], etc. — match your IRCd)
Code Select
uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 7000
password = "mypassword"
}
Use a strong, unique password. The port must be a server listen / link port on your IRCd, not a normal client port.
6. Link block on UnrealIRCd
On the IRCd, add a matching link + ulines (example for UnrealIRCd 6). See also:
Linking UnrealIRCd with anope
Code Select
link services.example.net {
incoming {
mask { ip 127.0.0.1; }
};
password "mypassword";
class servers;
};
ulines { services.example.net; };
Rehash the IRCd after saving:
Code Select
./unrealircd rehash
Important: the services name in [tt]ulines[/tt] and the [tt]link[/tt] block must match [tt]serverinfo[/tt] in Anope, and the password must match the uplink password.
7. Start Anope
Code Select
cd ~/services
./bin/services
For support / debug logs:
Code Select
./bin/services --support
Check that services appear as a linked server on your network ([tt]/LINKS[/tt], or your IRCd's server list).
8. Useful next steps
- Create your services root / oper account (see Anope docs / first-time setup)
- Copy and edit other example configs if needed ([tt]modules.example.conf[/tt] → [tt]modules.conf[/tt], then update [tt]include[/tt] lines)
- Anope Wiki
- Anope modules site
- Support: #anope on [tt]irc.teranova.net[/tt]
Quick reference
Code Select
# packages
sudo apt-get install build-essential cmake wget
# build
wget https://github.com/anope/anope/releases/download/2.0.17/anope-2.0.17-source.tar.gz
tar xzvf anope-*-source.tar.gz
cd anope-*
./Config
cd build
make
make install
# configure
cd ~/services
cp conf/example.conf conf/services.conf
nano conf/services.conf
# start
./bin/services
Sources:
Stuck on linking or config? Post your IRCd type, the uplink/link blocks (passwords redacted), and any error from [tt]./bin/services --support[/tt].
#8
Eggdrop FAQ / Eggdrop installation.
Last post by Cjefke - Oct 16, 2026, 10:04 PMHow to install Eggdrop from source on Debian / Ubuntu
A clear step-by-step guide to compile and run Eggdrop on Debian and Ubuntu. Based on the official documentation:
Installing Eggdrop
Setting Up Eggdrop
Eggdrop is the world's oldest actively maintained IRC bot. This guide covers a normal install from source.
1. Prerequisites
Eggdrop requires Tcl (and the Tcl development headers). TLS support needs OpenSSL headers too.
Optional (Python module support — Eggdrop 1.9+):
Check Tcl is available:
2. Download the source
Stable release (recommended):
Or a specific version from the official FTP, for example:
Alternative via git (development tree):
3. Extract
4. Configure, modules, compile, install
Detect your system and find Tcl:
Choose default modules (recommended):
Or pick modules interactively:
Compile:
Install into [tt]~/eggdrop[/tt] (default):
Or install somewhere else (use a full path):
Optional — generate SSL certificates for botnet TLS:
5. Configure the bot
Go to the install directory:
You get example configs. For a quick start:
For full features, start from the complete example instead:
Things you must set:
Work through the file carefully — a bad config is the most common reason the bot will not start.
6. First start (create the userfile)
The -m flag creates the userfile the first time only:
After that, start without [tt]-m[/tt]:
Optional: make the config executable so you can start with [tt]./MyBot.conf[/tt]:
7. Auto-restart (crontab or systemd)
Eggdrop ships a helper script.
Crontab:
Systemd:
This keeps the bot running after a crash or server reboot.
8. Useful next steps
Quick reference
Sources:
Questions or an error during compile/start? Post your distro version and the full error output.
A clear step-by-step guide to compile and run Eggdrop on Debian and Ubuntu. Based on the official documentation:
Installing Eggdrop
Setting Up Eggdrop
Eggdrop is the world's oldest actively maintained IRC bot. This guide covers a normal install from source.
1. Prerequisites
Eggdrop requires Tcl (and the Tcl development headers). TLS support needs OpenSSL headers too.
Code Select
sudo apt-get update
sudo apt-get install build-essential tcl tcl-dev openssl libssl-dev wget
Optional (Python module support — Eggdrop 1.9+):
Code Select
sudo apt-get install python3 python3-dev python-is-python3
Check Tcl is available:
Code Select
tclsh
# type: exit
2. Download the source
Stable release (recommended):
Code Select
wget https://geteggdrop.com -O eggdrop-latest.tar.gz
Or a specific version from the official FTP, for example:
Code Select
wget https://ftp.eggheads.org/pub/eggdrop/source/1.10/eggdrop-1.10.2.tar.gz
Alternative via git (development tree):
Code Select
git clone https://github.com/eggheads/eggdrop.git
cd eggdrop
git checkout stable/1.10
(If you use git, skip the extract step below and continue from [tt]./configure[/tt].)3. Extract
Code Select
tar zxvf eggdrop-*.tar.gz
cd eggdrop-*
4. Configure, modules, compile, install
Detect your system and find Tcl:
Code Select
./configure
Choose default modules (recommended):
Code Select
make config
Or pick modules interactively:
Code Select
make iconfig
Compile:
Code Select
make
Install into [tt]~/eggdrop[/tt] (default):
Code Select
make install
Or install somewhere else (use a full path):
Code Select
make install DEST=/home/YOURUSER/mybot
Optional — generate SSL certificates for botnet TLS:
Code Select
make sslcert
# or: make sslcert DEST=/home/YOURUSER/mybot
5. Configure the bot
Go to the install directory:
Code Select
cd ~/eggdrop
You get example configs. For a quick start:
Code Select
cp eggdrop-basic.conf MyBot.conf
nano MyBot.conf
For full features, start from the complete example instead:
Code Select
cp eggdrop.conf MyBot.conf
nano MyBot.conf
Things you must set:
- Bot nick / altnick
- IRC server(s)
- Owner handle
- Channels
- Listen port (partyline)
Work through the file carefully — a bad config is the most common reason the bot will not start.
6. First start (create the userfile)
The -m flag creates the userfile the first time only:
Code Select
./eggdrop -m MyBot.conf
After that, start without [tt]-m[/tt]:
Code Select
./eggdrop MyBot.conf
Optional: make the config executable so you can start with [tt]./MyBot.conf[/tt]:
Code Select
chmod u+x MyBot.conf
(The first line of the config must point to the correct eggdrop binary path.)7. Auto-restart (crontab or systemd)
Eggdrop ships a helper script.
Crontab:
Code Select
./scripts/autobotchk MyBot.conf
Systemd:
Code Select
./scripts/autobotchk MyBot.conf -systemd
This keeps the bot running after a crash or server reboot.
8. Useful next steps
- Common first steps
- Enable TLS security
- The party line
- Users and flags
- Writing a Tcl script
- Support: #eggdrop on Libera ([tt]irc.libera.chat[/tt])
Quick reference
Code Select
# packages
sudo apt-get install build-essential tcl tcl-dev openssl libssl-dev wget
# download & build
wget https://geteggdrop.com -O eggdrop-latest.tar.gz
tar zxvf eggdrop-latest.tar.gz
cd eggdrop-*
./configure
make config
make
make install
# configure & first run
cd ~/eggdrop
cp eggdrop-basic.conf MyBot.conf
nano MyBot.conf
./eggdrop -m MyBot.conf
# later starts
./eggdrop MyBot.conf
# auto-restart
./scripts/autobotchk MyBot.conf
Sources:
Questions or an error during compile/start? Post your distro version and the full error output.
#9
UnrealIRCd FAQ / UnrealIRCd Installation
Last post by Cjefke - Oct 16, 2026, 10:01 PMHow to install UnrealIRCd from source on Debian / Ubuntu
A practical step-by-step guide to compile and run UnrealIRCd on Debian and Ubuntu. Based on the official documentation:
Installing from source
This should take about 20–30 minutes if you follow the steps carefully.
1. Prerequisites (packages)
You need a compiler, OpenSSL, and a few optional libraries (recommended).
Ubuntu 20.04 / 22.04 / 24.04:
Debian 13:
Debian 11 / 12:
Minimum only (any apt-based distro):
2. Do not run as root
Build and run UnrealIRCd as a normal user, never as root.
Create a dedicated user:
Switch to that user:
All steps below are done as the [tt]unrealircd[/tt] user.
3. Download the source
If [tt]wget[/tt] is missing:
4. Extract the archive
(Replace with the real directory name if needed, e.g. [tt]unrealircd-6.2.0[/tt].)
5. Configure, compile, install
Run the interactive config (press Enter to accept defaults):
Compile:
Install (important — this installs into [tt]~/unrealircd[/tt] by default):
6. Create the configuration file
Go to the install directory:
Copy the example config (if it is not already there):
Edit it:
Important:
Configuration file syntax
7. Start UnrealIRCd
Check status:
Stop / restart:
After config changes, rehash without full restart:
8. Next steps (recommended)
Quick reference
Source: unrealircd.org — Installing from source
Questions or stuck on a step? Post your distro version and the error output here.
A practical step-by-step guide to compile and run UnrealIRCd on Debian and Ubuntu. Based on the official documentation:
Installing from source
This should take about 20–30 minutes if you follow the steps carefully.
1. Prerequisites (packages)
You need a compiler, OpenSSL, and a few optional libraries (recommended).
Ubuntu 20.04 / 22.04 / 24.04:
Code Select
sudo apt-get update
sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
Debian 13:
Code Select
sudo apt-get update
sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
Debian 11 / 12:
Code Select
sudo apt-get update
sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-0-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
Minimum only (any apt-based distro):
Code Select
sudo apt-get install build-essential libssl-dev
2. Do not run as root
Build and run UnrealIRCd as a normal user, never as root.
Create a dedicated user:
Code Select
sudo adduser unrealircd
Switch to that user:
Code Select
su - unrealircd
All steps below are done as the [tt]unrealircd[/tt] user.
3. Download the source
Code Select
wget --trust-server-names https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz
If [tt]wget[/tt] is missing:
Code Select
sudo apt-get install wget
4. Extract the archive
Code Select
tar xzvf unrealircd-*.tar.gz
cd unrealircd-*
(Replace with the real directory name if needed, e.g. [tt]unrealircd-6.2.0[/tt].)
5. Configure, compile, install
Run the interactive config (press Enter to accept defaults):
Code Select
./Config
Compile:
Code Select
make
Install (important — this installs into [tt]~/unrealircd[/tt] by default):
Code Select
make install
6. Create the configuration file
Go to the install directory:
Code Select
cd ~/unrealircd
Copy the example config (if it is not already there):
Code Select
cp conf/examples/example.conf conf/unrealircd.conf
Edit it:
Code Select
nano conf/unrealircd.conf
Important:
- Walk through the file line by line
- Change values marked as required (server name, me {}, etc.)
- If you skip this, the server will refuse to start
Configuration file syntax
7. Start UnrealIRCd
Code Select
cd ~/unrealircd
./unrealircd start
Check status:
Code Select
./unrealircd status
Stop / restart:
Code Select
./unrealircd stop
./unrealircd restart
After config changes, rehash without full restart:
Code Select
./unrealircd rehash
8. Next steps (recommended)
- Get a real TLS certificate (Let's Encrypt)
- Run UnrealIRCd with systemd (auto-start on boot)
- Install Services (Anope)
- IRCOp guide
- FAQ — common problems and fixes
Quick reference
Code Select
# packages (example: Ubuntu 22.04/24.04)
sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
# as user unrealircd
wget --trust-server-names https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz
tar xzvf unrealircd-*.tar.gz
cd unrealircd-*
./Config
make
make install
cd ~/unrealircd
cp conf/examples/example.conf conf/unrealircd.conf # if needed
nano conf/unrealircd.conf
./unrealircd start
Source: unrealircd.org — Installing from source
Questions or stuck on a step? Post your distro version and the error output here.
#10
mIRC / Triviant Script
Last post by Cjefke - Jul 17, 2026, 10:35 PMls je een chatbox op je site hebt, dan zul je ook wel bezoekers hebben die graag iets willen doen op de chat, behalve chatten 
Daarvoor kan je dus een botje hebben, met triviant.
Installatie:
Je kunt dit script op 1 manier gebruiken; Kopier de onderstaande code, en druk in het mIRC van je botje op ALT + R. Dan opent zich de remote. Druk in de linker hoek op: File, daarna klik je op new. Nu is er een nieuwe pagina geopent. Plak in die pagina de code die je gekopieerd hebt.
Druk dan weer op File, en daarna klik je dit keer op Save As.... Dan typ je daarin: trivia.mrc, of je kunt hem ook anders noemen, maar zet er wel .mrc achter en klik op: "Opslaan", of "Save"
Wanneer je het geinstalleerd hebt, moet je het volgende doen:
Wanneer je het script hebt opgeslagen klik je onderin op Ok. Dan opent zich een waarschuwings venster. Klik daar op Yes. Dan krijg je een venstertje met een tekst veld te zien. Typ daarin je eigen naam, dus niet de naam van je botje, maar de naam waarop jijzelf chat. Daarna vul je je chatroom in, en zal het botje de chatroom joinen.
Maak nu een text bestand aan, en zet op elke regel een vraag, typ daarachter een ~ en daarachter het antwoord. Doe dat op deze manier:
Citaat:
Welke letter ontbreekt: scha_ts~a
Wie is de ontdekker van amerika~Columbus
Je hoeft er geen vraagteken achter te typen, dit gebeurt automatisch
Sla nu het bestand op in je mIRC directie met de naam vragen.txt.
Als je wilt weten wat je mIRC directie is, typ dan even de mIRC van je botje: //echo -a $mircdir, dan krijg je je mIRC directie te zien
De commando's voor de eigenaar zijn deze:
- !stop om het spel te stoppen.
- !reset om de scores te resetten.
De commando's voor de spelers zijn:
- !start om een spel te starten.
- !hint om een hint te krijgen.
- !score naam om de score van diegene te zien die ze bij naam hebben getypt. Typen ze er geen naam achter, dan krijgen ze hun eigen scores te zien

Daarvoor kan je dus een botje hebben, met triviant.
Installatie:
Je kunt dit script op 1 manier gebruiken; Kopier de onderstaande code, en druk in het mIRC van je botje op ALT + R. Dan opent zich de remote. Druk in de linker hoek op: File, daarna klik je op new. Nu is er een nieuwe pagina geopent. Plak in die pagina de code die je gekopieerd hebt.
Druk dan weer op File, en daarna klik je dit keer op Save As.... Dan typ je daarin: trivia.mrc, of je kunt hem ook anders noemen, maar zet er wel .mrc achter en klik op: "Opslaan", of "Save"
Wanneer je het geinstalleerd hebt, moet je het volgende doen:
Wanneer je het script hebt opgeslagen klik je onderin op Ok. Dan opent zich een waarschuwings venster. Klik daar op Yes. Dan krijg je een venstertje met een tekst veld te zien. Typ daarin je eigen naam, dus niet de naam van je botje, maar de naam waarop jijzelf chat. Daarna vul je je chatroom in, en zal het botje de chatroom joinen.
Maak nu een text bestand aan, en zet op elke regel een vraag, typ daarachter een ~ en daarachter het antwoord. Doe dat op deze manier:
Citaat:
Welke letter ontbreekt: scha_ts~a
Wie is de ontdekker van amerika~Columbus
Je hoeft er geen vraagteken achter te typen, dit gebeurt automatisch
Sla nu het bestand op in je mIRC directie met de naam vragen.txt.
Als je wilt weten wat je mIRC directie is, typ dan even de mIRC van je botje: //echo -a $mircdir, dan krijg je je mIRC directie te zien
De commando's voor de eigenaar zijn deze:
- !stop om het spel te stoppen.
- !reset om de scores te resetten.
De commando's voor de spelers zijn:
- !start om een spel te starten.
- !hint om een hint te krijgen.
- !score naam om de score van diegene te zien die ze bij naam hebben getypt. Typen ze er geen naam achter, dan krijgen ze hun eigen scores te zien
Code Select
on *:LOAD: {
/echo $active ␃7::␃12Bedankt voor het installeren van de trivia bot - Vul de naam van de admin in␃7::
/nick $$?="Vul de naam van de bot in"
%admin = $$?="Vul je eigen nicknaam in" | %triv.room = $$?="Wat is de quizroom?" | %triv.s = $$?="Hoeveel seconden moeten er tussen een vraag zitten? (In seconden)" | %triv = off
/join %triv.room
}
on *:CONNECT: {
/join %triv.room
}
on *:JOIN:%triv.room: {
if (%triv == on) {
/if ($readini(scores.ini,score,$nick) == $null) { /msg %triv.room ␃7::␃2 $nick ␃12heeft nog geen punten gehaald ␃7:: }
else { /msg %triv.room ␃7::␃12Welkom␃2 $nick $+ ␃12, je score van deze maand is:␃2 $readini(scores.ini,score,$nick) ␃7:: }
/notice $nick De vraag van dit moment is:␃2 %triv.q
}
}
on *:TEXT:!start:%triv.room: {
if (%triv == off) {
%triv = on
/msg %triv.room ␃7::␃12De quiz is weer gestart␃7::
/next
}
else { notice $nick ␃7::␃12Trivia staat al aan␃7:: }
}
on *:TEXT:!hint:%triv.room: {
msg %triv.room ␃7::␃12Hint:␃2 $left(%triv.a,3) $+ ... ␃7::␃12Letters:␃2 $len(%triv.a) ␃7::
}
on *:TEXT:!score*:%triv.room: {
if ($2 == $null) {
if ($readini(scores.ini,score,$nick) == $null) { /msg %triv.room ␃7::␃2 $+ $nick ␃12heeft geen punten gehaald␃7:: }
else { /msg %triv.room ␃7::␃2 $+ $nick ␃12heeft␃2 $readini(scores.ini,score,$nick) ␃12punten gehaald␃7:: }
}
else {
if ($readini(scores.ini,score,$2) == $null) { /msg %triv.room ␃7::␃2 $+ $2 ␃12heeft geen punten gehaald␃7:: }
else { /msg %triv.room ␃7::␃2 $+ $2 ␃12heeft␃2 $readini(scores.ini,score,$2) ␃12punten gehaald␃7:: }
}
}
CTCP *:credits: {
ctcpreply $nick CREDITS MooneBot v1.00 - CREDITS // Moone Project
ctcpreply $nick CREDITS Scripter: Toenie
ctcpreply $nick CREDITS BetaTesters: Glm, RunTime-Error, Drakul, Tank & Dennis
}
on *:TEXT:!stop:%triv.room:{
if (%triv == off) { msg %triv.room ␃7::␃12Triviant was al uit␃7:: }
else {
if (%triv == on) && ($nick isop $chan) { /msg %triv.room ␃7::␃12De triviant is nu uitgeschakeld␃7:: | %triv = off | /unset %triv.c | /timertriv off | /timerwarning off | timernext off }
else {
if (%triv == on) && ($nick == %admin) { /msg %triv.room ␃7::␃12De triviant is nu uitgeschakeld␃7:: | %triv = off | /unset %triv.c | /timertriv off | /timerwarning off | timernext off }
if ($nick != %admin) { notice $nick ␃7::␃12Je bent geen admin␃7:: }
}
}
}
on *:TEXT:!help:%triv.room: {
/notice $nick Dit zijn mijn commando's:
/notice $nick !score ␟nicknaam␟, !hint, !start
}
on *:TEXT:!reset:%triv.room: {
if ($nick == %admin) {
/remini scores.ini score
/msg $chan ␃7::␃12De scores zijn reset␃7::
}
}
on *:TEXT:!lines:%triv.room: {
//msg $chan ␃7::␃12Ik heb nu $lines($mircdir $+ /vragen.txt) vragen! ␃7::
}
on *:TEXT:admin:?: {
if ($nick == %admin) {
/notice $nick De commando's voor de admin zijn:
/notice $nick !reset,!stop
}
}
on *:TEXT:*:%triv.room: {
if ($strip($1-) == %triv.a) {
if ($timertriv != $null) { /timertriv off }
if (%triv == off) { goto end } else {
/msg $chan ␃7::␃2 $nick ␃12heeft juist geantwoord␃4 (␃2␂␂ $+ $strip($1-) $+ ␃4) ␃7::
%triv.l = $calc($readini(scores.ini,score,$nick)+1)
/writeini scores.ini score $nick %triv.l
/timerwarning off
//timernext 1 %triv.s /next
}
:end
}
}
alias false {
/timertriv off
/msg %triv.room ␃7::␃12Helaas, het antwoord,␃2 %triv.a ␃12, is ␃2NIET␃12 geraden!
//timernext 1 %triv.s /next
}
alias next {
/unset %triv.q | /unset %triv.a
%triv.f = $read(vragen.txt) | %triv.q = $gettok(%triv.f,1,126) | %triv.a = $gettok(%triv.f,2,126) | inc %triv.c
/msg %triv.room ␃7::␃2NR. %triv.c $+ ␃7::␃12De vraag:␃2 %triv.q ␃7::
/timertriv 1 45 /false
/timerwarning 1 35 /msg %triv.room ␃7::␃12Nog␃2 10 ␃12seconden␃7::
}
;Dit script is gemaakt door toenie, voor non-commercieel gebruik.
;Veel plezier met dit script