Frostbite

User Guide

Logo

MUD client for dragonrealms.

Introduction
  1. Installation
  2. Application software
  3. Getting started
User interface
  1. Client settings
  2. Maps
  3. Profiles
  4. Server-side flags and settings
  5. Media - screenshots
Scripting
  1. Basics
  2. Scripting API
  3. Scripting with Lich
  4. Development

View the Project on GitHub matoom/frostbite

This project is maintained by matoom

Hosted on GitHub Pages — Theme by orderedlist

Scripting

The Frostbite client scripting support is provided by the Ruby scripting engine and will therefore require the Ruby runtime libraries to be installed.

Ruby scripting engine provides a flexible and powerful scripting support. It is easy to use for beginners while offering countless advanced features to tackle more complex tasks when needed.

High level description

The scripting API is entirely written in Ruby, the code is located and executed in the “scripts/lib” folder. Scripts are run by calling the “main.rb” Ruby wrapper in the background. All real time data for the Ruby process is provided over standard output (pipes). On-demand data can be exchanged using a custom TCP client->server solution.

The API Server opens a localhost socket on a random available port and stores the connection info into “api.ini” settings file. Using these stored settings the client is able to open up a socket connection to start a data sharing session which is based on a simple plain-text protocol. i.e “GET RT -> 0”

The script execution flow from the frontend is as following:

For example: command line -> .braid vines -> main.rb “braid.rb vines” -> runs -> braid.rb vines.

The scripting API includes:

The scripting API functions are described in more detail in the API section.