Hello and welcome to YaC-P (Yet Another Chat Program), pronouced 'Yack Pee'. Although there is a veritable cornucopia of chat programs already availiable, I felt this would be a good project for me to learn more about AutoIt and TCP. It has been an excellent, although mostly frustrating, journey and there seems to be no end in sight.
YaC-P is a direct descendant of erifash's AU3 Chat program.
Some features of YaC-P:
- Unlimited number of users
- Logging of all type of server events
- Logging of all chat events
- Remote Admin login
- Kick a user from the Admin client
- Ban a user from the Admin client
- Environment settings stored on the server and sent to the client
- A seksi GUI :)
- PM's popup in a seperate window
- File transfer
- Keep more settings on the server, not the client
- Secure, to the best of my ability, the client/server connection
Remote admin loginDone!
- Display user name in color on user list
- Ability to minimize client to the system tray
- Scale the client GUI based upon the max number of connections allowed
- Un-ugly the code. Although I wish it were true, I have never been accused of writing 'elegant' code. I would love to be able to do this someday and will take any help I can get
- A full accounting of credit given where credit is due. I have snagged more then my fair share of code from this forum and would like to give credit to those who deserve it. If you recognize some of your code please, let me know
A sexy GUIDone!
- One warning is generated when beta compiling the client. The client still runs fine, but this is annoying
- Client/server communication is *NOT* secure. It is probably possible for someone to 'spoof' the server
- Sometimes the client list is not passed to a newly connecting client. I have only done testing on my local loopback. As this only happens when many clients are connected, I suspect the problem may be TCP events firing to quickly for the client/server to keep up
- Variables/functions follow no type of naming convention since I have never been taught one. Any good pointers out there...?
There should be no reason this will not work over the Internet. Ensure you have forwarded whatever port you selected to use. Consult the documentation for your router/firewall to find out how to forward ports. Also, ensure your users are connecting to the correct IP/port.
Changelog - Beta 1.0
- Removed the server GUI. I am hoping this will help speed up the server.
- Added a configuration .ini file to the server.
- Added an Admin client.
- Made the Admin client and User client look good.
- Changed how the client GUI's were built and displayed.
Previous number of downloads: 42
Edited by Snarg, 06 December 2006 - 09:18 AM.