This page explains how to upgrade your UnrealIRCd to a newer version if you stay on the same series like 6.0.x to 6.0.y.
IMPORTANT: If you are upgrading from UnrealIRCd 5 to 6, then see Upgrading from 5.x.
Automated upgrade (*NIX)
Simply run: ./unrealircd upgrade if you want to:
- upgrade from 6.0.x to a later 6.0.y
The ./unrealircd upgrade will keep 5.x users on 5.x, so no need to worry about accidental upgrades from U5 to U6. If you want to upgrade from 5.x to 6.x with the new upgrade command, see here.
After the command has finished, read the output on the terminal. It will tell you if the upgrade went OK and your configuration file needs updating or not. If all is good then you can restart the IRCd to complete the upgrade.
Exit status
For advanced users interested in the exit status of the ./unrealircd upgrade command (eg for mass-scripting purposes):
- Exit code 0: Upgrade and configtest successful. You can restart the IRCd now.
- Exit code 1: An error occured
- Exit code 5: Upgrade successful but configuration file needs updating. Do not restart IRCd but make changes first.
- Exit code 10: No newer version available
Manual upgrade (*NIX)
You can upgrade form any 6.X.X version to any 6.Y.Y version.
NOTE: If you are upgrading from old unsupport major version, see Upgrading from 4.x.
- Backup your existing /home/xxx/unrealircd directory:
-
cp -Rav /home/xxx/unrealircd /home/xxx/unrealircd.bak
-
- Download and install latest version of UnrealIRCd. See Installing from source and stop before Creating a configuration file.
- Double check: make sure you ran make install as this will install all new files in /home/xxx/unrealircd.
- Configuration test to make sure the IRCd will boot later (this will not start the ircd, it will only TEST the configuration!):
-
- cd /home/xxx/unrealircd
- ./unrealircd configtest
-
Configuration test passed OK
-
- Now you can restart the IRCd so it uses the new version:
-
- cd /home/xxx/unrealircd
- ./unrealircd restart
-
Get the latest source code
Most people should use the downloads from www.unrealircd.org. Those are releases that have actually been tested by several people.
There also exists something else, which is the very latest source code from our git repository. This contains code changes committed only minutes or days ago and is considered bleeding edge. Possibly nobody has tested this code, or just one person. It may not even compile. People run this code to help UnrealIRCd development, to find bugs, or to get fixes for issues that have not been addressed in a release.
The 'real way' to get the latest bleeding edge source...
This describes how to 'checkout' the repository on your machine, which allows you to easily pull in updates (which happen every day/week). First, run:
git clone https://github.com/unrealircd/unrealircd.git unrealircd-src
This will create a directory unrealircd-src with all the source code (UnrealIRCd 6 bleeding edge).
cd unrealircd-src
./Config
make
make install
Now go unrealircd directory and run:
./unrealircd configtest
If you see no errors, that means your config file is correct and you may restart your server
If there is a new release and you want to pull in the latest changes then run the following in your unrealircd-src directory: git pull
cd unrealircd-src
git pull
./Config
make
make install
If everything went the way it should, than you will see message like this at the end:
* UnrealIRCd is now installed.
* Leave this directory and run "cd /home/sisrv/unrealircd" now
* Directory layout:
* Base directory: /home/sisrv/unrealircd
* Configuration files: /home/sisrv/unrealircd/conf
* Log files: /home/sisrv/unrealircd/logs
* Modules: /home/sisrv/unrealircd/modules
* To start/stop UnrealIRCd run: /home/sisrv/unrealircd/unrealircd"
* Consult the documentation online at:
* https://www.unrealircd.org/docs/
* https://www.unrealircd.org/docs/FAQ
* To ensure UnrealIRCd automatically starts on system startup:
* Install a cron job: https://www.unrealircd.org/docs/Cron_job
* Or, use systemd: https://www.unrealircd.org/docs/Using_systemd_with_UnrealIRCd
Again, be sure to change to the /home/sisrv/unrealircd directory!
Version 6.2.2 of UnrealIRCd is installed.
When you restart UnrealIRCd you will be on the new version, to do so run:
./unrealircd restart
But before you do, you should read the release notes to
see what is new and/or if anything important has been changed:
See /home/sisrv/unrealircd/doc/RELEASE-NOTES.md or online at:
https://github.com/unrealircd/unrealircd/blob/unreal60_dev/doc/RELEASE-NOTES.md#unrealircd-622
After ./unrealircd restart if there was no miconfiguration or other issues, you should see the below text
./unrealircd restart
Validating configuration...
Configuration test OK.
Stopping UnrealIRCd..
Starting UnrealIRCd
_ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | | / | | / _` |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
v6.2.2
UnrealIRCd is brought to you by Bram Matthys (Syzop),
Krzysztof Beresztant (k4be), Gottem and i
UnrealIRCd is free and Open Source software. If you can, consider making a donation at https://www.unrealircd.org/index/donations to support us.
UnrealIRCd is using the following libraries:
* OpenSSL 1.0.1t 3 May 2016
* libsodium 1.0.20
* c-ares 1.10.0
* PCRE2 10.45 2025-02-05
* jansson 2.14.1
This server can handle 16384 concurrent sockets (16134 clients + 250 reserve)
[info] Loading IRCd configuration..
[info] Testing IRCd configuration..
[info] Configuration loaded
[info] UnrealIRCd is now listening on the following addresses/ports:
[info] IPv4: *:6900(TLS), *:6697(TLS), *:6667
[info] IPv6: <none>
[info] Unix Sockets: /home/sisrv/unrealircd/data/rpc.socket
[info] UnrealIRCd started.
NOTE: If you have had stable release installed before, do NOT delete the source code, if you do not want to re-install all modules all over again.
