[MUD-Dev] Scripting languages

Dr. Cat cat at realtime.net
Thu Jul 3 05:15:44 CEST 2003


Kwon J. Ekstrom wrote:
> Lars Duening wrote:
>> On Monday, June 30, 2003, at 11:07 PM, Mark 'Kamikaze' Hughes wrote:

>>> If you don't trust someone, my first instinct is to not give
>>> them scripting access.  If you do give them scripting access,
>>> they can break your system if they so choose.  Making a custom
>>> language won't stop that.  Only social solutions will work.

>> *nod* But a custom language implementation can help enforcing the
>> social solutions by raising the bar for wannabe crackers and
>> limiting the possible damage.

> I personally don't see how writing a custom language helps much
> against malicious code.

It depends on what you make the language capable of doing.  If you
start with the unquestioned assumption that your language must do
all the kinds of things that most other current programming
languages do, then you'll likely run into the same pitfalls.  My
language DragonSpeak was designed from a radically different
perspective.  I wanted it to be event based, english-like, easy for
non-programmers to use, have primitives related to game elements, be
execution and bandwidth efficient, and make it impossible for people
to generate infinite loops or array overflows.  Given the design
goals of the language, it just doesn't have any security problems.
I would have had to go out of my way to add some in!  The only
problem with it was in the early days, when the interpreter wasn't
optimized enough (and our server was a Pentium 90), user scripts
that did frequent enough global operations on the whole map could
use up too much server CPU and lag the system.  Unwinding some loops
and inlining some subroutine calls optimized it sufficiently that
it's never been a problem since.

Anyway if security is your only goal, it's certainly acheivable.  If
you have other goals that conflict with it (like "making the
language able to do everything that C++ can do"), then you might run
into trouble.  Not that such goals aren't valid for some MUD
projects - I just don't want to see people make assumptions without
realizing they're doing so.  There are other options about how to do
scripting languages.

*-------------------------------------------**-----------------------------*
   Dr. Cat / Dragon's Eye Productions       ||       Free download!
*-------------------------------------------**   http://www.furcadia.com
  Supporting user-created graphical worlds. ||  Let your imagination soar!
*-------------------------------------------**-----------------------------*
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list