LPMuds.net

LPMuds.net Forums => Intermud => Topic started by: Tricky on October 24, 2006, 08:41:25 pm

Title: I4
Post by: Tricky on October 24, 2006, 08:41:25 pm
You may have heard things about it. Many are myths, many are rumours... I say it is needed. I3 or Intermud-3 has been in "develeopment" since 1997, what is needed is a well adjusted boot up the back-side of the protocol. That is where I4 or Intermud-4 comes in.







These are just some of the things that could be possible.



Ask yourself why messenging systems such as AIM, Yahoo, MSN, ICQ and others are all so popular. Then ask yourself why I3 isn't.



Use this thread as your personal want list.



Tricky
Title: I4
Post by: cratylus on October 24, 2006, 09:23:29 pm
in-band mail

-Crat

http://dead-souls.net

Title: I4
Post by: detah on October 24, 2006, 11:16:50 pm
An iwho command, which lets you a) add users to a friends list. Then b)  when you type iwho, it lists who is on from that friends list.
Title: I4
Post by: cratylus on October 25, 2006, 08:05:11 am
decentralized topology

-Crat

http://dead-souls.net

Title: I4
Post by: Tricky on October 25, 2006, 04:07:43 pm
Induvidual user bans as opposed to mudwide bans.
Title: I4
Post by: daelaskai on October 25, 2006, 08:44:19 pm
I think it is important to keep in mind that I3 and I4 serve a specific Community. Kinda unfair to even compare them to AIM or the other IMs out there. The latter are popular on a scale that I4 can never hope to achieve. But hey, I use it, so it is certainly a worthwhile project.



What I would like to see is more information about other members and more ability to control contact. A good contacts list with the abiliity to easily add info would help as the numbers of users grows.



For example I would like to be able to see who accesses a specific Channel over a long period of time. If full logs are made available then condensed information of this type should be no problem.



Multiple groups need to be able to coexist smoothly.





A.T

(-)

Contest Judge

2006 Dead Souls LPC Coding Competition




The Ultimate Galaxy I

Telnet 69.25.180.47:6666

Status: Alpha, playtesters welcome

TUG Forum: http://www.crazybri.com/crazyforums/viewforum.php?f=55
Title: Re: I4
Post by: amylase on December 14, 2006, 11:08:44 am
I guess I have one ambitious and one unambitious wish to add:

Ambitious wish:
Have I4 communicate with other clients eg. MSN, Yahoo, ICQ, IRC.

Unambitious wish:
Just a date and time stamp after each message would be good. Prevents people like me replying to "good morning" 12 hours later.
Title: Re: I4
Post by: Tricky on December 14, 2006, 01:27:17 pm
Ambitious wish:
Have I4 communicate with other clients eg. MSN, Yahoo, ICQ, IRC.

IRC - No problem.
Others - I don't know if that is possible.

Unambitious wish:
Just a date and time stamp after each message would be good. Prevents people like me replying to "good morning" 12 hours later.

That is a client issue. Whenever it outputs a message you just need to prepend (or append depending on how you want it) a timestamp...

I use
Code: [Select]
ctime(time())[11..18]which just prints out the time.

Tricky
Title: Re: I4
Post by: amylase on December 26, 2006, 07:08:08 am
Thanks tricky.

Which file should I insert ctime(time())[11..18] into? I had a quick look around and could not find it easily.
Title: Re: I4
Post by: Tricky on December 26, 2006, 11:35:59 am
You need to look in /secure/daemon/chat.c line 411 onwards (in DS 2.1.1) which is eventSendChannel

Because of the way it has been written, you will have to make two changes.

Insert between line 466 and line 467 this bit of code...

msg += " (" + ctime(time())[11..18] + ")";

Then add the above bit of code on line 536.

That will place something like (17:35:59) on the end of the message.

Tricky
Title: Re: I4
Post by: amylase on December 26, 2006, 08:37:56 pm
Oh excellent. It works. Thanks.

Had a bit of difficulty counting lines using Window's notepad / word. Found this neat little editor Notepad++  (http://notepad-plus.sourceforge.net) which did the trick.
Title: Re: I4
Post by: Emraef on January 10, 2007, 09:03:48 am
There are API's out there for some of the other chat clients you just have to look around.  I know some people who put AIM in a game they were working on so they could chat while testing.
Title: Re: I4
Post by: silenus on July 02, 2007, 06:28:32 am
How has this project been moving along? I would love to try implementing an updated I4 daemon for dgd with the network patch.
 



 
Title: Re: I4
Post by: Tricky on July 02, 2007, 02:41:03 pm
Every so often I tinker with the router code (based on Tim and Cratylus' work) and as I do I come across a new problem. I have a basic framework, I just need to insert the server communications bit. I worked a bit with implementing OOB into the LPUniLib and now I know how to write a server that works. Although that threw another problem up like the maximum network transfer size (looks like 10,000 bytes or so).

I'm slowly getting there. :)

This is what I had done before putting it on the back-burner for a bit...

http://ebspso.dnsalias.org/i3router-wip/ (http://ebspso.dnsalias.org/i3router-wip/)

The socket daemon code there is probably out of date. I'll get around to updating that directory in a few days time.

Tricky
Title: Re: I4
Post by: Tyche on July 07, 2007, 01:28:39 am
decentralized topology

Bingo. 
Title: Re: I4
Post by: Tricky on July 14, 2007, 08:02:49 am
The original router specs in the I3 protocol (http://mud.stack.nl/intermud/intermud3.html) describes a decentralized topology but using a fully closed mesh (all routers connected to each other). I'm looking to set up a topology that uses an open mesh (each router only connected to one or more other routers). This should cut down on the amount of router to router traffic that is sent on broadcasts.

Tricky
Title: Re: I4
Post by: shadyman on May 28, 2009, 10:13:13 pm
Futureproofing.

Allow it to accept new "modules" like I3 does.

I know back with Zebedee mud, there was a big community built around making commands for the intermud. There were things like FTP, BBS, etc., all of which were not part of the original specification.
Title: Re: I4
Post by: Aidil on May 29, 2009, 04:07:52 pm
This can be done without changing the i3 protocol for as far as muds are concerned, it can completely be solved by changes to the irn protocol and extending the 'network layout' bit of the current i3 spec.

While the current irn network is a fully connected network like the i3 spec suggests, the actual implementation esp. with regards to mudlist/channel data has little to do with the old i3 spec.
In the irn spec as it is used by *i4 etc (http://mud.wotf.org/i3/irn/v1/),  the current router a mud is connected to is said to be authoritive for that mud. This concept should be extended somewhat to allow groups of routers to share authentication data for a mud, and share responsibility for the data for that mud.

Beyond that, a seen-by array is needed in all irn packets, as is a packetid (router name + timestamp). ttl values need to be properly decreased and checked, and a route discovery protocol has to be defined.

But none of this has to affect i3 clients.

I believe some changes to the i3 protocol are desirable, but those mostly concern mudlist and chanlist synchronisation, adding channel descriptions (and possibly other properties) and allowing multiple destinations for a single packet.



Title: Re: I4
Post by: quixadhal on May 29, 2009, 06:19:14 pm
Making the protocol plain-text, rather than the obscure mixture of LPC variable dumps + binary packet sizes, might go a ways towards making it simpler to implement, especially for non-LPC platforms.  Wouldn't it be nice to have ALL muds able to easily talk to one another?
Title: Re: I4
Post by: Aidil on May 29, 2009, 06:32:19 pm
Supporting a plain text variation isn't very difficult (and pretty similar to what Cratylus is doing on the imc2 bridge)/

That said, the i3 protocol does somewhat take advantage of the fact that it uses mudmode and can transfer more structured data like mappings and arrays. You could do without mudmode for that, but would probably need something like xml, which imho isn't much of an improvement :)

Title: Re: I4
Post by: Adam on September 26, 2014, 08:17:07 pm
Is anyone else working on this, I'm interested in starting on it myself
Title: Re: I4
Post by: Adam on September 30, 2014, 04:40:12 pm
Just Tossing up some ideas for the I4 protocol.

Im thinking about having all I4 servers exchange a list of known servers to connected muds and visa versa and weight them according to use so each mud can build a list of servers. so that if one I4 server is down they will automatically try the next one in the list until a successful connect is made

This would mean all i4 servers will talk to each other, and that anyone can run an i4 server and would not need to be authorised to do so. but servers will build a database of what mud is connected to which server so that traffic isnt seen by servers that dont need to see it for example:

Mud A is connected to Server2
Mud B is connected to Server 1
Mud C is connected to Server 3

Mud A sends a Tell/mail to Mud C, only server 2 and server 3 will see the data, server 1 will see nothing
but if mud as sends a message on a intermud channel lets say dchat, server 1,2 and 3 will see it

Also im thinking of building the I4 router to be standalone, C++ application that's open source
Also i was thinking of encrypting Private Communications?
 
Title: Re: I4
Post by: quixadhal on October 05, 2014, 05:57:23 pm
Just to throw this out here...

I'm sure you guys noticed the recent I3 drama involving our friend Torak, and his attempts to destablize and bring down I3 by exploiting the fact that any MUD can allow anyone to chat over I3 channels.

How do you propose protecting the network from such activities if anyone can setup their own I4 router and automatically join in as an equal partner to everyone else?

Answer:  MUD's will form "cliques", and reject anyone outside their circle of trusted friends, and thus what used to be a unified network will dissolve into a bunch of fiefdoms, and newcomers will pretty much get to talk to each other.

A distributed network is a great solution when there are no trust issues to resolve, or when such things can be verified automatically.  Bit Torrent works well because the files all have a signature that can be checked, so injection of bad data is preventable.  In a chat network, "bad data" doesn't have such a signature.

With a central point of control, you are subject to that admin's idea of what is "fair", which may be annoying if you disagree.  With a distributed network, every single MUD will have to take on the task of playing whack-a-mole and blocking everything they find offensive or disruptive.
Title: Re: I4
Post by: Adam on October 05, 2014, 07:57:06 pm
Just to throw this out here...

I'm sure you guys noticed the recent I3 drama involving our friend Torak, and his attempts to destablize and bring down I3 by exploiting the fact that any MUD can allow anyone to chat over I3 channels.

How do you propose protecting the network from such activities if anyone can setup their own I4 router and automatically join in as an equal partner to everyone else?

Answer:  MUD's will form "cliques", and reject anyone outside their circle of trusted friends, and thus what used to be a unified network will dissolve into a bunch of fiefdoms, and newcomers will pretty much get to talk to each other.

A distributed network is a great solution when there are no trust issues to resolve, or when such things can be verified automatically.  Bit Torrent works well because the files all have a signature that can be checked, so injection of bad data is preventable.  In a chat network, "bad data" doesn't have such a signature.

With a central point of control, you are subject to that admin's idea of what is "fair", which may be annoying if you disagree.  With a distributed network, every single MUD will have to take on the task of playing whack-a-mole and blocking everything they find offensive or disruptive.

Hi Quixadhal,
I have not been aware of this recent problem i have not been around for sometime, i'd like to know more about that if you wouldn't mind giving me the run down in a PM as id like to know more.

I'm more then happy to keep the current centralised model of I3, but as you said people are injecting bad data perhaps I4 should have the ability to automatically  resolve such issues by verifying that data send via muds to other muds is legitimate traffic, I understand it would not be a simple task but I think from a technical point of view it could be done, depending on the exploit being used but at this point my knowledge is lacking unless you can fill me in, I can only speculate.

If we were going with a centralised model: when its live i'd suggest using one dns host with 3 different IPs for example i4.themud.org or i4.lpmuds.net or some domain

1. point to my server
2. pointing to crats server (if he is willing to run a i4 server, i have not asked)
3. another 3rd party

only so people do not need to know IP's and the servers can change IP addresses with out clients needing to be updated, also helps with load balancing and appropriate selection of IPv4 or IPv6.

As for the rules of the network and keeping things fair, I'm happy with the job that's been done so far from my experience things have come along way since the original i3 network. I'd like for crat to continue administering the proposed i4 network
Title: Re: I4
Post by: Newt on October 06, 2014, 02:58:59 am
I'm sure you guys noticed the recent I3 drama involving our friend Torak, and his attempts to destablize and bring down I3 by exploiting the fact that any MUD can allow anyone to chat over I3 channels.

How do you propose protecting the network from such activities if anyone can setup their own I4 router and automatically join in as an equal partner to everyone else?

The structure of the network is moot.  As long as you keep it easy to join the network (as it should be) then the Toraks can just grab another IP and be right back in business.  The way I3 does it with channel owners being their own authority and mud's being held accountable for their people is about as good as it gets.
Title: Re: I4
Post by: Adam on October 06, 2014, 04:04:38 am
well I'm currently waiting for a HP tech to come to my house to fix my laptop... mobo shat it self, once they fix it i'll start writing up the new specs and start designing the new protocols. I can always change the network design a little later

On a side note: the original design of I3 was always to be an open network with no real enforceable rules, and responsibility always fell on the muds it self.

However saying that Muds hosting their own channel I may possibly design it to allow them to make them public or private and allow them to ban offensive muds from their channel (private = by invite, public = anyone can join).. simply just throwing some ideas around nothing is definite feature wise at this stage as its a bit early
Title: Re: I4
Post by: cratylus on October 06, 2014, 08:12:27 am
It's hard to respond to this without giving bad guys good ideas, so I'll keep it vague.

The observation that the protocol started out being open is valid. However, remember the times. Not everyone had the skill, resources, and platform for running a mud. It is now trivial to run a mud from mobile platforms behind varying levels of source obfuscation. The casual approach of dealing with griefers in 1996 manifestly no longer works.

For now this means you need an admin or two that pay attention and responds to threats. Probably this is a weakness in the long term.

One alternative is to develop a network that works on a community consensus as to who is good and who is bad, and has points of trust from which blacklist and whitelists can conveniently be shared, and....and this is the important part....and a protocol whose implementation can be conveniently updated and distributed as new ways of undermining the community arise.

This is a pretty tall order for a community trundling along mostly on momentum. I think we're probably better off having a few trusted community figures run peer i3 nodes, and clean up the Inter Router Networking protocol.

I certainly like the idea of a distributed network: it's less work for me. I just happen to have seen it work poorly (i2) and I think it needs not only a critical mass but also a minimum adoption rate and a very robust maintainership cadre for it to be something other than a pet coding project.

No fense, sorry if this sounds like rain on the parade, and anyway, I hope I'm wrong so dudes like you know who aren't my problem :)

-Crat
Title: Re: I4
Post by: Adam on October 09, 2014, 08:25:47 pm
Is it just me or are there posts missing? and some topics...
like MudOS Mirror @ http://lpmuds.net/smf/index.php?topic=1566.0

DAFUQ?!?!
Title: Re: I4
Post by: cratylus on October 10, 2014, 02:00:14 am
IIRC I wanted to set the forum not to allow people to delete their posts and threads, but when I looked, it wasn't convenient to do with this software.

Maybe things have changed since then, I'll look into it.

-Crat
Title: Re: I4
Post by: Adam on October 10, 2014, 02:58:13 am
IIRC I wanted to set the forum not to allow people to delete their posts and threads, but when I looked, it wasn't convenient to do with this software.

Maybe things have changed since then, I'll look into it.

-Crat

Well the thread i mentioned was started by me and i didn't delete it, its seems as tho lpmuds.net has just gone back in time a couple of days
Title: Re: I4
Post by: cratylus on October 10, 2014, 01:34:04 pm
Bizarre! Could be that the DB server had an issue and got restored. I don't see any evidence of the thread existing other than me remembering it. I'll have to get back to doing nightly backups like I used to, sorry for the inconvenience.

-Crat
Title: Re: I4
Post by: Adam on October 10, 2014, 06:56:00 pm
All good mate, at first i thought i was just tripping its no problem at all