It really would be easiest to do the 1 program, 2 ports thing, and just hide
the users from each other.

If you really want 2 programs, one option is to store all world information
in an external database management system; that way, you could keep the data
separate from the game, and both games can access that data.
This could simplify your protocol between the two programs.

----- Original Message ----- 
From: "Jed Yang" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, September 03, 2003 11:10 PM
Subject: Re: Snippet/Walkthrough for making a mud listen on multiple ports .


> I am not using a ROM mud, but I started with it.
> The current mud that I am working on, I also used polling for connections.
> (You could not really call mine a mud yet since you could not do anything
on
> it.)
> When I wanted to open a different port, the simple way of doing it as
> Simmons described occured to me, and it does not seem hard.
> But I have one question.
> If I do it this way, it is basically one program running listening on two
> ports.
> This is NOT what I want.
> If I open the mud twice on different ports, then it will be two programs
> running,
> that will cause my users on the two different ports non-interactive.
> What I want is two programs running yet able to communicate.
> One way I thought of is making the two programs connect to each other
using
> peer to peer (or just server-client) TCP/IP connection on the local
machine.
> Yet this will restrain my communications to be only of text. (Or maybe
not?)
> If, for instance, I want all the wiz to only get wiz power on the
wiz-port,
> yet able to talk to other regular players, it seems easy to just craft up
a
> small protocol and do it. But if I want to alter user information,
> dynamically alter rooms, mobs, and objects, it would seems like I need to
> write a LOT of code on both sides, one saying (of course in less verbose
> sense) "I will change room vnum 387 exit 3 from whatever to room 386". And
> this side that actually have the rooms is memory will answer "Sorry room
386
> not found" and the wiz-side will send a note to the mistaken wiz. If I
were
> to let the wiz move around, I would have to do every single thing like
this.
> Or another alternative is to send "Htam slay foo" from wiz-side to the
> normal-side, and let the normal-side do interp( get_char("Htam"), "slay
> foo", TRUE/*indicating having wiz power*/ ) or whatever ROM is using (I
kind
> of forgot.) This will just cause the wiz-side to be a intermediate tunnel.
> This is totally functional, but also totally useless, since the marking of
> power can easily be done by setting a flag when accept()'ing the different
> ports.
> So having thrown out some solutions that I am not looking for, I hope to
get
> some feedback of other ways of doing this.
> As a final note, I will expose my reason of doing this. I am a Taiwanese
and
> some of my friends only speak English and some only speak Chinese (ya, ya,
> they should learn English,) so my mud is a bilingual mud. Every time I
sent
> them a message (from the system, not a `tell'), I will check for what
> language they opted for and send them that version. (With a single
function
> call like, bprintf( vch, "%s english message here.\n\r", "%s chinese
message
> here.\n\r", ch->name ), which will do the check everytime.) Now I want to
> just simply make my mud compile into English only or Chinese only by a
> single macro at the top, and then I will have two versions that does not
> perform this check every single send_to_char's, but now if I run one on
port
> 2300 another on 2301, they will obviously be two seperate worlds. I hope
to
> make them walk on the same soil. Just a crazy thought.
> Any ideas are welcome.
>
> Htam
>
> ----- Original Message ----- 
> From: "Chad Simmons" <[EMAIL PROTECTED]>
> To: "Jason Gauthier" <[EMAIL PROTECTED]>
> Cc: <[email protected]>
> Sent: Tuesday, September 02, 2003 5:02 PM
> Subject: RE: Snippet/Walkthrough for making a mud listen on multiple ports
.
>
>
> >
> > --- Jason Gauthier <[EMAIL PROTECTED]> wrote:
> > > I have a good grasp of network programming (Have written several of my
> own
> > > cross platform mini web-servers, in fact).
> > >
> > > I was looking to save myself from inventing the wheel, actually.
> > > I found a web server snippet from somewhere and ganked the stuff I
> needed.
> >
> >
> > So, having written your own web servers, you didn't realize that all you
> needed
> > to do was bind to another sockaddr, listen on the socket, and add the
file
> > descriptor to your incoming fd_set? Seems fairly trivial to me.
> >
> > Or were you asking specifically about getting the mud to respond to the
> http
> > protocol?
> >
> >
> > ~Kender
> >
> > =====
> > -----BEGIN GEEK CODE BLOCK-----
> > Version 3.1
> > GCS/L/C/O d-(+) s++: a-- C+++$>++++ UBLS++++$
> > P+++(--)$ L+++>++++ E--- W+>++$ N !o K? w(--) !O
> > M- !V PS+ PE(++) Y+ PGP->+ t+ 5 X+() R(+) tv+@
> > b++(+++) !DI+++ D G(-) e>+++$ h---() r+++ y+++
> > ------END GEEK CODE BLOCK------
> >
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! SiteBuilder - Free, easy-to-use web site design software
> > http://sitebuilder.yahoo.com
> >
> > -- 
> > ROM mailing list
> > [email protected]
> > http://www.rom.org/cgi-bin/mailman/listinfo/rom
> >
>
>
> -- 
> ROM mailing list
> [email protected]
> http://www.rom.org/cgi-bin/mailman/listinfo/rom


Reply via email to