Releases: Jigsy1/mIRCd
mIRCd[0.09hf8(Rev.2)][2021-2023]
1. The check for channel mode -d now occurs after the KICK command has parsed, rather than after each nick specified.
2. Commands are now finally stored in separate hash tables rather than a long, comma separated list in mIRCd.mrc.
3. G-lines and Shuns should now check against nick!user@ip.
4. Can now add local Shuns and Z-lines in the same manner as K-lines. (mIRCd.shuns and mIRCd.zlines respectively.)
5. Active, matching shuns of users who have just successfully registered with the IRCd are now announced. (SNOMASK=512)
6. Can now password the server by adding CONNECTION_PASS=<encrypted password with mkpasswd>.
Those connecting via localhost (127.*) and LAN (192.168.*) are not subject to this restriction.
7. Added the PASS command. This must be sent by users *BEFORE* NICK and USER.
8. Added channel mode +B <N>. This will avoid parsing messages to users in channels who have been idle on the server
for >=N seconds. (Bandwidth saving mode.)
This can be enabled by adding BANDWIDTH_MODE=TRUE or BANDWIDTH_MODE=FALSE to [Features] in mIRCd.ini. Defaults to FALSE.
9. You can now specify channels to have users automatically JOIN on connection. This can be done by adding:
AUTOJOIN_CHANS=#comma,#separated,#channels to [Features] in the mIRCd.ini.
This still falls in the limits of TARGMAX_JOIN, MAXCHANNELS and MAXCHANNELLEN.
10. The true address of connecting/disconnecting users is now shown instead of the obfuscated address.
11. Corrected a possible bug in setting SNOMASK.
12. PROTOCTL is now hidden from /HELP. (It's still usable, just hidden.)
13. Added S:line support. (Aka. User mode +h or /SETHOST.)
Doing either /SETHOST <S:line> <password> or /mode <you> +h <S:line> <password> will change your @host into the
specified S:line, assuming it is part of mIRCd.slines. Doing /MODE <you> -h will restore your host to the original host.
This can be enabled by adding SLINE_SUPPORT=TRUE or SLINE_SUPPORT=FALSE to [Features] in mIRCd.ini. Defaults to FALSE.
14. Code for /GNOTICE (now deprecated) removed and placed into it's own separate file. (mIRCd_gnotice.mrc)
15. Failed SVSJOINs into banned channels now sends a server wallops. (Cannot be disabled in order to prevent abuse.)
16. Users attempting to join banned channels now sends a server wallops. This can be enabled by adding WALLOPS_BAD_JOINS=TRUE
or WALLOPS_BAD_JOINS=FALSE to [Mechanics] in mIRCd.ini. Defaults to FALSE.
17. /NAMES now takes settings for PROTOCTL NAMESX and UHNAMES into consideration. The user can override these any time by
sending a boolean value as part of the command. (Which isn't protocol, but...) E.g. /PROTOCTL NAMESX 0
18. Can now deny channels from being made except by IRC operators by adding DENY_CHANNEL_CREATION=TRUE or DENY_CHANNEL_CREATION=FALSE
to [Mechanics] in mIRCd.ini. Defaults to FALSE.
19. Can now prevent new channels from having ops by adding OPLESS_CHANS=1 or OPLESS_CHANS=2 to [Mechanics] in mIRCd.ini.
Meaning: 0 = Disabled, 1 = Everybody, 2 = Non-opers.
20. Other changes.
sha256 checksums included in zip.
*.zip sha512: 86fba6238dcc8435dba4ea72559c00698c43b7b0a9eca5f3752086e680b340b9e2948b27c61bb79950482c8253c1a678c483cb3dfc113f1859816333ca2b63fa
mIRCd[0.09hf7(Rev.2)][2021-2023]
1. DEFAULT_CHANMODES and DEFAULT_USERMODES are now parsed after making sure specific modes have been enabled.
2. Certain Menu items are now grayed out depending on if the IRCd is running or not.
3. Although there was absolutely no reason for me to do so, added usermode +B (bot). It does absolutely nothing.
4. Can specify if you want bot support (even though it does nothing) enabled by adding BOT_SUPPORT=TRUE or BOT_SUPPORT=FALSE
to [Features] in mIRCd.ini. Defaults to FALSE.
5. Added usermode +m which prevents users from messaging you if they aren't on your /ACCEPT list.
6. Added /ACCEPT. It works in the same manner as /SILENCE.
7. More extended silence wildcard masks (E.g. *!*@* vs. *!*@127.0.0.1) now trump older masks. (Same also applies to /ACCEPT.)
8. Fixed a possible bug that existed within /SILENCE when removing a mask.
9. Made it so that DNS/Ident don't update their respective values if the user is already connected to the IRCd as it is
too late by then.
10. RPL_ISUPPORT (005) now includes USERMODES=<modes>.
11. Added channel mode +D (+d). Anyone who joins a channel when +D will not be shown unless the user changes the topic,
gets kicked, receives hop/op/voice, or speaks.
If you try to set -D when there are hidden users still in the channel, +d will be set automatically as polarity.
Only the server can remove +d, which will be done when there are no hidden users left. (Though setting +D removes it too.)
12. Can specify if you want Auditorium mode support enabled by adding AUDITORIUM_MODE=TRUE or AUDITORIUM_MODE=FALSE to
[Features] in mIRCd.ini. Defaults to FALSE.
13. Fixed a bug in /MODE. Doing +hov <nick> will now use the users actual nick rather than the token the user specified
due to a NAMES glitch when using Auditorium mode. (They would show up like jIGSy, rather than Jigsy until refreshed.)
14. Fixed a bug where users who are +i wouldn't show in /NAMES to opers.
15. Fixed a bug in usermode +x where the "Changing host" quit message was being truncated to just "host."
16. Changed LOOSE_OBFUSCATION to use a randomly generated 32 character string rather than a timestamp.
17. Can now specify if you want /WHOIS paranoia enabled (+W) by adding WHOIS_PARANOIA=TRUE or WHOIS_PARANOIA=FALSE to
[Features] in mIRCd.ini. Defaults to FALSE.
18. Ping timeout now displays the amount of second(s).
19. Can now MKPASSWD via the Menubar and /mIRCd.gui. This will output into mkpasswd.txt rather than echo in the window.
20. WHO_THROTTLE is now under [Features], not [Mechanics]. (Though this won't have any difference either way.)
21. Other minor changes. (mIRCd, mIRCd.ini, etc.)
sha256 checksums included in zip.
*.zip sha512: 2469a63ddcb0df5e877e457e4d0272d1c47eacac20fab23e56e4e51ede727ba6a8f4b4a3a84583f3d9ab1a11905f145a669feaa3bb1235b73c81e2df4bcbf4f0
mIRCd[0.09hf6(Rev.2)][2021-2023]
1. /WHO should now work correctly. Though I'm still unsure if it functions correctly like it should on other ircu IRCds.
2. Corrected two-year-old bugs in GLINE and SHUN.
3. Added !RrealName support to K-line, GLINE and SHUN.
However, due to $ being a somewhat special case when it comes to mIRC, I've had to use !R instead of $R.
4. Fixed a bug where /STATS s would not display the shun item, and /SHUN (no args) would not list any shuns because
I specified the wrong hash table.
5. Can now specify a DEFAULT_OPER_SNOMASK by adding DEFAULT_OPER_SNOMASK=<number> under the [Mechanics] in the mIRCd.ini.
Defaults to 17157.
6. Fixed a possible bug where SNOMASK was being overridden by doing /OPER if +s wasn't in the modes being added because
it had been set prior. (The user will now need to manually change their SNOMASK, basically.)
7. SNOMASK changes are now noted, when opering up for the first time or doing -s.
8. Can now specify the default modes for channels when they're created by adding DEFAULT_CHANMODES=<modes> to [Mechanics]
in mIRCd.ini. This only applies to modes without args, and defaults to +nt if not specified.
9. Can now specify the default modes for users when they connect to the IRCd by adding DEFAULT_USERMODES=<modes> to
[Mechanics] in the mIRCd.ini. (With some exceptions, like +o or +X.)
10. /CLEARMODE now removes +c.
11. Updated mIRCd_modeParse.mrc to tell the user if a channel mode doesn't exist. (Already existed for user modes.)
This should allow users to remove modes they don't want parsing from $mIRCd.chanModes and $mIRCd.userModes.
12. Can now specify if you want Halfop (%) support enabled by adding HALFOP=TRUE or HALFOP=FALSE to [Features] in the mIRCd.ini.
Defaults to FALSE.
13. Can now specify if you want Persistant Channel support (+P) by adding PERSISTANT_CHANNELS=TRUE or PERSISTANT_CHANNELS=FALSE
to [Features] in mIRCd.ini. Defaults to FALSE.
14. Can now specify if you want Oper Override support enabled (+X) by adding OPER_OVERRIDE=TRUE or OPER_OVERRIDE=FALSE to
[Features] in mIRCd.ini. Defaults to FALSE.
15. Added an option to allow loose obfuscation of hosts when a user +x. What this means that whenever people on the same
ip addresses do +x, each of their hosts will be different rather than the same.
This can be enabled by adding LOOSE_OBFUSCATION=TRUE to [Features] in the mIRCd.ini.
16. Added channel mode +u to hide part/quit messages from other users.
17. Added chan mode +j <N>. This prevents users who have been connected to the IRCd for less than N second(s) from joining.
18. Added in /PRIVMSG $* and /NOTICE $* support, however, this is not without it's issues due to mIRC and $ being a
special case.
On an ircu IRCd, you can /msg $*,$*.tld,$nameOfSer*,nick and it will message all of those.
However, with this, it only does the first, everything after the $* will be dropped.
E.g. $*,nick will only message $* and completely skip the nick.
This isn't an issue when you're not an oper though, it'll still process normally.
19. This means that GNOTICE has been deprecated. However, it has been retained in the codebase as a backup. (Though not callable.)
20. Updated the code that the connection goes through a little faster if ident/dns is finished with.
21. Can now call the information window (@mIRCd) from the Menubar.
22. Updated WHO.help and WHO_FLAGS.help to explain what flags are.
23. Other minor changes. (debugUser.mrc, example K-lines, other help files, etc.)
sha256 checksums included in zip file.
*.zip sha512: 8b40073860886c0a72a543bce38fa78c05e4e8d9771308502a5feb4085aa75712e3af656a177a74dc9d094e57479ca5a54a77fe68443b344ade5a9adae022846
mIRCd[0.09hf5(Rev.2)][2021-2023]
1. You can now limit the amount of users on the IRCd by using MAX_USERS=<number> under [Server] in the mIRCd.ini.
Those connecting via localhost (127.*) and LAN (192.168.*) are not subject to this restriction.
2. You can now deny external connections to the IRCd by using DENY_EXTERNAL_CONNECTIONS=TRUE under [Mechanics] in the mIRCd.ini.
Those connecting via localhost (127.*) and LAN (192.168.*) are not subject to this restriction.
3. Fixed a bugs regarding oper override:
* Opers can now /INVITE, /KICK, change /MODEs and the /TOPIC when not on the channel.
* Since I apparently forgot to code it in two years ago, opers can now walk past +i, +k, etc.
4. Oper override now trumps +K and +Y. (Though since they could just past the modes, why would they need to use /KNOCK?)
5. Fixed a bug in KNOCK where I specified %this.nick instead of %this.knock, meaning the channel name didn't show.
6. Users should now at least see the server notice when DIE and RESTART are issued.
7. WHOWAS cache cleaning will start on the next hour from when you started the IRCd.
E.g. If, for example, you start the IRCd at 21:47, the cleaning timer will start at 22:00.
8. Added /WHO. (WHOX)
I'm not going to lie, there are a couple of bugs with it. For example, a channel that's not +s and a user who is +i,
the user who is +i is on the channel and you do /WHO #chan,user. You will get no results even though you should for the nick.
But if you do /WHO user,#chan you'll see the user. (You can /WHO on +i users if you know their nick.)
This is my own fault with the way I've coded it. But rather than chase down even more bugs - I've spent two
solid days on this already - I've decided to just okay it for now and I'll eventually try and redo it at some point
in time.
Other than that, everything else works as it should. /WHO #chan,nick, /WHO * r :*, /WHO * %nr, etc.
9. You can throttle the use of WHO by adding WHO_THROTTLE=<number> under [Mechanics] in the mIRCd.
10. Other major and minor bug fixes/tweaks.
sha256 checksums included in zip file.
*.zip sha512: 909430164cac833072f2b35caefd1c04b4f4e40730e820a5adae2ad4c239045362ef1e317766d6fc1e34964661fee68be2a55a77e8be53b738877d0c734c6232
mIRCd[0.09hf4(Rev.2)][2021-2023]
1. Updated debugUser.mrc to use /debugUser.raw instead of: sockwrite -nt $sockname
2. I decided to add the mode to block colors (+c) on channels. Bold, underline, etc. will still work.
Just like the polarity of +p/+s, this cannot be set in conjunction with +S.
3. Ditto, but for usermode.
4. Added a channel mode to hide the modes set on a channel from appearing in /LIST. (+H)
5. Updated CHANMODES.help and USERMODES.help to clarify a few things better.
6. Added /WHOWAS.
7. Other minor changes.
sha256 checksums included in zip file.
*.zip sha512: 7cbce595a923ebc20b44452d8644de640e4ce3e9c475b30407b967101c71521b280559239ff3a41ae279844de2e64d3bf93eed59985527a55268e0a2b867eaec
mIRCd[0.09hf3(Rev.2)][2021]
I thought I noticed a bug, but I was apparently mistaken. However it did give me an excuse to correct two very minor things.
1. /LIST STOP cannot be used if connected on the IRCd for < CONNECTED_LIST_THROTTLE.
2. Minor string correction(s).
sha256 checksums included in zip file.
.zip sha512: 19eab7513aa3136a59f97a477c4fa724edab4d3abc07551b4a666f5750af92676fe7af4fa4eb598dbd6b3fec7266dfb560d6e5d775c3bf14c0a96017b6d8c0b6
mIRCd[0.09(Rev.2)][2021] hotfix2
Minor things I changed at the start of the year.
* Fixed a typo in mIRCd.mrc
* Corrected the final line in SNOMASK.help
* Added root to nicks.403
* Corrected (not -i or -k) to (not set as +i or +k) in KNOCK.help
* Updated example K-lines
* Updated CHANMODES.help and USERMODES.help to clarify a couple of things better
* Removed some unused code from mIRCd_connHandle.mrc
sha512 (.zip): f3162c43f25eff56b0179f6d466c81400d5f9f2e943c475218906724be6325f98f674fb44db9d07340c7d2b9155d3025171e6ee0acf42f21955a5c6228fb1ef9
mIRCd[0.09(Rev.2)][2021]
0.09.Rev.2.2021 Delete .gitkeep