MQ2DanNet - MMOBugs Wiki

Revision as of 01:04, 15 December 2018 by Fry (talk | contribs) (Created page with "{{Pluginbox |name=MQ2DanNet |author=dannuic }} ==Description== This plugin is designed to be a serverless peer network. It is (hopefully) mostly plug and pla...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Plugin Info
Name MQ2DanNet
Author dannuic

Description

This plugin is designed to be a serverless peer network. It is (hopefully) mostly plug and play, and should automatically discover peers for most local network configurations.

Some Notes about Setup

  • Some complicated network topologies won't be supported (a server interface is a better solution)
  • If for some reason the peers aren't self-discovering on a local network
 * check the output of `/dnet interface`
 * set one of the discovered interface names with `/dnet interface <name>`
 * failing that, I'll have to look into why, so contact me with as much info as possible


Use

There are 2 basic uses 1. Set up an observer

 * Methods of setting up an observer
   * `/dobserve <name> <query>`
   * `${DanNet[<name>].Observe[<query>]}` or `${DanNet[<name>].O[<query>]}`
 * Reading an observer's data: `${DanNet[<name>].Observe[<query>]}` or `${DanNet[<name>].O[<query>]}`
 * Dropping an observer: `/dobserve <name> <query> drop`

2. Single-use direct query

 * Submitting a query: `/dquery <name> [-q <query>] [-o <result>] [-t <timeout>]`
   * Combines `/delay` with `/varset`
   * `timeout` is optional, and the default can be configured
   * `result` is optional, will just write out the result if omitted
   * If not run in a macro, ignores `result` and just writes out

Queries

A query is simply a normal TLO access from the perspective of the peer with the external `${}` stripped Examples:

  • `Me.CurrentMana`
  • `Target.ID`
  • `Me.Current$\{thing}` -- this will evaluate `${thing}` on the peer before sending a response
      1. Names

A fully-qualified name is `<server>_<character>`, but if you only intend to communicate on your own server, you can ommit the first part and use just `<charactername>` in all these commands. Examples:

  • Locally talk to fatty: `/dtell fatty You smell.`
  • Talk to fatty on the test server: `/dtell test_fatty I can still smell you from this server!`