Forum: Ruby Ruby as a MUD language

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
0daee4fcb36e971f74c8e3b25c46c099?d=identicon&s=25 unknown (Guest)
on 2005-12-14 04:25
(Received via mailing list)
I'm thinking about building a new MUD server (for those who are less
ancient than I, think "MUD == text only MMORPG"). I'd like to allow
players to build and program objects in the world, but I'd rather avoid
having to write my own programming language. I was wondering whether an
existing scripting language like Ruby might be useable?

The first problem is, of course, that I don't want the players to be
able to do _everything_ the language offers. Their code should only
affect the running of the world, and they should not be able to change
or delete files on my system or do other nasty things.

I'm aware of the $SAFE setting and the tainting procedure, but I'm not
sure how I could use this to do what I want. Any suggestions?

Malcolm
Ff63c03fd68754adbadd2c6314646bef?d=identicon&s=25 Bill Guindon (agorilla)
on 2005-12-14 04:34
(Received via mailing list)
On 12/13/05, malcolm.ryan@gmail.com <malcolm.ryan@gmail.com> wrote:
>
> I'm aware of the $SAFE setting and the tainting procedure, but I'm not
> sure how I could use this to do what I want. Any suggestions?

Well, this isn't exactly an answer to your question, but...
Have you heard of FaerieMUD?
http://www.faeriemud.org/
E34b5cae57e0dd170114dba444e37852?d=identicon&s=25 Logan Capaldo (Guest)
on 2005-12-14 04:40
(Received via mailing list)
On Dec 13, 2005, at 10:22 PM, malcolm.ryan@gmail.com wrote:

> affect the running of the world, and they should not be able to change
> or delete files on my system or do other nasty things.
>
> I'm aware of the $SAFE setting and the tainting procedure, but I'm not
> sure how I could use this to do what I want. Any suggestions?
>
> Malcolm
>
>

This is the usual idiom for "super" safe code:

Thread.new do
     $SAFE = 4
     eval(code)
end

However, someone will always find a way to mess things up. What I
would suggest is a combination of this plus having the mud running in
at least two processes. The one on which the user code runs would run
as a user with almost no filesystem permissions, but would have a way
to communicate with the other process (such as drb). You then provide
an API to do things that require persisting stuff to disk. ie rather
that them doing

File.open("new_character_class.class", "w") do |file|
  # create a chraacter class
end

you have something like:

CharacterClass.add_class("new_character_class", ...)
4299e35bacef054df40583da2d51edea?d=identicon&s=25 James Gray (bbazzarrakk)
on 2005-12-14 05:22
(Received via mailing list)
On Dec 13, 2005, at 9:33 PM, Bill Guindon wrote:

> Well, this isn't exactly an answer to your question, but...
> Have you heard of FaerieMUD?
> http://www.faeriemud.org/

More MUDs in this thread:

http://rubyurl.com/Mhl

And another Ruby MUD had the best announcement I've ever seen on this
list:

http://rubyurl.com/OG8

James Edward Gray II
C5be24289f1471f3da84864a6677af12?d=identicon&s=25 Garance A Drosehn (Guest)
on 2005-12-15 08:01
(Received via mailing list)
On 12/13/05, malcolm.ryan@gmail.com <malcolm.ryan@gmail.com> wrote:
>
> I'm thinking about building a new MUD server (for those who are less
> ancient than I, think "MUD == text only MMORPG"). I'd like to allow
> players to build and program objects in the world, but I'd rather avoid
> having to write my own programming language. I was wondering whether an
> existing scripting language like Ruby might be useable?

If you are hoping to create a MUD with some object-oriented language,
then the result would probably be called a "MOO".

Building an entire MOO from scratch is going to be a lot of work,
particularly if you want it to be reliable in all the
little-boring-details,
such as handling many simultaneous network connections (some of
which will be going haywire...), and not having some tiny memory
leak which turns into gigabytes of wasted memory after the MOO
has been up-and-running for 10 weeks straight.  You'll also probably
want some notion of access-levels, such that users can modify the
objects they create, but they don't modify the objects which
implement the login-sequence to your virtual world.

You might want to start with some already existing MOO, like the
LambdaMOO project at sourceforge, and then change that such
that the language is more ruby-like.  Of course, that would also be
a project that requires a lot of work!

Some friends and I use a slightly-modified version of LambdaMOO
for a chat-system we wrote, and it handles many of the details that
we probably never would have done right.  And even *with* all that
work done, there is plenty of work in defining our actual "virtual
world" that we never get around to everything we'd like to do.

There are many things I like about LambdaMOO, but certainly I
would like it more if the language "looked and felt" more like ruby!
E34b5cae57e0dd170114dba444e37852?d=identicon&s=25 Logan Capaldo (Guest)
on 2005-12-16 17:54
(Received via mailing list)
On Dec 15, 2005, at 2:00 AM, Garance A Drosehn wrote:

> If you are hoping to create a MUD with some object-oriented language,
> objects they create, but they don't modify the objects which
> work done, there is plenty of work in defining our actual "virtual
> world" that we never get around to everything we'd like to do.
>
> There are many things I like about LambdaMOO, but certainly I
> would like it more if the language "looked and felt" more like ruby!
>
> --
> Garance Alistair Drosehn     =             drosihn@gmail.com
> Senior Systems Programmer               or   gad@FreeBSD.org
> Rensselaer Polytechnic Institute;             Troy, NY;  USA
>


As far as handling all the connection garbage, the FaerieMUD guys
have this to offer:
http://www.deveiate.org/projects/MUES
0daee4fcb36e971f74c8e3b25c46c099?d=identicon&s=25 unknown (Guest)
on 2005-12-19 23:43
(Received via mailing list)
Bill Guindon wrote:
> On 12/13/05, malcolm.ryan@gmail.com <malcolm.ryan@gmail.com> wrote:
> > I'm thinking about building a new MUD server (for those who are less
> > ancient than I, think "MUD == text only MMORPG"). I'd like to allow
> > players to build and program objects in the world, but I'd rather avoid
> > having to write my own programming language. I was wondering whether an
> > existing scripting language like Ruby might be useable?
>
> Well, this isn't exactly an answer to your question, but...
> Have you heard of FaerieMUD?
> http://www.faeriemud.org/

Does MUES allow in-game building by players?
It's not immediately apparent from the web pages.

Malcolm
E34b5cae57e0dd170114dba444e37852?d=identicon&s=25 Logan Capaldo (Guest)
on 2005-12-20 09:56
(Received via mailing list)
On Dec 19, 2005, at 5:42 PM, malcolm.ryan@gmail.com wrote:

>> Well, this isn't exactly an answer to your question, but...
>> Have you heard of FaerieMUD?
>> http://www.faeriemud.org/
>
> Does MUES allow in-game building by players?
> It's not immediately apparent from the web pages.
>
> Malcolm
>
>

I don't believe MUES is intended to be that high level. I don't
believe MUES even provides the whole room/object concept. It just
handles the serving of information to the client and multiplexing the
IO. Any in-game building would be coded at a higher level than MUES.
You could look at FaerieMUD itself and see if that provides in game
building. (I suspect not, FaerieMUD seems to be a very classically
styled RPG (as opposed to a more Second Life-esque MUD (sorry can't
remember the acronym for those kinds of MUDs, MUSH maybe?), at least
in terms of flavor, if not necessarily implementation.)
F34031ae8309f14d14d6939a2ee596d1?d=identicon&s=25 Tobias Jonch (Guest)
on 2005-12-20 15:06
(Received via mailing list)
> Bill Guindon wrote:
>>> I'm thinking about building a new MUD server (for those who are less
>>> ancient than I, think "MUD == text only MMORPG"). I'd like to allow
>>> players to build and program objects in the world, but I'd rather
>>> avoid
>>> having to write my own programming language.
Hey Gang :-)

I recently joined this list because I too am building a MUD with Ruby.

Bill, you absolutely must to check out TeensyMUD:
http://sourcery.dyndns.org/teensymud/index.html

I doubt you'll find anything more suitable for your needs.

Regards,
Massaria
3203ed0e608d3bfae1e31282e629ffa2?d=identicon&s=25 Peter Fitzgibbons (Guest)
on 2006-01-21 04:36
(Received via mailing list)
On 12/20/05, Tobias Jonch <joench@gmail.com> wrote:
>
> Bill, you absolutely must to check out TeensyMUD:
> http://sourcery.dyndns.org/teensymud/index.html
>
> I doubt you'll find anything more suitable for your needs.
>
> Regards,
> Massaria
>
>
Ok all,

I'm amped on toying with a Ruby Mud...
WHO is serving one (not "trial size") ???

Thanks.

--
Fe9b2d0628c0943af374b2fe5b320a82?d=identicon&s=25 Eero Saynatkari (rue)
on 2006-01-21 04:57
Tobias Jonch wrote:
>> Bill Guindon wrote:
>>>> I'm thinking about building a new MUD server (for those who are less
>>>> ancient than I, think "MUD == text only MMORPG"). I'd like to allow
>>>> players to build and program objects in the world, but I'd rather
>>>> avoid
>>>> having to write my own programming language.
> Hey Gang :-)
>
> I recently joined this list because I too am building a MUD with Ruby.
>
> Bill, you absolutely must to check out TeensyMUD:
> http://sourcery.dyndns.org/teensymud/index.html
>
> I doubt you'll find anything more suitable for your needs.
>
> Regards,
> Massaria

Here is where I have been :)

E, also known as Muir
86b36e556cec3b988cae0bc907cbbfc6?d=identicon&s=25 Jon A. Lambert (Guest)
on 2006-01-21 11:54
(Received via mailing list)
Eero Saynatkari wrote:
> Tobias Jonch wrote:
>>
>> Massaria
>
> Here is where I have been :)
>
> E, also known as Muir

You shouldn't be here.
You should be admiring my 1st rails app over at
http://teensymud.kicks-ass.org
Well.. then you can come back here if you like. ;-)

I'm am going to release it, but I fear being arrested for abuse of MVC.
86b36e556cec3b988cae0bc907cbbfc6?d=identicon&s=25 Jon A. Lambert (Guest)
on 2006-01-21 12:06
(Received via mailing list)
Peter Fitzgibbons wrote:
> Ok all,
>
> I'm amped on toying with a Ruby Mud...
> WHO is serving one (not "trial size") ???
>
> Thanks.

I have a page which lists all the ruby mud projects I know of.
http://teensymud.kicks-ass.org/wiki/show/OtherRubyMuds

I think only FaerieMud is close enough to be serving up more than just a
bite size game.
This topic is locked and can not be replied to.