I mean, I know it can be done, but … wow.
I’m writing a MUD from scratch. I started out by writing a client (really more of a middleman between the user’s client and the server) and server, so that when one connects to my computer, the “middleman” automatically starts, and it handles all the screen drawing, using the ncurses library. That is, it gets data one character at a time, refreshes the screen, sends it to the server when the user hits enter, and accepts data from the server, and draws it on the screen. This is not what I want.
What I want is to let the user’s telnet client handle all the grunt work, and let the server just worry about sending and receiving messages (and, of course, doing the behind-scenes MUD stuff). It seems like I’ll have to rewrite the server to accept telnet connections. No problem, I thought. Went to groups.google.com and looked around for a while. People kept saying, “Look at the RFC.” So I did.
Oh my god. Looking at it was about all I could do. Whatever language it’s in, my brain couldn’t even see. My eyes kept bouncing off the page.
My questions for you, erudite and generous dopers, are:
Is there another way to solve my problem? Say, by accepting telnet logins via the already-installed telnet daemon (this is RedHat 9, if it makes a difference) and (writing and) running a program that will just pass messages back and forth between the telnet connection and my server? Similar to the setup I have now, but removing any screen-writing functions from the “middleman” program.
If I must configure the server to be directly connected to a telnet connection, … uh, how? Any references to which you can point me? I’m not even sure what to search for. I guess the source for a telnet server, or maybe another MUD server.
I’m familiar, though not exceedingly proficient with, socket programming, which is what I was using for client/server communication up to this point. If you’d like to email me directly, that would certainly be welcome.
Uh, that’s about it, I guess. Thanks for any help you can give.