Page 1 of 1

Unreal TNG prototype public

Posted: Thu Sep 07, 2006 10:57 am
by Stskeeps
If it passed anyone by, beside the Unreal3 branch, we're also working on a total recode of Unreal, to make it more suited for the future (or whatever you might call it.).

Some of the new things in Unreal4 is that we are 1) coding it in C++, 2) all modules are in a specific C++ syntax extension that makes module coding a lot easier, 3) intend for the entire ircd except for a small module loader, to be modular - so you can add and remove features at runtime. This means, add and remove things like "color stripping" without having to update and recompile several modules, but just unload the ColorStripping module. This should also put any arguments that Unreal is bloat, to the ground, since it can be stripped down to whatever you want it to ;) - also allow for upgrading the IRCd on the fly. 4) Making UnrealIRCd BSD-licensed so we won't have problems with releasing SSL binaries/to allow people to make custom modules with commercial licenses/problems with general GPL craziness like "release your code if your server provides something on the internet".. and frankly, so people can understand the license and know what it stands for. Also, that we open a lot more to the extension of features to Unreal.

Currently the prototype, well, doesn't do that much besides set up listeners, and be able to maintain streams - and have a working module language, but if anyone is interested in how we're planning to do it, please look at , and hang out in #unreal-devel on if you might be interested in joining this effort.


Posted: Thu Sep 07, 2006 2:03 pm
by Ron2K
Very interesting. I would consider helping out but I've only been learning C++ for a few weeks.

The future of UnrealIRCd definitely looks good.

Posted: Thu Sep 07, 2006 4:41 pm
by aegis
This is a very interesting approach you're taking, Stskeeps, and I agree that it *will* put to rest any argument of unreal being bloated. I admit, I was originally weary of the idea, of a C++ Unreal, however I too have laid to rest that stereotypical attitude.

The full modularity of an ircd would benefit all who used it; would allow for nearly complete (if not complete) flexibility. The ability to make changes and update on the fly is an extreme approach that is very well worth the time invested.

I also agree with changing to the BSD license. It will rememedy past problems as you stated in this post, and I look forward to seeing how all of this turns out.

As always, Stskeeps, great job!

Posted: Tue Oct 03, 2006 8:24 pm
by McTerry
I really like this idea. I also think this would be a good thing. :D

Posted: Tue Oct 10, 2006 11:56 am
by Syzop
Just for the record, some things that Unreal4* will have (and where people are getting excited about) are already being done in Unreal33*. An example of this is modulizing of channelmodes. In Unreal3.3* we will modulize nearly all channelmodes (except rfc ones), such as +S (like the color striping mentioned by sts), +G, +f, etc... Some are already modulized in our dev. tree (like +f). And we'll continue to modulize a lot more (things other than chanmodes).

The aim for Unreal4*, though, is to be near-100% modulized and because it's written from scratch (and in C++) it should be much cleaner code.
Whereas Unreal3.3*'s aim (modulizing-wise) is to use our current work (3.2*) and just continue modulizing things more and more. Also recoding existing subsystems of course, and code cleanups, etc.. but just to say modulizing is one of our main aims for 3.3*.

So, we are really working on both series ;).

Posted: Thu Oct 12, 2006 9:01 pm
by McTerry
Wow. Intresting.

The only thing I currently miss is a function to merge channels. :D
Other that that it's working really good. :D

UnrealIRCd was the second daemon I tested but it will always be the number one. ;)

Good luck guys!