ideas for building a chat server


Results 1 to 15 of 15

Thread: ideas for building a chat server

  1. #1
    Join Date
    Dec 2002
    Location
    Right where I am
    Posts
    904

    ideas for building a chat server

    I and a friend are building a chat server just for fun and I want some suggestions on what you all would like to see in a chat server. So far it is being patterned loosely after IRC. Here are a few of my ideas and I am coming up with more by the minute but I would appreciate your input as well.

    Anonymous and Registered users
    You can logon and user the server by just choosing a nick if it is not in use. You can also register your nick so others cannot use it

    Banning system
    This is a no brainer. However I would like to implement different levels of bans. room level and server level

    Error return codes
    Server sends out a number when there is an issue, such as trying to join with a nick already in use. Numbers are specific to the issue, and the user never has to see them if the client program handles it silently

    Server stats
    how many people are on, average people per room, number or registered/unregistered users online, all that good stuff

    Dynamic and persistent rooms
    A room can be created simply by joining it, but it is destroyed with the last user leave is. Persistent rooms have to be setup by the server but do not get destroyed

    User levels
    User levels per room and server. Probably 3 level. user, room admin, server admin

    File transfers
    Just what it says

    Private messages
    To a user directly instead of in a room

    Global notices
    Sent to all users on the server. Client program can choose how they want to show this. It would look just like an error return code, but be an informational code.

    I am sure more ideas will keep coming to me. These I got in about 5 minutes. What do you in the community want to see? If we get this designed tight and working awesome we will make an opensource sourceforge project out of it too!
    -------------------------------------
    blobaugh
    lobaugh.net


    All you ever need to know about Samba at O'Reillys (Online book)
    DSL Linux in your pocket.
    Need help choosing a distro? Distro Chooser
    My Screenies
    Table of Windows equivalent software on Linux
    Linux Games from Windows

  2. #2
    Join Date
    Feb 2004
    Location
    Singapore
    Posts
    2,171
    I personally think its too similar to IRC that you should not waste the effort to make it (unless you are practicing programming, and if you are doing that, please keep it private)
    Come under the reign of the Idiot King...
    Come to me ... I love linux!

    Registered Linux user: Idiot King #350544

  3. #3
    Join Date
    Jul 2002
    Location
    San Diego, CA
    Posts
    505
    Quote Originally Posted by XiaoKJ
    (unless you are practicing programming, and if you are doing that, please keep it private)
    That doesnt sound like it captures the spirit of open source software to me
    Join the JustLinux irc chat | irc.freenode.net | #linuxn00b
    San Diego Web Development | Used Computers for Sale

    Slackware Linux | Gentoo Linux | Debian GNU/Linux
    Registerd Linux User #313504

  4. #4
    Join Date
    Feb 2004
    Location
    Singapore
    Posts
    2,171
    Many projects with minute differences will only go out to hurt the open source community.

    If he really wanted to help, he can submit patches to the main IRC project. Forking is expensive and should only be done when there really is a need, and the patches are rejected by the main branch... yadayada
    Come under the reign of the Idiot King...
    Come to me ... I love linux!

    Registered Linux user: Idiot King #350544

  5. #5
    Join Date
    Jul 2002
    Location
    San Diego, CA
    Posts
    505
    Opposed to making an alternative to irc? For all you know, what he wants to make could replace irc in 20 years. And you can't really say that it would take (potential)developers away from irc. If they contribute to an irc-alternative, they probably didnt want to contribute to irc itself
    Join the JustLinux irc chat | irc.freenode.net | #linuxn00b
    San Diego Web Development | Used Computers for Sale

    Slackware Linux | Gentoo Linux | Debian GNU/Linux
    Registerd Linux User #313504

  6. #6
    Join Date
    Feb 2004
    Location
    Singapore
    Posts
    2,171
    Quote Originally Posted by Darkbolt
    If they contribute to an irc-alternative, they probably didnt want to contribute to irc itself
    Thats the bad part...

    Don't get me wrong --- I'll accept egcc any day, and that clone of samba in modular terms, but unless there is incompatible upgrades, there shouldn't be a fork.

    The open source community is actually at risk of excessive forking. Remember that strength comes in unity and not segregation. (though creativity and survival usually comes with diversification...)
    In the coming world where the proprietary computing people are joining in to eliminate the F/LOSS, we mustn't consider forking too hastily.
    Come under the reign of the Idiot King...
    Come to me ... I love linux!

    Registered Linux user: Idiot King #350544

  7. #7
    Join Date
    Dec 2002
    Location
    Right where I am
    Posts
    904
    XiaoKJ please stick to the subject of the thread. Hopefully you didn't kill it and make other users not want to read it and respond. There is nothing wrong with building a chat server at all. Even it if is loosely patterned after IRC as I stated before. I use IRC everyday, infact I am almost never off IRC and I will continue to use it. However this project is just for fun. Is there anything wrong with that? Besides, if no one ever build anything that has already been created then nothing better would ever get created. I am not in the least trying to compete with IRC. I and a friend just want to use this as a learning project. If it comes out nice then why should I not make it open source and share it? That is what the community is all about. So please either give suggestions or say nothing. And as Darkbolt says, in 20 this could become big and *gasp* maybe people will prefer it over IRC
    -------------------------------------
    blobaugh
    lobaugh.net


    All you ever need to know about Samba at O'Reillys (Online book)
    DSL Linux in your pocket.
    Need help choosing a distro? Distro Chooser
    My Screenies
    Table of Windows equivalent software on Linux
    Linux Games from Windows

  8. #8
    Join Date
    Jun 2003
    Location
    Burlington, ON (near Toronto)
    Posts
    630
    Quote Originally Posted by XiaoKJ
    Many projects with minute differences will only go out to hurt the open source community.

    If he really wanted to help, he can submit patches to the main IRC project. Forking is expensive and should only be done when there really is a need, and the patches are rejected by the main branch... yadayada
    I concur! Enthusiastically concur even. Too many chiefs, not enough indians.

    Wanna learn how to program by creating a simple app? Spiffy. Wanna ask a pile of people on forums who use software that does exactly what you propose to do with your software what you should do with your project for fun? We don't care.
    Last edited by ions; 01-10-2007 at 05:46 PM.

  9. #9
    Join Date
    Mar 2005
    Posts
    183
    I agree with XiaoKJ and ions. The very first question you need to ask yourself before beginning any programming project is, "What is the problem I'm trying to solve here?" This problem needs to be clearly stated and understood, so you actually know where you going with it. The problem here seems to be 'have a little fun' which doesn't sound to convincing to me.

    The second question, "Can this be accomplished without custom software?"...

    Why reinvent the wheel?

  10. #10
    Join Date
    Oct 2002
    Location
    Republic of Texas
    Posts
    5,909
    I don't think he's setting out to solve any particular problem, but rather looking for input for a programming project he's interested in starting. Nothing wrong with that....
    It's kinda like an assignment I had in a java class a few years back: Make a chat server and client using sockets. It was fun, and that's probably all blobaugh is proposing. (well, except the java part )
    Need help in realtime? Visit us at #linuxnewbie on irc.libera.chat

    Few of us will do as much for our fellow man as he has done.
    --Andrew Morton on RMS

  11. #11
    Join Date
    Dec 2002
    Location
    Right where I am
    Posts
    904
    je_fro right you are. and actually it is in java . Though I am not in a java class. Already took it. My friend is though so he should learn a lot when we build it
    -------------------------------------
    blobaugh
    lobaugh.net


    All you ever need to know about Samba at O'Reillys (Online book)
    DSL Linux in your pocket.
    Need help choosing a distro? Distro Chooser
    My Screenies
    Table of Windows equivalent software on Linux
    Linux Games from Windows

  12. #12
    Join Date
    Jul 2001
    Location
    Fife, Scotland
    Posts
    1,794
    I say go for it! There can never be enough programmers in the Open Source world! Surely the laws of "Natural Selection" apply to Open Source software as well? Only the best carry on...

    Anyway, to keep your thread on track: I use Kopete for MSN, Yahoo! and ICQ, and Iuse GPG encryption for all of these for users wherever I have their key. Could you throw something like that into your project? PM with encryption? Don't think anyone has done that yet...

    Also, all e-mail I send out is digitally signed with my key to prove who I am, so could you use GPG to authenticate transmissions from users to prevent abuse?

    I don't really use IRC since I'm not usually online (on leave at the moment, so I'm squatting on here!) so I may to talking totally big, hairy, juddering b******s, but I don't care. I'm not a programmer (yet!).

    Anyway, good luck with the project!

    James
    -----------------------------
    UseLinux.net
    -----------------------------

    perl -e 'use Math::Complex;$|=1;for$r(0..24){for$c (0..79){$C=cplx(($c/20.0)-3.0,-($r/12.0)+1.0);$Z= cplx(0,0);for($i=0;($i<80)&&(abs($Z)<2.0);$i++){$Z =$Z*$Z+$C;}print$i>=80?"*":" ";}print"\n";}'

  13. #13
    Join Date
    Oct 2002
    Location
    Republic of Texas
    Posts
    5,909
    that's a cool idea to encrypt everybody's communications with their gpg keys!
    Need help in realtime? Visit us at #linuxnewbie on irc.libera.chat

    Few of us will do as much for our fellow man as he has done.
    --Andrew Morton on RMS

  14. #14
    Join Date
    Dec 2002
    Location
    Right where I am
    Posts
    904
    hmm. actually i thought about encrytion earlier today. i think i may try to implement an encrypted connection to the server itself. adding a gpg on a per user basis to let other users know they are who they say is a good idea too
    -------------------------------------
    blobaugh
    lobaugh.net


    All you ever need to know about Samba at O'Reillys (Online book)
    DSL Linux in your pocket.
    Need help choosing a distro? Distro Chooser
    My Screenies
    Table of Windows equivalent software on Linux
    Linux Games from Windows

  15. #15
    Join Date
    Feb 2004
    Location
    Singapore
    Posts
    2,171
    Actually I also said that learning projects are fine for me.... Sorry for the derailment... (I just didn't think it would keep lengthening...)

    Since you are using Java, don't forget to exploit the full set of OOP, and make sure every non-trivial part is separate as a module.

    If I were you, I'll start from the IRC sources and see if I can re-implement it such that generic chat clients like Kopete will get fooled into thinking its IRC.
    Come under the reign of the Idiot King...
    Come to me ... I love linux!

    Registered Linux user: Idiot King #350544

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •