Multiplayer (Controlling multiple session)

sarcastro
Posts: 1
Joined: Mon Nov 11, 2013 5:37 pm

Re: Multiplayer (Controlling multiple session)

Post by sarcastro »

Ah, what a shame that this isn't possible yet, I was excited to switch to a modern client with an active community.

I'm in the same boat as Leshrack, I play on a mud that allows you to have 3 characters signed in simultaneously (4 on certain weekends) so without the connections/windows being able to communicate & send commands easily between one another I'm better off sticking with my buggy Wintin95 abandonware.

As an example... in Wintin95 I can create 3 sessions, let's call them 'stop', 'drop' and 'roll':
#ses stop game.server.com 5000
#ses drop game.server.com 5000
#ses roll game.server.com 5000


I can switch to any of those sessions/windows with:
#stop
#drop
#roll


Or send a command to a session/window without switching over to it:
#stop buy bread
#drop cast 'iron skin'
#roll flee


Once my aliases, triggers and notifications are set up properly I can spend most of my time controlling all of them from one session.

Definitely let me know if this situation changes though, Mudlet looks way better in all other respects hands down but unfortunately this particular thing is a deal killer for me.

Cheers!

Saros
Posts: 12
Joined: Sat Oct 15, 2016 10:10 pm

Re: Multiplayer (Controlling multiple session)

Post by Saros »

Any chance this will make it into Epsilon?

Like a few others, these features are deal breakers for me.

Mudlet looks amazing. I am itching to put all the hardwork that has already gone into it to use!

User avatar
Vadi
Posts: 4941
Joined: Sat Mar 14, 2009 3:13 pm

Re: Multiplayer (Controlling multiple session)

Post by Vadi »

It's not something we're actively working on - this seems to be a very little-used feature. Wouldn't mind if someone was looking into adding this, though.

User avatar
SlySven
Posts: 995
Joined: Mon Mar 04, 2013 3:40 pm
Location: Deepest Wiltshire, UK
Discord: SlySven#2703

Re: Multiplayer (Controlling multiple session)

Post by SlySven »

I had an idea a while back that I never fully implemented that allowed one active profile to raise a "Event" in a round robin to every other active profile in order (so that the sender "received" the event after all the others - so it knew it had been sent all around) - I got tied down in how to handle multiple (variable number of) arguments but the basic idea seems sound enough in order to break out of the sand-box that isolates each profile from each other.

Otherwise you might envisage using lua file system commands with (possibly named) pipes between the profiles but that may well be platform specific (and certainly a bit harder IMHO, to do on a non-POSIX platform).

I will see if I can track down and finish what I looked at doing but I'm not sure when it will emerge into the light of day (or at least off my hard-disk) as there are a few other issues we are trying to nail down for the current code base. ;)

Saros
Posts: 12
Joined: Sat Oct 15, 2016 10:10 pm

Re: Multiplayer (Controlling multiple session)

Post by Saros »

I am new to mudlet and have not looked at events in depth. But, the functionality of being able to pass anything from profile to profile should be enough, no?

Passing one argument should suffice and make us multi players VERY happy.

User avatar
SlySven
Posts: 995
Joined: Mon Mar 04, 2013 3:40 pm
Location: Deepest Wiltshire, UK
Discord: SlySven#2703

Re: Multiplayer (Controlling multiple session)

Post by SlySven »

Yeah, each profile has it's own Lua subsystem and they are totally isolated from each other - including the current normal "User" Events - obviously some "System" ones, like "sysIrcMessage", and "sysExitEvent" get sent to all profiles at an appropriate time but until I (or someone else) puts that extra feature in, there is not a currently implemented way to simply pass information between profiles.

At one time I think we may have intended for each Profile to run in it's own thread so it could be independent as far as possible from other Profiles - Mudlet is currently not multi-threaded in that way (there are some Qt library stuff that themselves operate in separate threads). From what I understand of such applications though it does require careful coding to get the behind the scenes stuff for each profile to talk to the main thread that will be operating the GUI (the bits the user interacts with) which is - of course - shared between Profile instances. :geek:

Nyyrazzilyss
Posts: 334
Joined: Thu Mar 05, 2015 2:53 am

Re: Multiplayer (Controlling multiple session)

Post by Nyyrazzilyss »

SlySven wrote:I got tied down in how to handle multiple (variable number of) arguments but the basic idea seems sound enough in order to break out of the sand-box that isolates each profile from each other.
I wouldn't worry about passing multiple arguments: Just a single argument (that happens to be a user defined table)

Jor'Mox
Posts: 1101
Joined: Wed Apr 03, 2013 2:19 am

Re: Multiplayer (Controlling multiple session)

Post by Jor'Mox »

Maybe a new system level event could be created, which is raised via a user calling a specific function, with the arguments to the function being passed along as the arguments accompanying the event. That way you are essentially reusing existing code, and just repurposing it, rather that starting from scratch.

User avatar
SlySven
Posts: 995
Joined: Mon Mar 04, 2013 3:40 pm
Location: Deepest Wiltshire, UK
Discord: SlySven#2703

Re: Multiplayer (Controlling multiple session)

Post by SlySven »

Well that is exactly what I had put together ;) - but like the other event things it could only handle a string, a number, and now possibly a boolean or a nil argument - we haven't (IIRC) got table capability... :geek:

User avatar
SlySven
Posts: 995
Joined: Mon Mar 04, 2013 3:40 pm
Location: Deepest Wiltshire, UK
Discord: SlySven#2703

Re: Multiplayer (Controlling multiple session)

Post by SlySven »

<aside>I was going to suggest In the meantime, as a workaround, it might be worth a look at IRC - events from IRC are delivered to all the profiles in parallel (well, actually in profile load serial order) - then I remembered that the IRC system is hardwired to a(n available Freenode) Server so you could not run a local one just to echo things from one profile to all of them - or others on your LAN should you try to multi-play on MUD clients on multiple systems (has anyone ever done THAT?) - so that is not an option.</aside>

Post Reply