Skip to content
Alex May edited this page May 2, 2020 · 12 revisions

Welcome to ArtMOO

This software provides a modern, real-time multi-user text only server with extensions specifically designed for artists and creatives that want to experiment with crossing between the virtual world and real world, however it is a solid base for designing any virtual world, including games.

You can create rich interactive worlds that visitors can log into remotely from anywhere in the world and communicate with each other as though they're sitting in the same room, which at the moment is a rather useful feature.

Features:

  • Telnet and WebSocket connections, meaning you can connect to it using a command line, a web browser (via fTelnet), or any MUD/MOO client
  • Extremely fast Lua scripting engine, commonly used for commercial games
  • Perform HTTP GET requests to pull external data into your virtual world
  • Open Sound Control (OSC) support for communicating with a wide range of other software and hardware. When a user presses a button in the virtual world, you can use this to trigger events in the real world
  • Serial Port support for communicating directly with Arduino boards (or any other hardware). You can have buttons in the real world triggering actions in the virtual world or vice versa
  • Built in full screen text editor allowing comfortable remote editing of verbs, and properties using just a telnet client
  • Support for XML style tags to add ANSI colour styling to text and injecting player names and even calling verbs dynamically
  • SMTP support for sending emails
  • Comes with both GUI and Daemon servers
  • GUI server allows live editing and coding of the whole system
  • GUI editor features verb syntax highlighting
  • Transaction support that preserves database integrety and user experience if there are errors in any code
  • Powerful command prompt that supports many ReadLine style editing keys and command history
  • Password read mode that doesn't echo user input
  • Extensible listener interface that currently supports Telnet over TCP and WebSockets
  • JSON parsing
  • Support for importing and exporting modules of code from the database
  • Signal and Slot functionality allowing linking of object functionality without hard coding dependencies
  • Properties support bool, number (floating point), string, object id, and map types
  • Task system that supports calling code in the future or on recurring schedule
  • Support for message localisation

Getting Started

There are two applications available to you:

  • Server - a GUI application that runs a MOO server and allows you to modify it in real-time
  • Daemon - a console application that runs a MOO server

If you are just getting started or want to do some major editing, such as when you're getting started, you should run the Server application.

When you want to deploy your MOO and have it run headless on a server then you can use the Daemon application.

The database and configuration files are the same for both applications so you can edit in the Server and copy the files to the Daemon, and vice versa.

The software compiles on Windows, macOS, and Linux and runs great on Raspberry Pi.

Logging In

Regardless of which application you choose to run, the MOO opens up a TCP/IP port at 1123 for Telnet connections.

In your terminal/command line, enter the following:

telnet localhost 1123

You should see something like:

Trying ::1...
Connected to localhost.
Escape character is '^]'.
-------------------------------------
Welcome to the default ArtMOO database
-------------------------------------
ArtMOO is written by Alex May
https://github.com/bigfug/moo
https://www.alexmayarts.co.uk
-------------------------------------

Enter your username, NEW to register, or GUEST to visit:

Type in the username 'sysop' (without quotes), press ENTER, then at the password prompt, type in 'password' (again, without quotes), and press ENTER.

You are now logged into the MOO.

The Default Database

As of v1.0.0 there is a default database that has the following features:

  • Basic user registration system
  • Guest accounts
  • Creating rooms and adding details
  • Chatting (via 'say') and emoting (via 'emote')
  • Adding exits between rooms
  • Creating objects that can be picked up, or locked in place

Tutorials

Tutorials for using the default database (recommended) are here:

There are also older tutorials for creating a database from scratch. A bit out of date now and aimed more as a low level reference.

Author

ArtMOO is written and maintained by digital artist Alex May.

Find details of his work at https://www.alexmayarts.co.uk/

Clone this wiki locally