This process was tested 4x on pissircd and unrealircd, some servers with custom scripts installed, and confirmed with another dozen or so successful updates.
Guide was written to be as 'cut and paste' as possible.
Notes
- When I was attempting to upgrade using the built in unrealircd upgrader on a server that had 5.x, it failed with an error about calling a script directly despite using the correct command to do a version upgrade. Updating required a few extra steps when done manually, all from this page: https://www.unrealircd.org/docs/Upgrading_from_5.x
- This was documented specifically for working around the built in updater to go from 5.x to 6.x while also doing a build to run pissircd.
- This upgrade method will also work for those running vanilla unrealircd and upgrading to pissircd. But we're making a backup of your unrealircd folder regardless.
- There's no risk in this upgrade method aside from a minute of downtime should you be unable to restart.
- The fun bit: You can build, upgrade and make all changes while your ircd is running, needing only to stop and restart when done.
Updating from 5.x to 6.x
- Remove all of your previous build and backup folders (you won't be using the built in unrealircd upgrader, so clear out the old cruft.)
- Back up your unrealircd folder (cp -R unrealircd backup.unrealircd)
- git clone https://github.com/pissnet/pissircd
- cd pissircd && ./Config
- Hit enter on everything (defaults)
- make
- make install
- cd ..
- cd unrealircd
- cd conf
- nano unrealircd.conf
- Comment out the entire block for > log "ircd.log"
- from log "ircd.log"
- including "flags {"
- to second "}"
- (Needed for 6.x, otherwise your conf fails checks.)
- Add the following:
log { source { !debug; all; } destination { file "ircd.log" { maxsize 100M; } } } include "snomasks.default.conf"; loadmodule "cloak_md5";
- Save (Ctrl X)
- cd ..
- ./unrealircd stop
- ./unrealircd start
Post Notes
You should be running piss60 successfully.
If not, delete 'unrealircd' ( rm -rf ~/unrealircd ) folder and rename 'backup.unrealircd' to 'unrealircd' ( mv backup.unrealircd unrealircd ) and then restart unrealircd ( cd unrealircd then ./unrealircd start )
Nothing will be lost except uptime.
Updating within 6.x versions
Updating once you have built from git is mostly the same. Some of the above steps are one time deals.
To update from 6.x to 6.x (patches, fixes, etc)
- Back up your unrealircd folder (cp -R unrealircd backup.unrealircd)
- rm -rf pissircd
- git clone https://github.com/pissnet/pissircd
- cd pissircd && ./Config
- Hit enter on everything (defaults)
- make && make install
- cd ..
- cd unrealircd
- ./unrealircd stop
- ./unrealircd start
and that should be it.