Still looking for a Ruby MUD client

I'm still looking for a Ruby-scriptable Telnet/MUD client. Does
anyone know of one?

Xpertmud hasn't updated in some time, and the project appears to have
gone quiet: http://xpertmud.sourceforge.net/

Bermud hasn't been updated in a couple of years, and has never
released any files: http://rubyforge.org/projects/bermud/

http://jrandomhacker.info/mw/index.php/Telnet

You could make one and make at least one person happy, it seems. :wink:

Sorry I don't know of any.

James Edward Gray II

···

On Aug 20, 2005, at 3:38 PM, Sy wrote:

I'm still looking for a Ruby-scriptable Telnet/MUD client. Does
anyone know of one?

For the interest of the thread-watchers, I found an emerging Ruby mu*
client project: vwmc

vwmc is a cross-platform native Ruby language GTK 2.0 MU* (Telnet)
client written by Mario Steele. It has been released under the LGPL
license.

Homepage:
http://www.trilake.net/vwmc/

My notes:

While not yet in a stable form, its goals will be to create a
client:server model which allows for client-side processing of
scriptlets.

An application has been submitted to RubyForge to open up a project
there. The program is available at:
http://www.trilake.net/vwmc/files/vwmclient-0.1.0.rb and the source
may be obtained with "vwmclient-0.1.0.rb --tar2rubyscript-justextract"

Currently, developers can meet on freenode at #vwmc

···

On 8/20/05, Sy <sy1234@gmail.com> wrote:

I'm still looking for a Ruby-scriptable Telnet/MUD client. Does
anyone know of one?

I seriously thought of that. Then I realised how dismayed I was when
seeing other amateur-night software out there in a "category killer"
position which has been left unfinished for years by the sole
developer.

Frankly, I wouldn't want to fall into that trap.

Yes, this is a very very very big itch of mine.. but somehow a MUD
client doesn't feel like a good newbie project to me.

But it seems so easy.. argh.

I'll think about it.

···

On 8/20/05, James Edward Gray II <james@grayproductions.net> wrote:

On Aug 20, 2005, at 3:38 PM, Sy wrote:

> I'm still looking for a Ruby-scriptable Telnet/MUD client. Does
> anyone know of one?

You could make one and make at least one person happy, it seems. :wink:

Drop by #ruby-lang sometime and ping eumario - he's in the process of
writing one.

martin

···

Sy <sy1234@gmail.com> wrote:

Yes, this is a very very very big itch of mine.. but somehow a MUD
client doesn't feel like a good newbie project to me.

But it seems so easy.. argh.

I'll think about it.

Sy wrote:

>
> > I'm still looking for a Ruby-scriptable Telnet/MUD client. Does
> > anyone know of one?
>
> You could make one and make at least one person happy, it seems. :wink:

I seriously thought of that. Then I realised how dismayed I was when
seeing other amateur-night software out there in a "category killer"
position which has been left unfinished for years by the sole
developer.

Frankly, I wouldn't want to fall into that trap.

Yes, this is a very very very big itch of mine.. but somehow a MUD
client doesn't feel like a good newbie project to me.

But it seems so easy.. argh.

I'll think about it.

I think a MUD is a good newbie project. I would recommend starting writing
code. You will learn as you go, especially if you bounce ideas off more
experienced Rubyists. You could ask questions on this list. This way, you
avoid only half-owning the project. And you can rewrite it later, when you
figure out how you should have written it.

Cheers,
Dave

···

On 8/20/05, James Edward Gray II <james@grayproductions.net> wrote:
> On Aug 20, 2005, at 3:38 PM, Sy wrote:

I've done this a few times, in multiple languages. Highly recommended.

Although I do have the benefit of working a lot on the PennMUSH engine.
The only MUD-related project I've done in ruby that's still around is a
'bot' that connects to the mu* and players utilize online scripted
commands to interact with its features.

If anyone's up for making a ruby mud game for the heck of it, I'm up for
being included.

- Greg

···

On Tue, Aug 30, 2005 at 06:51:22AM +0900, Dave Burt wrote:

I think a MUD is a good newbie project. I would recommend starting writing
code. You will learn as you go, especially if you bounce ideas off more
experienced Rubyists. You could ask questions on this list. This way, you
avoid only half-owning the project. And you can rewrite it later, when you
figure out how you should have written it.

A MUD would be a horrifically complex and lengthy project, which I
have no interest whatsoever in writing.

There is at least one Ruby dungeon out there, and I've no idea what
its status is.. there appears to be a couple of dozen semi-functional
reinventions of the wheel out there, none of which make me
particularly happy. I wouldn't want to go anywhere near that problem
space. =)

I'm better suited to a supporting role for an existing MUD *client*
project.. and even that would be over my head for a good while.

···

On 8/29/05, Dave Burt <dave@burt.id.au> wrote:

I think a MUD is a good newbie project. I would recommend starting writing
code. You will learn as you go, especially if you bounce ideas off more
experienced Rubyists. You could ask questions on this list. This way, you
avoid only half-owning the project. And you can rewrite it later, when you
figure out how you should have written it.

> I think a MUD is a good newbie project. I would recommend starting
writing
> code. You will learn as you go, especially if you bounce ideas off more
> experienced Rubyists. You could ask questions on this list. This way,
you
> avoid only half-owning the project. And you can rewrite it later, when
you
> figure out how you should have written it.

I've done this a few times, in multiple languages. Highly recommended.

Although I do have the benefit of working a lot on the PennMUSH engine.
The only MUD-related project I've done in ruby that's still around is a
'bot' that connects to the mu* and players utilize online scripted
commands to interact with its features.

If anyone's up for making a ruby mud game for the heck of it, I'm up for
being included.

Sounds like fun, a basic engine shouldnt take long, then add features as we
go!

- Greg

···

On 8/30/05, Greg Millam <ruby-talk@lethalcode.net> wrote:

On Tue, Aug 30, 2005 at 06:51:22AM +0900, Dave Burt wrote:

--
Into RFID? www.rfidnewsupdate.com <http://www.rfidnewsupdate.com> Simple,
fast, news.

I wrote my own MUD in Perl a few years back. It's not THAT bad. Just little ole me working alone. Yes it took me quite some time and I guess it only ever made it to "toy" status[1], but I sure did learn a lot doing it. Great fun, I say.

James Edward Gray II

1: Wizards could modify it with Perl code on the fly though. That came out neat!

···

On Aug 29, 2005, at 9:20 PM, Sy wrote:

A MUD would be a horrifically complex and lengthy project, which I
have no interest whatsoever in writing.

FaerieMUD is an interesting Ruby MUD project. I've sat in on a couple of their meeting and traded some emails with them. I didn't stick with the project, because they're very into "big up-front design" and I tend to plan a little and get coding, sorting the rest out as I go.

I mean no disrespect to them and their project though, some of their ideas are pure gold. I highly recommend at least chatting them up, if you're interested in Ruby MUDs...

James Edward Gray II

···

On Aug 29, 2005, at 9:20 PM, Sy wrote:

There is at least one Ruby dungeon out there, and I've no idea what
its status is..

Sy wrote:

A MUD would be a horrifically complex and lengthy project, which I
have no interest whatsoever in writing.

Nah, here's a complete mud in a mere 15 lines of ruby thats loaded with
features.

require 'socket';require 'yaml';def q x;$m.find{|o|o.t==:p&&x==o.n};end
def a r,t;$m.find_all{|o|t==o.t&&(!r||r==o.l)};end;def g z;a(nil,:p).each{|p|
p.p z};end;class O;attr_accessor :i,:n,:l,:e,:s,:t;def initialize n,l=nil,t=:r
@n,@l,@i,@t=n,l,$d+=1,t;@e={};end;def p s;@s.puts(s)if @s;end;def y m
v=$m.find{|o|@l==o.i};t=v.e.keys;case m;when/^q/;@s.close;@s=nil;
File.open('d','w'){|f|YAML::dump $m,f};when/^h/;p "i,l,d,g,c,h,q,<exit>,O,R"
when/^i/;a(@i,:o).each{|o|p o.n};when/^c.* (.*)/;g "#{@n}:#{$1}"
when/^g/;a(@l,:o).each{|q|q.l=@i};when/^d/;a(@i,:o).each{|q|q.l=@l}
when/^O (.*)/;$m<<O.new($1,@l,:o);when/^R (.*) (.*) (.*)/;$m<<d=O.new($1)
v.e[$2]=d.i;d.e[$3]=v.i;when/^l/;p v.n;(a(@l,:p)+a(@l,:o)).each{|x|
p x.n if x.s||x.t=:o};p t.join '|';when/(^#{t.empty? ? "\1" : t.join('|^')})/
@l=v.e[$1];else;p "?";end;end;end;test ?e,'d'||begin;$d=0;$m=[O.new("Home")]
end;$m=YAML::load_file 'd';$d=$m.size;z=TCPServer.new 0,4000;while k=z.accept
Thread.new(k){|s|s.puts "Name";s.gets;l=$_.chomp;d=q l;$m<<d=O.new(l,1,:p)if !d
d.s=s;while s.gets;d.y $_.chomp;end;};end

Enjoy.

···

--
J Lambert

Lyndon Samson wrote:

···

On 8/30/05, Greg Millam <ruby-talk@lethalcode.net> wrote:

If anyone's up for making a ruby mud game for the heck of it, I'm up
for being included.

Sounds like fun, a basic engine shouldnt take long, then add features
as we go!

I've been screwing around...
http://sourcery.dyndns.org/teensymud/index.html

It sort of grew out of that obfuscated mess I just posted.
I code by the seat of me pants. Should have new
release later tonight. There's a subversion repository
for it if you want to join the party or just follow it.

--
J Lambert

Jon wrote:

Nah, here's a complete mud in a mere 15 lines of ruby thats loaded with
features.
...
p x.n if x.s||x.t=:o};p t.join '|';when/(^#{t.empty? ? "\1" : t.join('|^')})/

                   ^
I believe that's a bug - "=" should be "==" :slight_smile:

Cheers,
Dave

Jon A. Lambert wrote:

require 'socket';require 'yaml';def q x;$m.find{|o|o.t==:p&&x==o.n};end
def a r,t;$m.find_all{|o|t==o.t&&(!r||r==o.l)};end;def g z;a(nil,:p).each{|p|
p.p z};end;class O;attr_accessor :i,:n,:l,:e,:s,:t;def initialize n,l=nil,t=:r
@n,@l,@i,@t=n,l,$d+=1,t;@e={};end;def p s;@s.puts(s)if @s;end;def y m
v=$m.find{|o|@l==o.i};t=v.e.keys;case m;when/^q/;@s.close;@s=nil;
File.open('d','w'){|f|YAML::dump $m,f};when/^h/;p "i,l,d,g,c,h,q,<exit>,O,R"
when/^i/;a(@i,:o).each{|o|p o.n};when/^c.* (.*)/;g "#{@n}:#{$1}"
when/^g/;a(@l,:o).each{|q|q.l=@i};when/^d/;a(@i,:o).each{|q|q.l=@l}
when/^O (.*)/;$m<<O.new($1,@l,:o);when/^R (.*) (.*) (.*)/;$m<<d=O.new($1)
v.e[$2]=d.i;d.e[$3]=v.i;when/^l/;p v.n;(a(@l,:p)+a(@l,:o)).each{|x|
p x.n if x.s||x.t=:o};p t.join '|';when/(^#{t.empty? ? "\1" : t.join('|^')})/
@l=v.e[$1];else;p "?";end;end;end;test ?e,'d'||begin;$d=0;$m=[O.new("Home")]
end;$m=YAML::load_file 'd';$d=$m.size;z=TCPServer.new 0,4000;while k=z.accept
Thread.new(k){|s|s.puts "Name";s.gets;l=$_.chomp;d=q l;$m<<d=O.new(l,1,:p)if !d
d.s=s;while s.gets;d.y $_.chomp;end;};end

My brain just melted and started dripping out of my ears. Now I have to go get a tissue and clean up all that mess - I hope you're happy and proud of yourself...

Have a look at my mud,

http://rubymud.reyn.co.za/
http://rubymud.reyn.co.za/images/stories/twopiOG.png for the class diagrams.

Though I'v learned quick alot since starting it.

···

On 8/30/05, Dave Burt <dave@burt.id.au> wrote:

Jon wrote:
> Nah, here's a complete mud in a mere 15 lines of ruby thats loaded with
> features.
> ...
> p x.n if x.s||x.t=:o};p t.join '|';when/(^#{t.empty? ? "\1" : t.join
('|^')})/
^
I believe that's a bug - "=" should be "==" :slight_smile:

Cheers,
Dave

--
Reyn Vlietstra

Dave Burt wrote:

Jon wrote:

Nah, here's a complete mud in a mere 15 lines of ruby thats loaded
with features.
...
p x.n if x.s||x.t=:o};p t.join '|';when/(^#{t.empty? ? "\1" :
t.join('|^')})/

                  ^
I believe that's a bug - "=" should be "==" :slight_smile:

Indeed it is! Thank you.

I've been screwing around...
TeensyMUD 3.0.0 Mud Server

and

···

On Aug 30, 2005, at 12:10 AM, Jon A. Lambert wrote:

On Aug 30, 2005, at 2:59 AM, Reyn Vlietstra wrote:

Have a look at my mud,

http://rubymud.reyn.co.za/
http://rubymud.reyn.co.za/images/stories/twopiOG.png for the class diagrams.

Though I'v learned quick alot since starting it.

These are both neat projects. Thank you both for sharing!

James Edward Gray II

I look for months for a ruby mud client or at least something that can
script in it and I come up dry.. a side-comment on mud engines
themselves generates huge interest. =)

A mud engine which can support 500 people on a moderate setup whose
mechanics are a bit more complecated than the original
Rolemaster/spacemaster rpg.. no, I'm not going there just yet,
although it would be an interesting way to make my revised game
mechanics come to life.

Reyn Vlietstra wrote:

Have a look at my mud,

http://rubymud.reyn.co.za/
http://rubymud.reyn.co.za/images/stories/twopiOG.png for the class
diagrams.

Very nice. I see you settled for BaseObject and I Obj. In another version I used Thing. I'm thinking of just redefining Object as there's no reason Ruby should be allowed to appropriate that perfectly good name for itself. :wink:

···

--
J Lambert