VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



pureIRCd, a native win32 Internet relay Chat daemon() Networkable

by Dennis Fisch (5 Submissions)
Category: Internet/HTML
Compatability: Visual Basic 5.0
Difficulty: Advanced
Date Added: Wed 3rd February 2021
Rating: (13 Votes)

13th update:
Okay, *everything* has changed. The IRCd will use a main RecieveQueue now which will process messages in the order it recieved them.
No longer playing around with the useless Winsock control, it was way too unreliable for use in these dimensions, im utilizing the Winsock API directly now. I have made changes, corrections, bug fixes to all the code but still it didnt run fast enough in any stresstest i put it under, so i completely rewrote this program after i looked at the structure that other IRCd's (Unreal, bahamut, hybrid and so on) are built on and thought: "Hey! why didnt you come up with stuff like that?" conclusion:
I dont quite see many ways to improve speed alot anymore.
This IRCd supports everything a standard IRCd should be able to do.
It reads from a standard ircd.conf file and also caches the ircd.motd file. (message of the day)
Complete networking support has been written into this. I'm not sure if it will be able to form a network with unreal IRCd's though, dont think it'd work.
And now the results of an stresstest:
2400 Users connected (clones of course :D)
6 channels, 400 users on each.
One channel being flooded by 400 clients (localhost client's can generate a HUGE flood)
of course this was stopped by channelmode +m but usually this would swamp the IRCd in such a flood of messages that it either goes down or cannot process anything else until the flood stops. now, if the clients (every single one of them got a message back that they couldnt speak of course, generating a flood back) would have been on another machine the server would have been easily able to handle the load. The cliens consumed about 80% of the cpu...
what it all comes down to is the fact that this is the MOST STABLE and FASTEST IRCd for Visual Basic, and noone should come up to me and babble about C/C++ being faster. I know that. eof
The purpose of this post is to have the means for developing an IRC Server.
The difference between this server and a few others is, that this server is written in Visual Basic, and not in C, making the source code easier to maintain. Also it will not take very long to implement new features since Visual Basic allows for quite rapid development. The main goal is to get an IRC Server out of this that is fully compatible with IRCd's like Unreal, Bahamut and Hybrid, though yet, networking support isnt completed. Right now, this is the fastest and most efficient IRCd for Win32 written in Visual Basic. I'd also encourage everyone to check on https://sf.net/projects/pure-ircd for updates as i use that
site for all development now. Have a nice day and enjoy the chatting.

Inputs
runs as a daemon (background task), only need to setup a conf file and maybe a motd file.
Assumes
Must have knowledge about IRC and should be able to use mIRC.
Side Effects
Networks might be out of synch sometimes.
API Declarations
Winsock API, DNS API, Timer API

Rate pureIRCd, a native win32 Internet relay Chat daemon() Networkable

Upload

Download this snippet    Add to My Saved Code

pureIRCd, a native win32 Internet relay Chat daemon() Networkable Comments

No comments have been posted about pureIRCd, a native win32 Internet relay Chat daemon() Networkable. Why not be the first to post a comment about pureIRCd, a native win32 Internet relay Chat daemon() Networkable.

Post your comment

Subject:
Message:
0/1000 characters