Stunt+Improvise is well suited to building immersive, collaborative, Web-based applications—specifically, applications where every user is a programmer.
Together, Stunt+Improvise comprise:
The pluggable, flexible, extensible MOOcode parser/compiler framework.
Details on plastic syntax
Table of contents.
Specify start scripts when starting the Stunt server.
$int_proto defines the verbs that can be called on integers.
The Dialog Extras package contains objects that extend Dialog: file server, db object server, upgrade protocol handler, and logger.
Dialog is the Stunt HTTP server.
The identity package provides mechanisms for establishing player/user identity.
The Alt Package contains the basic player hierarchy and defines a basic set of VR verbs.
If you can build the LambdaMOO server and run LambdaCore (or similar legacy database) you shouldn't have any problems compiling and running Stunt+Improvise. I have personally had success with both Linux and OSX.
git clone firstname.lastname@example.org:toddsundsted/stunt.git git clone email@example.com:toddsundsted/improvise.git
Build the Stunt server:
cd stunt ./configure make cd ..
In order to connect to a brand-new database you need to define bootstrap passkeys for the two default players. The default players and the passkeys should only be used in a trusted development environment. The passkeys are set via environment variables. The Wizard player has full access to the database and server.
export Stunt_Passkey_Wizard=<passkey> export Stunt_Passkey_Programmer=<passkey>
Run the Stunt server on the Improvise database. The server will start listening for telnet connections on port 7777 and web (HTTP) connections on port 8888.
cd improvise ../stunt/moo Improvise.db Improvise.db.new
In your browser, connect to the running server (http://localhost:8888/) and enter the appropriate player's passkey credentials and press "Connect". You will drop into a web-based console from which you can explore the server.
If you like, you can also connect via telnet:
telnet localhost 7777
Note: Heroku support is proof-of-concept and is currently only suitable for trying out Stunt+Improvise without the hassle of building your own server—it is otherwise not ready for prime-time.
Fork/clone the Improvise repository.
git clone firstname.lastname@example.org:toddsundsted/improvise.git cd improvise
Create a Heroku app and specify the Stunt buildpack:
heroku create <appname> --buildpack https://github.com/toddsundsted/heroku-buildpack-stunt
Add Heroku as a remote:
heroku git:remote -a <appname>
In order to connect to a brand-new database you need to define bootstrap passkeys for the two default players. The default players and the passkeys should only be used in a trusted development environment. In Heroku, the passkeys are set via config variables. The Wizard player has full access to the database and server.
heroku config:set Stunt_Passkey_Wizard=<passkey> heroku config:set Stunt_Passkey_Programmer=<passkey>
Commit changes to git and push to Heroku:
git push heroku master
Open in the browser:
Enter the appropriate player's passkey credentials and press "Connect". You will drop into a web-based console from which you can explore the server.
Note: The current release of Stunt+Improvise is for hackers only—the new code is reasonably well covered by tests and I use it extensively in my own projects... but consider yourself warned.
I'm available via the MOO-talk Google Group. Post questions and comments there.